We’re halfway into December, and getting closer to Christmas with each passing day. I thought I’d take a minute and highlight some of the great contributors to this website.
So far, for the Month of December, the Top Commentators on my website are:
Read more »
Happy Cyber Monday everyone!
If you haven’t heard yet, you can use coupon code 99DOMAIN over at GoDaddy.com to purchase .com/.net/.org domain names for 99 cents!
Update: The $0.99 domain name deal is dead, but you can find current GoDaddy.com coupon codes here. Before purchasing domain names, you should always find a working GoDaddy coupon code first, as it’ll save you an easy 30% off your domain purchase.
This is a smoking deal for anyone looking to start the New Year fresh with a new blog/website. Even if all you do is buy a domain for $0.99 and flip it for a few dollars on SitePoint or DigitalPoint, that few dollars is nearly pure profit!
To make the deal even more smoking, as always, if you purchase 5 or more domains from GoDaddy, they’ll throw in free Privacy Registration (a $11 savings on each domain!).
Keep in mind, this is just for 1-year domain name registrations. I’ve got a handful I’ll be registering tonight. Lemme know which domains you end up picking up!
As Internet marketers, we all use affiliate links in some way or another. For some, they might be embedded into blog posts, while for others in landing pages or forum signatures. Regardless, affiliate links serve a necessary evil when making money online and we depend on them.
Introduction to Affiliate Link Cloaking
Read more »
In Google’s recently released Search Engine Optimization Starter Guide (PDF ALERT!), they describe the best practices to follow to ensure that Google can properly crawl and index your site data.
Shaun at Hobo has created a list of tips on what to AVOID doing, by summarizing many of the suggestions from the Starter Guide. Here are some interesting ones I saw:
Avoid:
- having deep nesting of subdirectories like /dir1/dir2/dir3/dir4/dir5/dir6/
page.html - creating an HTML sitemap that simply lists pages without organizing them
- allowing your 404 pages to be indexed in search engines (make sure that your
webserver is configured to give a 404 HTTP status code when non-existent
pages are requested) - having a navigation based entirely on drop-down menus, images, or animations
There are a total of 30 tips listed on Shaun’s post. Read them all here.
Amazon Associates, AdSense, ClickBank, and Text-Link-Ads were responsible for my October earnings. Below is the breakdown:
Earnings
AdSense: $166.53
Clickbank: $437.58
Text-Link-Ads: $89.56
Sedo, Amazon Associates: ~$2
Paid Reviews: $22.54
Total earnings: $718.21
Costs
No AdWords costs this month.
Signed up for Findology, but have yet to start any campaigns.
Total costs: $0.00
October Earnings: $718.21
September Earnings: $335.79
This represents a 214% improvement month-over-month.
Mortgage Goal
As you may recall, my goal is to earn enough each month through AdSense and affiliate marketing to cover the cost of my monthly mortgage payment. For the sake of the experiment, we’re saying it’s $1500/month.
This month I earned $718.21 profit, which is 48% of the way there. I have until June 2009 to hit my goal, so that leaves me with 8 more months to make up the remaining 52%.
Concerns going forward
As I had mentioned in a previous post, my main contributing site has seen it’s traffic dive in recent days. By dive, I mean traffic has reduced by about 75% (natural, search engine traffic). This concerns me because unless things pick up again, November earnings could potentially be 75% lower than October earnings.
I first mentioned CodeIgniter back in February 2007 as something that really excited me, but it took over a year and a half for me to actually use it!
Well, after a 2-day programming blitz, I launched my first CodeIgniter website yesterday. It’s hosted on the keyword domain www.PremierLeagueShirts.com and is an affiliate site targetting those looking for English Premier League jerseys. While still under heavy construction, the primary features are now available for use. The remaining changes will mostly be cosmetic and UI-related.
Here are some of the features that I programmed into www.PremierLeagueShirts.com:
- SEO-Friendly URLS - Each and every URL is search engine friendly. Take for example some of these URLS:
- Product Search – While still quite simplistic, will return a list of products which matches the user’s query.
- Completely Database-Driven: All content is stored in the Premier League Shirts database. No real-time webservice calls to the main affiliate site which may slow down page loads.
And what’s left to come?
- Improved GUI – Yes, the UI is plain. But my goal was to get the site out there and crawled by the major search engines. Now that that’s done, I’ll see what can be done about the look-and-feel of the site.
- Improved Search – The site search currently only looks at the Product Name, and not the Brand, Category, or Description. This will be looked into.
- Stats – Record what products are being looked at, what’s being searched for, and store that all in the database. Spit that out onto new pages on the site for further crawling by Google.
- Additional Content – What is on the site right now is strictly affiliate products and their descriptions. Obviously Google may not like that so much, so will have to look at additional sources of related content.
So, what do you think so far? Since this is my first forray into the world of CodeIgniter, I’m please with what I’ve accomplished over the last 2 days.
29
CodeIgniter Blank Page Fix: Blank webpage when setting up CodeIgniter, PHP, MySQL, and Apache
Today, I created my first website using the Code Igniter PHP framework and, oh boy, do I like it a lot more than Ruby on Rails. But I’ll dig into that further in a future post.
The purpose of this post is to shed some light on a problem that I wracked my brain over for a few hours last night.
The problem: After installing Apache, PHP, and MySQL and configuring the Code Igniter framework, you get a blank web page when testing your first controller, model, and view.
What I discovered were two issues that, when combined, create the perfect storm of an installation problem:
- First, MySQL is no longer enabled by default with PHP 5. Says the PHP website of MySQL in PHP 5:
MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH.
It’s been a LONG time since I’ve programmed in PHP let alone installed PHP, so this was news to me. Anyway, if check out the MySQL installation notes on the PHP website if you need help enabling MySQL.
- Unfortunately, that was the easy part. Once I had an error message to work with, Google lead me to the PHP website, and I was in the clear. But, for the longest time, I wasn’t even getting an error page. Remember, all I was getting was a blank HTML page. So what was the cause? Code Igniter…
- Using some creatively placed die() calls, I found out that the application was dying when trying to connect to the database. (Previous to this, I had already double- and triple-checked my MySQL username and password in the Code Igniter configuration file, and had even tried out alternate accounts, like my MySQL root account.)What I found out was that the MySQL drivers in Code Igniter were suppressing errors when attempting database connections.
This is what the code looks like in the Code Igniter mysql_driver.php file:
The “@” symbol before the mysql_connect() function call supresses any errors that may be returned. It is that symbol that wasted a good 2 hours of my life.Anyway, after I removed the “@” symbol from the code and re-tested my web application, PHP spit out the error message that I should have been presented with hours ago, and I was well on my way to fixing the problem.
function db_connect()
{
if ($this->port != '')
{
$this->hostname .= ':'.$this->port;
}
return @mysql_connect($this->hostname, $this->username, $this->password, TRUE);
}
If you’re experiencing the same problem that I was, I hope this helps you correct it faster than I did! Best of luck.
Oh, and did I mention how much I prefer Code Igniter over Ruby on Rails? It’s messier, but with my C and Java background, it makes more sense than Ruby and Ruby on Rails does!
The Vancouver International Film Festival has come and gone, and although I had a small list of films I intended to watch, I never ended up making it out to the theatre. I suppose there’s always next year. On a related note, another film festival flick that I want to catch is Battle in Seattle, which played at this year’s Toronto International Film Festival and opened in Vancouver, Montreal and Toronto this past week.
Having been in Vancouver at the time, I can vividly remember the news coverage of the street violence that erupted during the WTO protests in 1999. It’s these protests that the film Battle in Seattle centers upon, and by the looks of the trailer, the movie truly takes us back 9 years to those emotional days.
Back in 1999, the city of Seattle was host to the World Trade Organization, which was big news then, as it was the first time the ministerial conference was being held in America. Although intended to highlight the launch of new trade talks with developing countries, the 40,000 plus protesters that collapsed into the heart of Seattle saw the conference as a rallying cry for protesting the globalization and exploitation that multinational corporations engage in. On news footage at the time, I can remember the stand-offs between the protesters and the Seattle Police Department, as well as the destruction to storefronts which resulted. Definitely a conflict I’d never want to be in the middle of.
The movie has a star-studded cast that includes the likes of Charlize Theron, Woody Harrelson, and Ray Liotta, which only helps to bolster my interest in the movie. (Who doesn’t love Charlize!?) If you’re interested in learning more about the movie, you can do so here.
I’ve spent the last couple hours debugging an authentication issue with LinkShare‘s Link Locator Direct web service. My console app was throwing the following exception:
System.Web.Services.Protocols.SoapException: org.apache.axis.AxisFault:Pass in username/password
The error message seems straight-forward enough– “Pass in username/password.” But what do you do if you know you are passing in the username and password?
This was the code I was using:
LinkShareTextPromotion.EJBTextPromotionServiceService tp =
new LinkShareTextPromotion.EJBTextPromotionServiceService();
tp.Credentials = new NetworkCredential(username, password);
tp.PreAuthenticate = true;
LinkShareTextPromotion.Text[] results = tp.GetAllLinks(sid);
Anyway, I finally lucked out and stumbled onto this link on the LinkShare forums, which lead me to Gordon Weakliem’s blog that had a working solution. Apparently this problem occurs due to how .NET authenticates.
If you’re experiencing the same error and got here via Google, then I hope this helps you get on your way.
It’s been a long, long time since I’ve done any web development in my free time– at least, any non-work related web development. Well, after batting around a few business ideas with buddies these past couple weeks, I’ve enough motivation to actually go ahead and see what happens with one (or two or three) of them. But first, I need to prepare my development environment.
My aging laptop has been by my side throughout university and the first few years of post-university employment, and, well, has seen me use a myraid of tools for the many different development phases of my life. Lots of these tools have since aged into obsoleteness, so the first phase of my development environment preparation saw me ridding my harddrive of many of these tools and/or turning off services that are no longer used. Gone is Eclipse, as well as Apache 1.3, PHP 4, and that old version of MySQL. Cya later Ruby and Python. IIS? Disabled.
I’ve decided to use Code Igniter as my web application framework for these ideas I’m going to pursue. If you don’t already know, it’s a “powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications”, or so it’s website says at least. As such, after cleansing my laptop, I installed the newest versions of Apache, PHP, and MySQL. (Truth be told, I was surprised at the relative ease at which they were installed. No configuration mess at all, although I’ll probably have to do a httpd.conf refresher in a few days.)
Has anyone ever used one of those pre-configured WAMP installation packages, such as WAMP5 at WAMPServer.com? What are your thoughts? Worth using? At first, I was tempted to use one of these packages, rather than installing each of the tools separately, but decided that I wanted the freedom to upgrade whenver, rather than when the WAMP5 distributable was updated.
Anyway, my laptop is now almost all set to go! All that’s left is to set up some virtual directories, install Code Igniter, and then refamiliarize myself with PHP. Wish me luck!
Recommended Services
Recent Posts
- Fantastic new corporate themes for WordPress
- Vistaprint offers FREE t-shirts, too!
- 80+ “Your Ad Here” 125 x 125 banners
- 5 Minute Long Tail SEO Drill: More Traffic, Better SERPs
- iPhone and iPod Touch app statistics: OS adoption, purchasing rates
Recent Comments
- Neerav on Using JavaScript to validate one or more grouped checkboxes
- Jacob on Using JavaScript to validate one or more grouped checkboxes
- kaify on Using JavaScript to validate one or more grouped checkboxes
- JC Goldenstein on How To: Cloak your Affiliate Links for Free in Under 3 Seconds
- Bail Bonds Los Angeles on Amazon Web Services on Rails
Categories
- .net
- acoustic guitar
- affiliate marketing
- ajax
- amazon associates
- blogging
- books
- business ideas
- c#
- code igniter
- dealdotcom
- google adsense
- google adwords
- internet marketing
- iPhone
- javascript
- leadership
- make money online
- mortgage goal
- msn adcenter
- networking
- personal development
- php
- ppc
- ruby
- ruby on rails
- seo
- text-link-ads
- web development
- yahoo search marketing



