hi

New Release - Land for Sale in Ilkeston, Derbyshire

The land forms an excellent block of highly productive arable land totalling over 15 acres. It is perfectly placed between Derby and Nottingham, with excellent transport links and just 3 miles from Ilkeston town centre.




hi

New Release - Land for Sale in Melton Mowbray, Leicestershire

A well managed block of agricultural land for sale available freehold as a whole or in lots suitable for paddock conversion. The land benefits from extensive road frontage and superb track access.




hi

New Release - Land for Sale in Buckinghamshire, Water End

Just one lot of lush grazing land for sale in Buckinghamshire, one of the most affluent counties in the UK. The land measures approx 2.5 acres and with superb access, would be ideal for paddock conversion.




hi

Performance Counters in Delphi, sample project and article

Implementing performance monitors in your app is very helpful for profiling, debugging and general satisfaction of the more qualified endusers. It's also a non-trivial excercise, to put it mildly. Microsoft have done their part in making it obscure and hard to use, so naturally, we can't leave it alone, can we? This particular implementation only implements raw and delta counters, but that covers almost anything you'll ever need. The basis is there for other types of counters, though, such as instance based counters and high-precision. Both precompiled and full project source is available.




hi

12C: IN DATABASE ARCHIVING

In this post, I will demonstrate a new feature introduced in 12c : In database archiving. It enables you to archive rows within a table by marking them as invisible. This is accomplshed  by means of a hidden column ORA_ARCHIVE_STATE. These invisible rows are not visible to the queries but if needed, can be viewed , by setting a session parameter ROW ARCHIVAL VISIBILITY.

Overview:

-- Create test user uilm, tablespace ilmtbs
-- Connect as user uilm
-- create and populate test table (5 rows) ilmtab with row archival clause
-- Note that the table has an additional column ORA_ARCHIVE_STATE automatically created   and has the default value of 0 (indicates that row is active)
-- Note that this column is not visible when we describe the table or simply issue select * from ...
-- We need to access data dictionary to view the column
-- Make two  rows in the table inactive by setting ORA_ARCHIVE_STATE column to a non zero value.
-- Check that inactive rows are not visible to query
-- Set the parameter ROW ARCHIVAL VISIBILITY  = all to see inactive rows also
-- Set the parameter ROW ARCHIVAL VISIBILITY  = active to hide inactive rows
-- Issue an insert into ... select * and check that only 3 visible rows are inserted
-- Set the parameter ROW ARCHIVAL VISIBILITY  = all to see inactive rows also
-- Issue an insert into ... select * and check that all the rows are inserted but ORA_ARCHIVE_STATE    is not propagated in inserted rows
-- Disable row archiving in the table and check that column ORA_ARCHIVE_STATE is automatically dropped
-- drop tablespace ilmtbs and user uilm

Implementation :

-- Create test user, tablespace and test table
SQL> conn sys/oracle@em12c:1523/pdb1 as sysdba
sho con_name

CON_NAME
------------------------------
PDB1

SQL> set sqlprompt PDB1>

PDB1>create tablespace ilmtbs datafile '/u02/app/oracle/oradata/cdb1/pdb1/ilmtbs01.dbf' size 1m;
grant connect, resource, dba  to uilm identified by oracle;
alter user uilm default tablespace ilmtbs;

conn uilm/oracle@em12c:1523/pdb1
sho con_name

CON_NAME
------------------------------
PDB1
-- create table with "row archival clause"
PDB1>drop table ilmtab purge;
create table ilmtab (id number, txt char(15)) row archival;
insert into ilmtab values (1, 'one');
insert into ilmtab values (2, 'two');
insert into ilmtab values (3, 'three');
insert into ilmtab values (4, 'four');
insert into ilmtab values (5, 'five');
commit;
-- Note that the table has an additional column ORA_ARCHIVE_STATE automatically created    and has the default value of 0 (indicates that row is active)
PDB1>col ora_archive_state for a20
select id, txt, ora_archive_state from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
1 one             0
2 two             0
3 three           0
4 four            0
5 five            0
-- Note that this column is not visible when we describe the table or simply issue select * from ...
PDB1>desc ilmtab
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ID                                                 NUMBER
TXT                                                CHAR(15)

PDB1>select * from ilmtab;

ID TXT
---------- ---------------
1 one
2 two
3 three
4 four
5 five
-- Since the column is invisible, let me try and make it visible
-- Note that Since the column is maintained by oracle itself, user can't modify its attributes
PDB1>alter table ilmtab modify (ora_archive_state visible);
alter table ilmtab modify (ora_archive_state visible)
*
ERROR at line 1:
ORA-38398: DDL not allowed on the system ILM column
-- We need to access data dictionary to view the column
-- Note that this column is shown as hidden and has not been generated by user
PDB1>col hidden for a7
col USER_GENERATED for 20
col USER_GENERATED for a20

select TABLE_NAME, COLUMN_NAME, HIDDEN_COLUMN, USER_GENERATED
from user_tab_cols where table_name='ILMTAB';

TABLE_NAME  COLUMN_NAME          HID USER_GENERATED
----------- -------------------- --- --------------------
ILMTAB      ORA_ARCHIVE_STATE    YES NO
ILMTAB      ID                   NO  YES
ILMTAB      TXT                  NO  YES
-- We can make selected rows in the table inactive by setting ORA_ARCHIVE_STATE column to a non zero value.
This can be accomplished using update table... set ORA_ACRHIVE_STATE =
. <non-zero value>
. dbms_ilm.archivestatename(1)

-- Let's update row with id =1 with ORA_ARCHIVE_STATE=2
     and update row with id =2 with dbms_ilm.archivestatename(2)
PDB1>update ilmtab set ora_archive_state=2 where id=1;

update ilmtab set ora_archive_state= dbms_ilm.archivestatename(2) where id=2;
-- Let's check whether updates have been successful and hidden rows are not visible
PDB1>select id, txt, ORA_ARCHIVE_STATE from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
3 three           0
4 four            0
5 five            0
-- The updated rows are not visible!!
-- Quite logical since we have made the rows active and by default only active rows are visible

-- To see inactive rows also, we need to set the parameter ROW ARCHIVAL VISIBILITY  = all at session level
-- Note that the column ORA_ARCHIVE_STATE has been set to 1 for id =2 although we had set it to 2 using
dbms_ilm.archivestatename(2)
PDB1>alter session set ROW ARCHIVAL VISIBILITY  = all;
select id, txt, ORA_ARCHIVE_STATE from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
1 one             2
2 two             1
3 three           0
4 four            0
5 five            0
-- Note that the column ORA_ARCHIVE_STATE has been set to 1 for id =2 although we had set it to 2 using    dbms_ilm.archivestatename(2)

-- Let's find out why
-- Note that The function dbms_ilm.archivestatename(n) returns only two values    0 for n=0 and 1 for  n <> 0
PDB1>col state0 for a8
col state1 for a8
col state2 for a8
col state3 for a8

select dbms_ilm.archivestatename(0) state0 ,dbms_ilm.archivestatename(1) state1,
dbms_ilm.archivestatename(2) state2,dbms_ilm.archivestatename(3) state3  from dual;

STATE0   STATE1   STATE2   STATE3
-------- -------- -------- --------
0        1        1        1
-- In order to make the inactive rows (id=1,2) hidden again, we need to set the parameter ROW ARCHIVAL VISIBILITY  = Active
PDB1>alter session set row archival visibility = active;
select id, txt, ORA_ARCHIVE_STATE from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
3 three           0
4 four            0
5 five            0
-- Let's issue an insert into ... select *
-- Note that only 3 new rows are visible
PDB1>insert into ilmtab select * from ilmtab;

select id, txt, ora_archive_state from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
3 three           0
4 four            0
5 five            0
3 three           0
4 four            0
5 five            0

6 rows selected.
-- I want to check if hidden rows were also inserted
-- Let's check by making  hidden rows visible again
-- Note that only visible rows(id=3,4,5) were inserted
PDB1>alter session set row archival visibility=all;
select id, txt, ora_archive_state from ilmtab;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
1 one             2
2 two             1
3 three           0
4 four            0
5 five            0
3 three           0
4 four            0
5 five            0

8 rows selected.
-- Let's set row archival visibility = all and then again insert rows from ilmtab
-- Note that all the 8 rows are inserted but ORA_ARCHIVE_STATE ha not been copied    ORA_ARCHIVE_STATE <> 0 in only 2 records (id = 1,2) even now.
PDB1>alter session set row archival visibility=all;
insert into ilmtab select * from ilmtab;
select id, txt, ora_archive_state from ilmtab order by id;

ID TXT             ORA_ARCHIVE_STATE
---------- --------------- --------------------
1 one             0
1 one             2
2 two             0
2 two             1
3 three           0
3 three           0
3 three           0
3 three           0
4 four            0
4 four            0
4 four            0
4 four            0
5 five            0
5 five            0
5 five            0
5 five            0

16 rows selected.
-- Disable row level archiving for the table
-- Note that as soon as row archiving is disabled, pseudo column ora_archive_state is dropped automatically
PDB1>alter table ilmtab no row archival;
select id, txt, ORA_ARCHIVE_STATE from ilmtab;

ERROR at line 1:
ORA-00904: "ORA_ARCHIVE_STATE": invalid identifier

PDB1>col hidden for a7
col USER_GENERATED for 20
col USER_GENERATED for a20

select TABLE_NAME, COLUMN_NAME, HIDDEN_COLUMN, USER_GENERATED
from user_tab_cols where table_name='ILMTAB';

TABLE_NAME  COLUMN_NAME          HID USER_GENERATED
----------- -------------------- --- --------------------
ILMTAB      ID                   NO  YES
ILMTAB      TXT                  NO  YES
Note : Had we created this table using sys, we could not have disabled row archiving .

-- cleanup --
PDB1>conn sys/oracle@em12c:1523/pdb1 as sysdba
drop tablespace ilmtbs including contents and datafiles;
drop user uilm cascade;
References:

http://docs.oracle.com/cd/E16655_01/server.121/e17613/part_lifecycle.htm#VLDBG14154

----------------------------------------------------------------------------------------------------

Oracle 12c Index

----------------------------------------------------------------------------------------------

 




hi

Recursive WITH, part II: Hierarchical queries

articles: 

In my last post, I looked at using recursive WITH to implement simple recursive algorithms in SQL. One very common use of recursion is to traverse hierarchical data. I recently wrote a series of posts on hierarchical data, using Oracle’s CONNECT BY syntax and a fun example. In this post, I’ll be revisiting the same data using recursive WITH.

There are dozens of examples of hierarchical data, from the EMP table to the Windows Registry to binary trees, but I went with something more fun: the skeleton from the old song “Dem Dry Bones”.

Quote:
Toe bone connected to the foot bone
Foot bone connected to the heel bone
Heel bone connected to the ankle bone
Ankle bone connected to the shin bone
Shin bone connected to the knee bone
Knee bone connected to the thigh bone
Thigh bone connected to the hip bone
Hip bone connected to the back bone
Back bone connected to the shoulder bone
Shoulder bone connected to the neck bone
Neck bone connected to the head bone

Since every bone has only one ancestor, and there is a root bone with no ancestor, this is hierarchical data and we can stick it in a table and query it.

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

You can see that I added some ribs and an arm to make the skeleton more complete!

Using Oracle’s CONNECT BY syntax:

SQL> col bone FOR a10
SQL> col connected_to_the FOR a9
SQL> col level FOR 99
SQL> col bone_tree FOR a27
SQL> col path FOR a65
 
SELECT bone, connected_to_the, level, 
lpad(' ',2*level, ' ') || bone AS bone_tree , 
ltrim(sys_connect_by_path(bone,'>'),'>') AS path
FROM skeleton
START WITH connected_to_the IS NULL
CONNECT BY prior bone=connected_to_the 
ORDER siblings BY 1

BONE       CONNECTED LEVEL BONE_TREE                   PATH
---------- --------- ----- --------------------------- -----------------------------------------------------------------
head                     1   head                      head
neck       head          2     neck                    head>neck
shoulder   neck          3       shoulder              head>neck>shoulder
arm        shoulder      4         arm                 head>neck>shoulder>arm
wrist      arm           5           wrist             head>neck>shoulder>arm>wrist
finger     wrist         6             finger          head>neck>shoulder>arm>wrist>finger
back       shoulder      4         back                head>neck>shoulder>back
a rib      back          5           a rib             head>neck>shoulder>back>a rib
b rib      back          5           b rib             head>neck>shoulder>back>b rib
c rib      back          5           c rib             head>neck>shoulder>back>c rib
hip        back          5           hip               head>neck>shoulder>back>hip
thigh      hip           6             thigh           head>neck>shoulder>back>hip>thigh
knee       thigh         7               knee          head>neck>shoulder>back>hip>thigh>knee
leg        knee          8                 leg         head>neck>shoulder>back>hip>thigh>knee>leg
ankle      leg           9                   ankle     head>neck>shoulder>back>hip>thigh>knee>leg>ankle
heel       ankle        10                     heel    head>neck>shoulder>back>hip>thigh>knee>leg>ankle>heel
foot       heel         11                       foot  head>neck>shoulder>back>hip>thigh>knee>leg>ankle>heel>foot
toe        foot         12                         toe head>neck>shoulder>back>hip>thigh>knee>leg>ankle>heel>foot>toe

The above CONNECT BY query uses the LEVEL pseudocolumn and the SYS_CONNECT_BY_PATH function. With recursive WITH, there’s no need for these built-ins because these values fall naturally out of the recursion.

Let’s start with the basic hierarchical query rewritten in recursive WITH.
The hierarchical relationship in our table is:
Parent(row.bone) = row.connected_to_the

WITH skellarchy (bone, parent) AS
 ( SELECT bone, connected_to_the FROM skeleton 
   WHERE bone = 'head'                         -- Start with the root
 UNION ALL
   SELECT s.bone, s.connected_to_the 
   FROM skeleton s, skellarchy r
   WHERE r.bone = s.connected_to_the           -- Parent(row.bone) = row.connected_to_the
 )
SELECT * FROM skellarchy;

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

Because we built up the SKELLARCHY table recursively, it’s easy to make an equivalent to the LEVEL pseudocolumn; it falls right out of the recursion:

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           
 )
SELECT * FROM skellarchy;

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

and it’s also easy to build up a path from root to the current node like the “SYS_CONNECT_BY_PATH” function does for CONNECT BY queries:

WITH skellarchy (bone, parent, the_level, the_path) AS
 ( SELECT bone, connected_to_the, 0, CAST(bone AS varchar2(4000)) FROM skeleton 
   WHERE bone = 'head'                         
 UNION ALL
   SELECT s.bone, s.connected_to_the , r.the_level + 1, r.the_path || '->' || s.bone
   FROM skeleton s, skellarchy r
   WHERE r.bone = s.connected_to_the           
 )
SELECT * FROM skellarchy;

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

and we can use our generated the_level column to make a nice display just as we used the level pseudocolumn with CONNECT BY:

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           
 )
SELECT lpad(' ',2*the_level, ' ') || bone AS bone_tree FROM skellarchy;

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

Now, the bones are coming out in a bit of a funny order for a skeleton. Instead of this:

    shoulder
      back
      arm
        hip
        wrist
        a rib
        b rib
        c rib
          thigh
          finger

I want to see this:

    shoulder
      arm
        wrist
          finger
      back
        a rib
        b rib
        c rib
        hip
          thigh

The rows are coming out in BREADTH FIRST ordering – meaning all siblings of ‘shoulder’ are printed before any children of ‘shoulder’. But I want to see them in DEPTH FIRST: going from shoulder to finger before we start on the backbone.

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
SELECT lpad(' ',2*the_level, ' ') || bone AS bone_tree FROM skellarchy
ORDER BY bone_order;

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

And now the result looks more like a proper skeleton.

Now on to cycles. A cycle is a loop in the hierarchical data: a row is its own ancestor. To put a cycle in the example data, I made the skeleton bend over and connect the head to the toe:

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

And now if we try to run the query:

ERROR at line 2:
ORA-32044: cycle detected while executing recursive WITH query

With the CONNECT BY syntax, we can use CONNECT BY NOCYCLE to run a query even when cycles exist, and the pseudocolumn CONNECT_BY_IS_CYCLE to help detect cycles. For recursive WITH, Oracle provides a CYCLE clause, which is a bit more powerful as it allows us to name the column which is cycling.

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, is_a_cycle FROM skellarchy
--where is_a_cycle='N'
ORDER BY bone_order;

BONE_TREE                                                    I
------------------------------------------------------------ -
head                                                         N
  neck                                                       N
    shoulder                                                 N
      arm                                                    N
        wrist                                                N
          finger                                             N
      back                                                   N
        a rib                                                N
        b rib                                                N
        c rib                                                N
        hip                                                  N
          thigh                                              N
            knee                                             N
              leg                                            N
                ankle                                        N
                  heel                                       N
                    foot                                     N
                      toe                                    N
                        head                                 Y

The query runs until the first cycle is detected, then stops.

The CONNECT BY syntax does provide a nice pseudocolumn, CONNECT_BY_ISLEAF, which is 1 when a row has no further children, 0 otherwise. In my next post, I’ll look at emulating this pseudocolumn with recursive WITH.


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




hi

Half Hidden ... HNT

I know that it's "Half Nekkid Thursday", but this week about the best that I can offer is fully naked and partially hidden. I spent the entire day helping my little sister pack and get ready for her move. When I got home I was just too tired to be very creative.

My Sister bought a house in Denver proper. The entire distance of her move is about twelve miles, but I swear that it couldn't be more trouble if she was moving across the country.

I absolutely love the neighborhood she's moving to. It's called Washington Park and I'm so jealous that I half want to strangle the brat...

Click this button to learn about HNT






hi

te koop: shimano aspire competition 13m nieuw

te koop: shimano aspire competition 13m nieuw. topsets en cupset apart verkrijgbaar.tophengel elastiek gemonteerd. eventueel ook op 14.5m verkrijgbaar.




hi

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.




hi

Need to Know Players: Washington Nationals

Dr. Roto breaks down two players you may want to target from the Washington Nationals in your 2016 Fantasy Baseball draft!




hi

Testing the Third-Year WR Breakout Theory

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




hi

ChinaSprout.com




hi

This Week's Idiot Award

I'm a Neo-Nothing:

Last Friday, fallen neo-conservative blogger (and wannabe journalist) Ben Domenech (who was fired for plagiarism just hours after being recruited by the Washington Post) said:
"To my friends: thank you for your support. To my enemies: I take enormous solace in the fact that you spent this week bashing me, instead of America."
What an ego. That embarrassing episode has left a stain on the entire blogosphere and only proves what the Fisk has been saying all along. So I'll raise Domenech's ante by saying that I take enormous pride in being a neo-nothing, 'cause to be neo-anything is to be a (not so neo) IDIOT. (Pun most definitely intended).

Related links: politics, humor, blogging, fun, satire, ben domenech
Poof, went right over his head. I'm baaaaaaaaaack!




hi

McCain Attacks Bloggers, Sinks Ship with Loose Lips

That's no easy feat even for an old navy man such as John McCain. He says bloggers are old enough to fight his damn wars but not enough to speak our mind.

Think Progress notes McCain's attack on the blogosphere:

When I was a young man, I was quite infatuated with self-expression, and rightly so because, if memory conveniently serves, I was so much more eloquent, well-informed, and wiser than anyone else I knew. It seemed I understood the world and the purpose of life so much more profoundly than most people. I believed that to be especially true with many of my elders, people whose only accomplishment, as far as I could tell, was that they had been born before me, and, consequently, had suffered some number of years deprived of my insights…It’s a pity that there wasn’t a blogosphere then. I would have felt very much at home in the medium.
Damn the torpedoes and full steam ahead. I think we've just been broadsided matey.

Very wittily said John, but all you've accomplished is to demonstrate your ignorance of the Blogosphere. If you only knew how old I really am (but don't you dare ask).

So I guess we've all been told. So much for freedom of speech. Maybe we should put an age limit on it. Now there's an idea for you John. There outta be a law.
In 2000, John McCain called Rev. Jerry Falwell an “agent of intolerance.” Yesterday, in a naked attempt to broaden his political base, McCain delivered the commencement speech at Falwell’s Liberty University. McCain’s hypocrisy was noted on many blogs. He returned the favor in his speech at Liberty by attacking the blogosphere.
A commentor also noted:
McCain’s lurch to the right begs the following question: Could it be possible that Republicans are also saddled with shitty consultants?
Psst... here's a dirtly little secret. McCain's a mole. So now you know.

Related links: daily fisk, news, us-news, in the news, news and politics, politics, political, john+mccain, blogging, blogosphere, humor, fisk




hi

Uber Microsoft Propogandist Scoble Jumps Ship

Slippery Bloggers getting their Palms Greased

Robert Scoble has joined that elite group of A-listers who have successfully exploited their new found fame in the blogosphere. He is reported to be leaving Microsoft for a more lucrative job offer.

Scoble was quoted as saying:
"I wish to thank Bill Gates for giving me an opportunity at Microsoft catapulting me onto the blogger A-list. But above all I wish to thank my loyal suckup fans who have made this all possible. For without you I am nothing".
Amen brother.

Todays Blog Quiz:

So what is the difference between a self-serving politician, and a self-serving blogger?

Absolutely nothing.

Related links: computing, internet, computers and internet, technology, tech, scobleizer, humour, humor, satire, microsoft, bill+gates




hi

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."




hi

Finished with the Upgrade (I think):

Ok, hopefully it will be back to business tomorrow. I'm finished with the upgrades (at least for now). At first glance you may not notice much difference but I can assure you that it was a lot of work. The site has many new embellishments that should make your browsing experience all the more enjoyable, as well as more productive. There's too much to mention so let's just say it was worth the effort.

Enjoy!




hi

Full Custom T-Shirt Drop Shipping

Would you like to Dropship custom t-shirts? Click Here Now, it's easy!



  • Apparel
  • dropship custom t-shirts
  • starting a tshirt business with no money
  • tshirt business from home
  • tshirt business online

hi

Start Your Own Blank T-Shirts Drop shipping Business

Buy Blank T-Shirts, start your own dropshipping t-shirt business. shipping to United States and Canada, fixed pricing for shipping.



  • Apparel
  • blank t-shirt
  • blank tees
  • blank tshirt
  • dropship tshirt business
  • starting a tshirt business with no money
  • tshirt business from home
  • tshirt business online

hi

Monthly Blank T-Shirt Delivery

Monthly Blank T-Shirt Delivery to you or your family/customers home. This is a monthly delivery service; you can cancel at any time. You can use the Contact Us form to make cancellation requests.



  • Apparel
  • Monthly Blank T-Shirt Delivery

hi

Tasmanian Fashion Festival

Photography – @Styudio_b The Tasmanian Fashion Festival is an annual event that celebrates the fashion industry in Tasmania, Australia. It showcases the work of local designers, models, and fashion retailers, and provides a platform for emerging talent to gain exposure and recognition. The festival features a series of fashion shows, where designers can showcase their...




hi

Living Vehicle CyberTrailer

CyberTrailer for Tesla’s Cybertruck Tesla’s Cybertruck can’t tow just any camper. Living Camper is bringing its expertise in high-end campers to the CyberTrailer, a dual-axle camper with angular styling that fits the Cybertruck theme perfectly. The CyberTrailer draws power from a rooftop solar array and can act as a charging station and can even recharge...





hi

Ford schickt Kölner Beschäftigte in Kurzarbeit

Ford hat für sein Kölner Werk Kurzarbeit angemeldet. Hintergrund sei die schwache Nachfrage nach Elektroautos. Der Autobauer will deshalb im kommenden Jahr weniger Fahrzeuge in Köln bauen.




hi

Kommentar zum Wahltermin: Zeichen der Stabilität in unruhigen Zeiten

Deutschland steckt in einer Regierungskrise, die schnell beendet werden sollte, meint Mario Kubina. Der parteiübergreifend gefundene Termin sorgt nun für Klarheit und bevorteilt weder SPD noch Union.




hi

Nahost-Liveblog: ++ US-Militärhilfe wird nicht eingeschränkt ++

Die USA werden ihre Militärhilfe für Israel nicht einschränken. Washington hatte dies vor einem Monat angedroht. Israel will offenbar erneut Einberufungsbefehle für Ultraorthodoxe ausstellen. Die Entwicklungen vom Dienstag zum Nachlesen.




hi

Ukraine-Liveblog: ++ cheidende US-Regierung will Ukrainehilfe verstärken ++

Die scheidende US-Regierung will laut Außenminister Blinken die Ukraine noch im vollen Umfang unterstützen. Kiew wird erstmals seit August von den russischen Streitkräften mit Raketen beschossen. Die Entwicklungen im Liveblog.




hi

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





hi

Avoiding Internet Scams:10 Things You Can Do to Avoid Fraud

Con artists often insist that people wire money, especially overseas, because it's nearly impossible to reverse the transaction or trace the money. Donate  wire money to strangers, to sellers who insist on wire transfers for payment, or to someone who claims to be a relative in an emergency (and wants to keep the request a secret.. Avoiding Internet Scams:10 Things You Can Do to Avoid Fraud




hi

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




hi

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




hi

Don't Get Caught In This Trap

I received an email a few days ago from a former member
of my organization asking if I was still a member of my
current company to which I replied "But of course!"

I asked him to tell me a little bit about why he left
and why he wanted to return so that I could figure out
a proper sponsor for him.

His reply email resembled what I think happens to many.
He went of and tried other internet marketing business
models with some success, but not to the level that he
had envisioned and he realized that the income he was
creating was not as leveraged as that which network
marketing provides and so . . . he's back searching.

Some of the details I've left out, but a story with
lots of twists and turns, hard work and small rewards
all leading back to one path - network marketing.

In his reply email he said "Now that I've revealed my
story to you, GIVE me someone to work with so that I
can decide if I want to return."

To this I have not responded yet and the reason is
this, I'm not convinced that this particular person is
really looking to rejoin for the right reasons or if
he's just looking for something that can produce an
income.

It's dangerous to begin an association with any
business solely for money, it rarely works out.

For network marketing to work for you, you must have a
connection to your company and it's products that is
BIGGER than how much money you can make or you'll lack
the focus needed for true breakthrough success.

Make sure you see more than just dollar signs when you
look at your business if you want it to work. True
excitement and enthusiasm should be present when
marrying yourself to an opportunity.

Sometimes this is apparent from the outside and
sometimes it grows on you, but if you're in a business
for an extended period of time and the only thing you
can talk to prospects about is how much money they can
make you're in the wrong place.

Tomorrow I'm going to be discussing the principles of
direct marketing for internet network marketing, a
topic I've never really seen discussed, be on the
lookout.



There is an extremely limited time offer going on right
below you're noses. Follow the link here and you'll
find a limited opportunity to get access to Internet
ML'M Success for more than half off. Hurry!
==> http://www.opportunity-waits.com




hi

Today Is That Day . . . (Open This NOW!!!)

I've heard the cries from the team and I can't hold them
back any longer. It's time to do all over again, and it's
time to do it even better.

Let's take it up a notch with a team Co-op!

I am excited about this month's, but this month is
different.

Why?

I already now the exact formula for HUGE success in running
a team co-op, and this month I get to push the envelop even
further!

Just read this email and you'll see what I mean!

Ok guys, it's time to quit playing around.

Our business is growing by leaps and bound.

So, it's time to pull together as a team and do it again!

The best way to do this is through a massive advertising
campaign and the best time to do it is NOW.

Let me give you a little history behind why I started the
team co-op:

I've spoken to and helped trained 100s of people over the
past year and I know not all of you on the team have the
expertise to run your business online at the same level that
I and a couple of our team leaders can.

Month's back we started a co-op to help bridge this gap in
marketing expertise so that every member of our team that
has the drive, but maybe not the marketing skill at this
time can get in on the action too.

How will the co-op work?

Each member of the co-op will purchase a share.

Our team leaders will locate and investigate the best places
to run our advertisements and then we will place the ads.

Once the ad runs, each member of the team who purchases a
share in the co-op will receive their EQUAL share of the
traffic produced.

What are the advantages of having an ad co-op?

The advantage of this is that we will be able to leverage
the experience and knowledge of those who are doing well as
an entire team.

I personally sponsored 85 team members so far, and I want to
use my knowledge and track record of success to help give
you a jump-start towards doing the same.

Think what happens when we combine my track record of
success with a much larger budget in a way that everyone on
the team can take advantage of?

Well that's what the co-op is all about - shared success.

I want everyone on our team to have the opportunity to
achieve financial freedom through their business.

This ad co-op is a powerful step in that direction. (And
really . . . it get's better ever single month)

Two other big benefits of the ad co-op . . .

1. Spreading risk: By doing our advertising as a team no one
will be at the mercy of one bad ad. What I mean is . . . If
you're out there placing ads alone and you spend $80 on one
ad that just tanks your $80 in the whole. On the other hand,
if you put you ad dollars into our co-op your risk will be
spread over several ads so you will have more upside
potential and less overall risk.

2. Your prospects will love the fact that we have an
advertising co-op and many will be happy to have the option
to simply have us do all their advertising for them. This
will be a great benefit to point out while prospecting.

The specifics for this month:

What I'll do first is re-evaluate my best ad spots from
last month and then our team leaders and I will simple turn
the traffic back on and start generating traffic from these
sources immediately.

The benefit of doing this is that we already know that these
ad spots have a track record for success, so we know that
these ads will do well.

This means we'll get a higher response rate per dollar spent
from the outset. (Using our team co-op funds effectively and
efficiently is the key to our success)

Here is where it gets exciting!

This aspect of the co-op will be partially known as a
"Perpetual Co-op"

Here's why . . .

In my marketing of our business I have found that I generate
the best quality of leads and new team members through
people that join my business by buying one of my information
products first and then being exposed to the business.

These people have raised there hand and said that they are
interested in improving how they promote their network
marketing business using the power of the Internet by the
simple fact that they purchased from me.

When these people subsequently join they are business
builders and not just business lookers. Further, in
promoting an Info Product online I have been able to
generate lists of targeted subscribers that know and trust
me.

Who better to shoot a quick email to invite them to join our
team?

When I send email like this to my own lists generated by
promoting a front end product I have my highest conversion
ratio of lead to sign up compared against any other online
method I have ever used.

Why?

Because in this model instead of borrowing someone else's
list of subscriber for a one time ad I'm able to create my
own list that I can develop a relationship with and market
to whenever I want.

That's true leverage. (And it works big time!)

As a team we can do far more advertising than I can
personally do as one person and hence we can recruit many
more high quality team members than I can as one person
using this method.

The largest benefits of this is that the sales that are
generated will ADD to the initial co-op marketing budget.

That's why I call this portion of the co-op a "Perpetual Co-
op".

To make it simple:

It means more leads, better leads, and higher conversions
for everyone involved.

Let's take this to the next level!

As you can see, your team leaders are out here working hard
for you. I've personally never been involved in a co-op as
extensive as ours and this has already set us apart from the
rest of the crowd.

I am proud to be able to serve the team in such a fashion.

Everyone who participates in the ad co-op will get one share
as I discussed earlier and we will disperse the traffic
equally via a URL rotator so everyone will get an equal
amount of traffic per share.

When leads fill out your opt in page you just follow up via
email or phone with your prospect and when they sign up
under you, you get the credit!

That's using leverage if you asked me!

The reason that I am putting this co-op together is I want
to insure our team's success. As I said before I want to
help as many as I can attain financial freedom here with
Success University

Guys and gals I'm throwing out all the stops!

My heart is beating so fast just thinking of what's to come!


I will only ever see success in our future and you have my
word that I will NEVER give up on you as long as you don't
give up on your dreams.

There is absolutely NO reason why we cannot be the fastest
growing team here at Success University for years to come!

In order to make this co-op run successfully I am looking I
am putting a cap on the number of shares.

This month we will take no more than 50 shares at $80
share. Each participant may purchase up to but NO MORE THAN
THREE shares this month up until that cap is met.

This will keep results consistent and targeted by limiting
our shares in this way.

Get your share now to share in our team's success.

You may use a tracking link this month to track your
progress if you like. Also you may purchase up to 3 shares
but NO more! (Just reminding you . . .)

Use the links below to reserve your share!

http://mlm-successsite.com/training/Coop%20Program.html

[Team Exclusive] IMPORTANT!!!

I will leave our team co-op window for enrolment until all
available shares are sold or for one week at the most!

http://mlm-successsite.com/training/Coop%20Program.html



To Your Success!

John




hi

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




hi

This Wednesday-Byrd Baggett Part 3 of a 4 Part Series!

Since June, Byrd Baggett has been a regular guest on the SU faculty teleseminar as he shares a 4 part series called "Going Deep - How to Grow Your Career and Life to the Level of Significance"

The earlier sessions were powerful! Instructive! Emotionally stirring! In short the first two calls were some of the most touching events I have ever been involved in... until now!

If you think this all sounds like hype, I challenge you to discover the power of this message by joining us on Wednesday August 15 at 8pm Central as we continue on this potentially life changing journey.

Byrd Baggett
Wednesday, August 15 at 8pm Central
(512) 225-9483
Pin 486309#



Hi Millionaire,

When you are ready to "Go Deep" in your life and you grow to the level of significance, you would be wise indeed to carefully select a guide for your journey. We want to inspire you to celebrate your entrepreneurial spirit and challenge you to be your best.

Byrd Baggett is one of the best people I could ask to guide us to the other side, to that place of freedom, success and happiness. A significant life.

In this session, entitled "Drought Proof" - How to harness the transformational power of perseverance" Byrd Baggett will show us how to incorporate the power of perseverance into our lives. You will learn how to look at life through the windshield, not the rear-view mirror.

Following are some of the powerful, practical, and applicable insights that will be shared:

How to conquer fear


How to overcome the addiction of perfection


"The Rule of Ten" - You will learn five simple acts of daily disciplinethat will transform your life, both personally and professionally.

Success University listeners will be the first to hear these powerful insights!

Make plans to join us, as Byrd shows us how to grow to the richly rewarding Season of Significance. As participants from Byrd's previous sessions will attest, this promises to be a transformational experience.



Who is Byrd Baggett?

Byrd Baggett's passion and expertise is helping people and teams grow to the level of significance. His presentations are as original and memorable as his name. His mission is to transform people and teams by teaching them the skills essential to developing relationships that stand the tests of time and change.

Byrd is the world's most prolific creator of original quotes and acronyms. He is the author of over 2,500 quotes and acronyms that have been published in thirteen best-selling books, including four on the topic of leadership. These books have sold in excess of one million copies and have been published in nine languages. His quotes and articles on leadership, sales, motivation, and customer service have been featured in many publications, including Reader's Digest, Bits & Pieces, Guide Posts, and Selling Power magazine.

He achieved All American status as a collegiate athlete, had successful careers with two Fortune 500 companies, and built a successful multi-million dollar business. Byrd's powerful words, coupled with his engaging real-life stories, celebrate the winning spirit and challenge people to discover the winner within.



A standing ovation for Byrd Baggett:

I can't remember when I've received 100% positive comments from any company-sponsored event. What you accomplished is beyond the reach of your peers. Your passion for your Mission, your love for people, and your commitment to excellence is a combination that I've not experienced before in my 30 years in the business world. Thanks to you, we at Protective Life have a renewed sense of purpose and a developing vision on what it takes to become effective leaders.
~Dave Keyes, Senior Vice President, Protective Life Corporation

I have been associated with training and development for thirty years and have heard some truly excellent presentations, and yours is as good as it gets! As long as there are individuals like you delivering the powerful message of servant leadership, there is hope for organizations.
~Gary Sullivan, Indian River Community College

I just wanted to thank you for the positive impact you've had on my life. I now have a new enthusiasm about my business and personal life. I have become a better husband, father, friend, and leader of my business from listening to you speak.
~Andy Malone, 2005 Agent of the Year, Farmers Insurance

I would like to highlight several unique characteristics that make your work so specialÉ An incredible ability to connect with people on a personal level, a sincere passion and interest in helping people grow, and the ability to positively impact everyone with several memorable quotes to call upon in times of reflection in our daily lives. I recommend your services to anyone wishing to inspire and expand their capabilities for achieving true success and happiness, both professionally and personally.
~Joel Goode, Gilead Sciences

As a member of Success University you get access to all these faculty calls plus lots more as part of your membership. Has the cost of a cup of coffee a day ever brought you so much?

John O'Driscoll

mlm-successsite.com




hi

Tulsa TV issue of 'This Land' this week

The webmaster wrote one of the articles in the fifth issue of This Land magazine, coming out this Friday. Preview of the cover and list of stories at a link in GroupBlog 320.




hi

Origin of TTM in This Land Press online

From online article in This Land Press: "TULSA TV MEMORIES: Find out the backstory of how Mike Ransom's interest in the obscure led him to start one of Tulsa's most vibrant and celebrated websites." Link in GroupBlog 320.




hi

Mazeppa article/interview in This Land

Now online at This Land: Mazeppa: The Uncanny Film Festival and Camp Meeting by Lindsey Neal. The article includes interviews with Gailard Sartain and Jim Millaway. Link in GroupBlog 321.




hi

Gary Chew reviews "Everything Must Go"

Will Ferrell is Nick, recently-fired regional VP of sales and backsliding alcoholic whose wife put his ass out in the grass. Rebecca Hall is Samantha, newly moved in across the street from Nick, pregnant and awaiting her husband's arrival to settle down to Arizona living. Laura Dern is Delilah, divorced former high school bud of Nick's, living in the area with her two kids. She and Nick haven't seen each since graduation. Opens at the Circle Cinema 5/13.




hi

New exhibit at THS: KAKC Radio

Tulsa Historical Society opens a new exhibit today at 4:30 pm: "The Big 97: Tulsa's KAKC Radio". Includes a Q and A session with former KAKC personalities. Adults $5, Seniors $3 - Members FREE. More in GroupBlog 328.




hi

Gary Chew reviews "Higher Ground"

Actress Vera Farmiga makes her directorial debut in this contemporary story of a thirtysomething married woman and mother dealing with her faith. Now playing.




hi

Tulsa TV Memories on This Land today

This Land Press is featuring my article about TTM today. They also have a new TV show debuting March 7. Check it out.




hi

Pic: Phil and Carter on KOTV Kids Karnival, 1951

Phil Lassiter sent this promo photo of himself and Carter Brown, both around 12, playing and sining in this early live KOTV kiddie show.




hi

TNP - Deep Breathing Exercise

Gives a detailed, step-by-step guide to undertaking deep breathing exercise for cleansing and relaxation.




hi

British Maltese Cross Ash Grey T-Shirt

British Union Jack Flag Maltese Cross T-Shirt for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.




hi

British Maltese Biker Cross Fitted T-Shirt

British Union Jack Flag Maltese Biker Cross T-Shirt for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.




hi

British Maltese Biker Cross Golf Shirt

British Union Jack Flag Maltese Biker Cross Polo Shirt for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.




hi

British Maltese Biker Cross Hooded Sweatshirt

British Union Jack Flag Maltese Biker Cross Hoodie for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.




hi

British Maltese Biker Cross Jr. Baby Doll T-Shirt

British Union Jack Flag Maltese Biker Cross Baby Doll T-Shirt for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.




hi

British Maltese Biker Cross Long Sleeve T-Shirt

British Union Jack Flag Maltese Biker Cross Long Sleeve T-Shirt for those that are into British motorcycles and choppers like Triumph, Norton and BSA - British Union Jack Maltese Biker Maltese Iron Chopper Cross t-shirts, sweatshirts and other cool stuff for British bikers, chopper riders, motorcyclists and fans of British motorcycles and the freedom motorcycling brings. Excellent gift for fans or riders of Triumph, Norton and BSA or custom built choppers and motorcycles.