Thursday, August 21, 2008

How To Create Your Own Perpetual Traffic Machine

Copyright © 2008 Titus Hoskins


The Internet is such an unknown commodity anything is possible. One of the most intriguing questions concerns the idea of a perpetual traffic machine. Create a website and design a system of automatic programs (both interior and exterior) that delivers content and backlinks to a site that updates itself automatically and keeps growing without any help from the creator. In the process you build a flow of traffic that never stops, even if the site is abandoned or not touched for a couple of years or never again.

Is such a perpetual traffic system really possible? Before you conjure up pictures of HAL and creepy talking computers in distant space... realize that question may carry more weight than it would seem at first glance. But is it like its predecessor, the perpetual motion machine - just more an illusion than actual fact? For curiosity's sake if for nothing else, the idea of a perpetual traffic machine does require further investigation. Such a system would have special interest for millions of webmasters whose main task is acquiring traffic for their sites, not to mention the potential for monetary gain a PTM (rhymes with ATM) would produce. Some credence was given to the idea recently when Tinu Abayomi-Paul, a well-known online free traffic expert, produced with the help of Marlon Sanders an info-product entitled "The Evergreen Traffic Machine."

Tinu's story is very interesting. Tinu had built up a whole array of sites and optimized them successfully for countless keywords in all the major search engines. She had built up a steady flow of traffic, resulting in thousands of visitors "a day" to her sites. This in itself is not that extraordinary, but that's not the full story. Because of a personal illness she abandoned or left alone most of her sites for over a year or more - only to discover the traffic systems she had put into place didn't just dry up, they still kept producing tons of traffic even though the sites weren't being updated.

The traffic was still coming. The traffic was still fresh. Tinu basically built her perpetual traffic system around three major areas: High Profile Article Marketing, Exact Keyword Focus and Blogging/RSS Feeds. Tinu's system proves you can create a traffic system for a year or two, but the real question is will it still produce traffic five years from now? Fifty years from now? How about a hundred years? The real question: how long will such a system work without fresh input of unique content like the viral articles and blog posts now feeding it? This question is even more tantalizing when you consider it is now possible to create fresh content on your sites with RSS feeds, blog comments and user contributed content.

What's more intriguing is the fact that all aspects of a website can be automated, including payment for all renewals: domain, hosting, autoresponders... as well as the collection of revenues such as affiliate commissions and advertising fees.

Are we at the stage where the Internet will be filled with these automated human-less web sites drawing traffic/visitors and slowly building and expanding on their own for eternity? Many cynics would argue this is already the case with the majority of sites on the web. In case you like that idea and want to fully embrace this brave new automated perpetual Internet, here are a few tips to create your own eternal traffic machine:

1. Build lists and pre-load your AR system with follow-up messages to keep visitors coming back to your site. You can rotate these messages and ask your subscribers to opt-in to different lists on related subject areas. Always ask your readers to recommend your content to others.

2. Use social bookmark software or links so that your visitors can easily bookmark your content which brings in both new links and new traffic. Simple programs like the one offered by Addthis.com will get your visitors building your backlinks for you, bringing in fresh visitors who in turn will also bookmark your content.

3. Write viral articles, reports and ebooks that have your backlinks in the resource boxes. Likewise, viral software programs can help bring a constant flow of traffic to your site. If your content is of a high quality and your themes universal... new sites will pick up your content and build your backlinks, creating fresh traffic. The search engines will also index these new links and your rankings will increase, bringing in more traffic.

4. Use blogging and RSS feeds to get your content out there. You can also use these RSS feeds to bring in new fresh content to your site. Creating new content will be your main obstacle to creating perpetual traffic... you can get new content from feeds but will it be unique? Comments in your blogs could bring in unique content but if you're not monitoring them, you must have solid software in place to fight against spam.

5. Have "Tell a Friend" forms on all your content. This will bring new traffic to your site, which can be self-refreshing as new people discover your content.

6. Encourage user generated content such as articles, comments, posts... you can even have a community monitoring system where your site's members monitor this new content.

7. Form JV alliances with webmasters in your related field. Do co-registration so that you help build each other's lists and traffic.

8. Likewise, if you have products to sell, create an affiliate program to get your affiliates to build your traffic for you. Affiliates are an excellent source of permanent traffic.

9. Automate all aspects of the running and managing of your website. Set up automatic payments for your AR system, hosting, domain renewal, PPC payments... thru PayPal or credit card. Likewise, receive affiliate commissions thru PayPal or direct deposit. Many advertising programs like Google Adsense offer direct deposit.

10. PPC Traffic - While we have mainly looked at free traffic systems, don't forget creating a PTM is relatively easy with Pay Per Click advertising if you know what you're doing. Target less competitive keywords to keep your costs down, tie this traffic into a good squeeze page for feeding your AR system with leads and have a good landing page that converts. You can create a system that delivers perpetual traffic and pays for itself from your affiliate commissions and advertising fees.

In summary, the argument for the existence of the PTM mainly relies upon the quality of your content or site. Is it unique enough to draw in new visitors? Does your topic have universal appeal that people never tire of? Does it solve or offer advice on a common human problem? Will or does it have a viral "word of mouth" element to it? As we move to a more and more automated world, all the automated programs and hardware are in place for the creation of such perpetual traffic machines. Computers, autoresponders, content management software, RSS feeds, viral marketing, direct deposit, automatic payments... and the list goes on. If we haven't already created the perpetual traffic machine - we are getting tangibly close to doing just that.





About The Author:


The author is a full-time online marketer who practices what he preaches. While not exactly pretty, one of the most popular downloads on his sites has been a Free Perpetual Desktop Calendar which of course has links back to his site. Free Desktop Calendar You can find a review of Tinu's Traffic Machine here: Evergreen Traffic Review

Copyright (c) 2008 Titus Hoskins. This article may be freely distributed if this resource box stays attached.




Article Source: thePhantomWriters Article Submission Service

Wednesday, August 20, 2008

Don't Ever Give Up!

Most know of the great overpowering giant called Microsoft. Many of the small software operations either die out, or are completely overshadowed by the giant beast. Sometimes Microsoft will just devour them. When you have been with a programming language for close to 20 years, changing to another one is a frightening and daunting task. Nevertheless it can be done. I did, so you can too. The trick is to start and take small baby steps. Here is a rehash into the modern age of an old cartoon that should embody the fight of the small guy.

\Dont GIve up\

Sunday, August 17, 2008

Is DBI going the way of Ashton-Tate, Is dBASE dying a second death?

I have just read an article about the supposed demise of Vista, and in particular Microsoft. The author goes on to say the the demise of Vista would be due to its continual hold on compatibility. He says that the OS is bloated, they have added and added functionality and not taken any out. He compared this with the demise of Ashton-Tate and dBASE, and mentions that this too was as a result of continued bloating of the software due to compatibility.

In 1988, dBASE had 63% market share of the database market.  Not only the PC database market, but apparently the entire database market.  Ashton-Tate was on top of the world, and knew it. What happened to the beloved dBASE? How did the Big Giant fall? By 1989, dBASE's market share dropped to 43%.   A 20% drop in just one year.  When Microsoft Access came out in 1992, they took over the world, especially in the desktop database arena, dBASE and many xBASE depravities were dead or dying.  dBASE Crashed to the ground. In less than four years it was no longer heard of, except in legacy and niche markets. dBASE tried to regain what it once had. Eventually releasing a windows version. Also a 32bit windows version made it to the shelves. But it was like trying to blow up a deflated balloon with a thousand holes in it.

Doing a small keyword analysis. I found that the term dBASE returns only 153 daily searches on Google. I would venture to say that probably a large majority of people using the search term are using it and meaning “Database”. Where as something like “Visual Basic”  return  over 2300 daily searches, and “.NET” close to 3000. Although this is not conclusive, it does make a point

Trying to keep their compatibility with the old, i.e. DOS, and trying not to loose their DOS based Customers is what eventually killed dBASE.

dBASE had to be Backward compatible at any cost. Ashton-Tate created extremely bloated and arcane features added it to the product in order to support such compatibility.   Ashton-Tate believed the effort to switch would remain higher than the effort to keep using the product. In some cases it was true, in many, not. People across the world switch to windows based software, and along with it to software packages that supported the new OS, like Access.

Today we are sitting at .NET 3.5 CLR. Window 7 (Vista’s Successor) has been announced. The world is moving to .NET. Everything is .NET, ADO.NET. Borland, previous owners of dBASE, has switched over as well, many other xBASE products have made the leap. They have left the com32 compatibility boat behind.

Yet for some reason, DBI and dBASE have chosen not to go the .NET route but instead have decided to be backward compatible with cm32 applications and the com32 market. Is this  history repeating itself. Has DBI not learned from pas mistakes about compatibility. When we are so many versions and so many years away from com32, dBASE still keeps compatibility with that historical and dying market.

It is probably too far now do make the huge jump over to .NET3.5 and the only thing going for dBASE and DBI is probably their small market and their faithful following.

As I look and frequent the dBASE news groups, I do not see the activity I once saw, even though it was then still very low, when compared to other competing software news groups. I do not see some of the old names there any more. Where have they gone? To me, it seems that the dBASE market is still dropping. How far will the drop go until all give up and there is a mass exit.

I believe that the eminent demise of dBASE will be as a result of their stubbornness to keep their product compatible with the com32 market and their faithful few. Yes, it would have been a cost to start the journey down the road and follow the rest of the world. It would have been a cost to go the .NET group. But now the cost is so much more, that you are almost forced to stay were you are. I believe dBASE could have benefited from going the .NET route. Because of the way the CLR is constructed, I believe that dBASE would have gained a significant increase in their market share. Because of the CLR, a lot of functions that are well known in either the likes of VB and C# would have been the same in dBASE, thereby bringing comfort to millions.

Yes, DBI is starting to look at .NET, or at least some part of it. But I think that the horse has bolted and that now its a bridge too far.

What do you think? Do you think that dBASE is on its last breath struggling to survive? Do you think that it should go .NET? (Vote on the side bar). Do you think many more faithful will leave, or do you think that dBASE has what it takes to gain more market share?

Oh how I had wished and hoped that dBASE would one day rise again. How I wished that I could boast again of this great software. How I longed to compete with the rest of the world. But alas it was not so. If dBASE had learnt from its own history, I believe they would have had much more market share than what they now have, including me.

del.icio.us Tags: ,,

Technorati Tags: ,,

Saturday, August 16, 2008

Programmer can cook

Recently my wife had back surgery. She went into theatre at 14h45 and came out at 20h00. Apparently she only went into surgery at 17h00. But that is still three hours.

Anyway while she was in hospital for three days, my sister looked after our two children. So I promised to repay her for her kindness, not that she did not enjoy it. I decided to cook her a meal. So I made mushroom and potato soup for starter. Then Apricot-Maple Glazed Pork Chops with veg. Then we had creme brulee for desert.

She was so excited, because she did not believe that theses keyboard fingers could ever make a meal. But I did. So what I decided to do is to give you the recipe of the Apricot-Maple Glazed Pork Chops here on my blog, but put it into a type of code syntax.

//Pork Chops
PorkChops APC = New PorkChops();
APC.Number = 4;
APC.Measure.Inch = true;
APC.Thick = 0.25;
//Butter
Butter But = New Butter();
But.Measure.Teaspoon = true;
But.Amount = 2;
//Shallots
Shallot Shallot = New Shallot();
Shallot.Measure.Cup = true;
Shallot.Amount = 0.25;
Shallot.Dice();
//Apricot Nectar
ApricotNectar Nectar = New ApricotNectar();
Nectar.Measure.Cup = true;
Nectar.Amount = 0.5;
Nectar.Refrigerated = true;
//MapleSyrup
MapleSyrup Syrup = New MapleSyrup();
Syrup.Amount.Cup = 0.25;
//Chicken Bouillon
ChickenBouillon Bouillon = New ChickenBouillon ();
Bouillon.Measure.Teaspoon = true;
Bouillon.Amount = 0.25;
//Apricot
Apricot Ap = New Apricot();
Ap.Amount = 4;
Ap.Type = "Dried";
Ap.Cut().ToHalf().ToThinSliced();
//Parsley
Parsley Par = New Parsley();
Par.Measure.Tablespoon = true;
Parsley.Chopped().ToFine();
//Pot
Skillet Pot = New Skillet();
Pot.Size = "Large";
Pot.Add(but);
Pot.But.Melt();
Pot.Add(APC);
Pot.APC.Cook();
Pot.APC.Turn(1);
Pot.APC.Cook.Pink = false;
//Serving Plate
Plate Plates = New Plates();
Pot.Collection().Transfer(Plates);
//Sauce
Pot.Add(Shallot)
Pot.Shallot.Cook();
Pot.Shallot.Stirring("Frequently").TillTender();
Pot.Add(Nectar);
Pot.Add(Syrup);
Pot.Add(Bouillon);
Pot.Collection(Sauce).BringToBoil();
Pot.Collection(Sauce).ToStirring = "Frequently";
If Pot.Collection(Sauce) = Thick;
Pot.Collection(Sauce).Remove();
Sauce.Pour().OnToPork();
Ap.Sprinkle().ToPork();
Par.Sprinkle().ToPork();

..
..
Enjoy = true;
Return;

Now I know that this might not be syntactically correct. But I have done this so that those who read this who are not into programming, might by some sort of imagination, understand what is going on.

Below are some Pictures as to how this turned out.

HPIM4778blog
Apricot-Maple Glazed Pork Chops

HPIM4777BlogApricot-Maple Glazed Pork Chops

Technorati Tags: ,,

del.icio.us Tags: ,,

Saturday, August 9, 2008

SQL Running Totals

Ok so I had to do some graphs for a client. Which was not too bad. I created a view in MS SQL database, which took me a while because my mind was totally focused on one way of doing it. I then went to the MS forums and got some great Ideas.

The graph was a total of things per process per month. SO this worked, but it did not include the missing months. So I had to come up with a way to include counts of 0 for the missing month, have them included in the result set as rows so that I can graph them. What did I do?

I search the News Groups and got some responses but eventually did a combination of suggestions.

First I creates a list of joins like so:

SELECT     'January' AS month, 0 AS IssueCount, 1 AS mnth
UNION
SELECT
'February' AS month, 0 AS IssueCount, 2 AS mnth
UNION
SELECT
'March' AS month, 0 AS IssueCount, 3 AS mnth
UNION
SELECT
'April' AS month, 0 AS IssueCount, 4 AS mnth
UNION
SELECT
'May' AS month, 0 AS IssueCount, 5 AS mnth
UNION
SELECT
'June' AS month, 0 AS IssueCount, 6 AS mnth
UNION
SELECT
'July' AS month, 0 AS IssueCount, 7 AS mnth
UNION
SELECT
'August' AS month, 0 AS IssueCount, 8 AS mnth
UNION
SELECT
'September' AS month, 0 AS IssueCount, 9 AS mnth
UNION
SELECT
'October' AS month, 0 AS IssueCount, 10 AS mnth
UNION
SELECT
'November' AS month, 0 AS IssueCount, 11 AS mnth
UNION
SELECT
'December' AS month, 0 AS IssueCount, 12 AS mnth


Which gave me a list of Months with at least a 0 count. I then added my initial query:
SELECT     TOP (100) PERCENT DATENAME(mm, Issue.CreatedDate) AS Month
, COUNT(*) AS IssueCount, dbo.ActivityTask.ProcessId
FROM dbo.Issue AS Issue
INNER JOIN
dbo.ActivityTask ON Issue.ActivityTaskId = dbo.ActivityTask.ActivityTaskId
GROUP BY DATENAME(mm, Issue.CreatedDate)
,
MONTH(Issue.CreatedDate)
,
dbo.ActivityTask.ProcessId

and then did a cross join on this. The final query looked like this.
SELECT     TOP (100) PERCENT p.ProcessId
, SUM(p.Issuecount) AS issuecount
, mnth
,
month
FROM (SELECT y.ProcessId, x.mnth
,
CASE WHEN y.month = x.month THEN y.issuecount ELSE 0 END AS Issuecount
,
CASE WHEN y.month = x.month THEN y.month ELSE x.month END AS
month
FROM (SELECT 'January' AS month, 0 AS IssueCount, 1 AS mnth
UNION
SELECT
'February' AS month, 0 AS IssueCount, 2 AS mnth
UNION
SELECT
'March' AS month, 0 AS IssueCount, 3 AS mnth
UNION
SELECT
'April' AS month, 0 AS IssueCount, 4 AS mnth
UNION
SELECT
'May' AS month, 0 AS IssueCount, 5 AS mnth
UNION
SELECT
'June' AS month, 0 AS IssueCount, 6 AS mnth
UNION
SELECT
'July' AS month, 0 AS IssueCount, 7 AS mnth
UNION
SELECT
'August' AS month, 0 AS IssueCount, 8 AS mnth
UNION
SELECT
'September' AS month, 0 AS IssueCount, 9 AS mnth
UNION
SELECT
'October' AS month, 0 AS IssueCount, 10 AS mnth
UNION
SELECT
'November' AS month, 0 AS IssueCount, 11 AS mnth
UNION
SELECT
'December' AS month, 0 AS IssueCount, 12 AS mnth) AS x
CROSS JOIN
(
SELECT TOP (100) PERCENT DATENAME(mm, Issue.CreatedDate) AS Month
,
COUNT(*) AS IssueCount
,
dbo.ActivityTask.ProcessId
FROM dbo.Issue AS Issue
INNER JOIN
dbo.ActivityTask ON Issue.ActivityTaskId = dbo.ActivityTask.ActivityTaskId
GROUP BY DATENAME(mm, Issue.CreatedDate)
,
MONTH(Issue.CreatedDate)
,
dbo.ActivityTask.ProcessId) AS y) AS p
GROUP BY p.ProcessId, month, mnth
ORDER BY p.ProcessId, mnth

This worked great. It gave me totals per process id and per month. I was no able to graph this and then also include a 0 count if there was no processes identified in the database. But this was not enough. The client now wanted a second axis on the graph, showing a YTD figure. But not just the grand total of all the months per client, but a running total per client.

Now a running total is pretty much easy to implement. All you have to do is insert a sub-query as the field for the running total. Something like this using adventureworks:

select count(*) Customers
,(
select count(*) as Running from Sales.Customer a
where a.TerritoryID <= b.TerritoryID
)
Running from Sales.Customer b
group by TerritoryID












































CustomerRunning
34333433
643497
713568
45818149
978246
16859931
185011781
182013601
363117232
195319185

Ok so that's a running total. But when you have multiple groups, you want the running total to reset after every group. Simple solution. Create a view with all the rows, then using the were clause you can make sure which groups need to be reset. So with the final query above (not the adventureworks one) in a view I created a second query utilizing the view and added my running total.
select *,
(
select top 1 sum(issuecount) from view_IssuecountByMonthProcess a
where a.processId = b.processid
and a.mnth <= b.mnth
) as YTD
from view_IssuecountByMonthProcess b
order by processid, mnth

This might not be the most elegant way of doing it. But it works great for me.

If you think you might have something to add. If you think you might have a better solutions. Let me know. Leave a comment.

Now back to my website to do some business.

del.icio.us Tags: ,,,

Technorati Tags: ,,,