|
|
| ||||||||||||||
![]() |
Day 3
The last day of the affiliate summit was a little more laid back, as the summit was coming to a close. We took the opportunity to get into the "cashinator" machine and grab some wind blown cash, take some pictures and generally just enjoy some casual networking.
Kyle, Software Projects Sr. Engineer, took some time to pose with yet another set of "booth babes". I think this may have been his favorite part of the summit.

By the end of the day most booth owners were trying to give way the left over promotional props, to avoid taking them back home. The Software Projects team scored some really cool gifts, which I took home and shared with my kids. I am now known as, "the coolest mom ever".
The gifts ranged from T-shirts, light-up pens, coffee cups, fake stacks of money and many other unique props.
A few of the unique giveaways offered at the Affiliate Summit.



Overall, the summit was a great networking event. We will cherish new friendships made and carry away some newfound Affiliate Marketing knowledge. I can't wait to attend the next Affiliate Summit. We at Software Projects are looking forward to speaking with the new contacts we made and helping them grow their business online.
The last day of the affiliate summit was a little more laid back, as the summit was coming to a close. We took the opportunity to get into the "cashinator" machine and grab some wind blown cash, take some pictures and generally just enjoy some casual networking.
Kyle, Software Projects Sr. Engineer, took some time to pose with yet another set of "booth babes". I think this may have been his favorite part of the summit.

By the end of the day most booth owners were trying to give way the left over promotional props, to avoid taking them back home. The Software Projects team scored some really cool gifts, which I took home and shared with my kids. I am now known as, "the coolest mom ever".
The gifts ranged from T-shirts, light-up pens, coffee cups, fake stacks of money and many other unique props.
A few of the unique giveaways offered at the Affiliate Summit.



Overall, the summit was a great networking event. We will cherish new friendships made and carry away some newfound Affiliate Marketing knowledge. I can't wait to attend the next Affiliate Summit. We at Software Projects are looking forward to speaking with the new contacts we made and helping them grow their business online.
The second day of the Affiliate Summit was the first actual day of the Exhibition. More spacious than the previous day's Meet Market, the Exhibition was an excellent way to meet all the merchants, networks and affiliates.
The Software Projects team made our way around to visit each booth and network with some new friends. Each booth had unique give away promotional props. The NextWeb Media booth was a big hit, as they were giving away grand prizes such as, an IPOD’s and a Wii.
We were in the drawing, but did not take the prize. Kyle, Software Projects Sr. Engineer, enjoyed his prize of posing with the booth model, Sara.

We attended a great presentation given by Super Affiliate, Amit Mehta. Amit did a great job revealing little known secrets and strategies he uses to drive huge volume and generate large revenues through PPC affiliate marketing. The specific focus of his seminar was using PPC to drive traffic to your pages and become a profitable affiliate marketer.
Among the topics discussed were bid optimization, split testing of landing pages and creative's, website value (specifically, how to create a site that will keep Google happy), common pitfalls of those new to affiliate marketing, and even the psychology of Affiliate Marketing. Amit is a great speaker who knows his stuff, and the speech was informative and interesting. Definitely one worth attending.
Afterwards we got a chance to speak with Amit about his apartment hunting adventures, while in Boston.
(Below) Amit presenting his PPC strategies.

The main ‘Affiliate Bash’ was canceled unfortunately, so that night Software Projects hit Boston downtown, to check out some of the night life.
We had the pleasure of going by to see the "original" Cheers.

The Software Projects team made our way around to visit each booth and network with some new friends. Each booth had unique give away promotional props. The NextWeb Media booth was a big hit, as they were giving away grand prizes such as, an IPOD’s and a Wii.
We were in the drawing, but did not take the prize. Kyle, Software Projects Sr. Engineer, enjoyed his prize of posing with the booth model, Sara.

We attended a great presentation given by Super Affiliate, Amit Mehta. Amit did a great job revealing little known secrets and strategies he uses to drive huge volume and generate large revenues through PPC affiliate marketing. The specific focus of his seminar was using PPC to drive traffic to your pages and become a profitable affiliate marketer.
Among the topics discussed were bid optimization, split testing of landing pages and creative's, website value (specifically, how to create a site that will keep Google happy), common pitfalls of those new to affiliate marketing, and even the psychology of Affiliate Marketing. Amit is a great speaker who knows his stuff, and the speech was informative and interesting. Definitely one worth attending.
Afterwards we got a chance to speak with Amit about his apartment hunting adventures, while in Boston.
(Below) Amit presenting his PPC strategies.

The main ‘Affiliate Bash’ was canceled unfortunately, so that night Software Projects hit Boston downtown, to check out some of the night life.
We had the pleasure of going by to see the "original" Cheers.

Day 1
The Affiliate Summit East 2008 was held in downtown Boston, at the Seaport Hotel, overlooking the Boston Harbor.
Day one started off with a “Meet Market”. There were about 100 companies that had tables set up all around the room. I had the opportunity to visit most of the tables and spoke to an interesting range of businesses. The turnout for the Meet Market was impressive, so much so that getting around to everyone was a challenge, as it was standing room only all day. We got to meet with great people and get a taste of what was to come for the next 2 days.
(Below) View of the Meet Market.

We enjoyed an interesting presentation from PepperJam, given by Brock Siegel. They offered the best tips and tricks of how to most effectively work with PepperJam merchants. They laid out the nuts-and-bolts of their network. Brock covered background of Pepperjam, upcoming products and unique features of the Pepperjam Network.
Maura gave a quick run-down of the typical account and a how- to of the basics, as well as showcasing various features of the PepperJam network
(Below) Brock giving an awesome presentation of the PepperJam Network.

Later in the evening we attended the Share A Sale party. The party took place aboard a beautiful cruise ship on the Boston Harbor and offered awesome views of the harbor and downtown Boston. The grand list of attendees enjoyed 2 full levels of entertainment, complete with seafood bar, desert bar, cocktail bar, 2 full bands and dance floors. Later in the evening, the brave souls participated in karaoke.
(Below) View from the Share A Sale party boat.

Update: Check out Day 2 and Day 3.
The Affiliate Summit East 2008 was held in downtown Boston, at the Seaport Hotel, overlooking the Boston Harbor.
Day one started off with a “Meet Market”. There were about 100 companies that had tables set up all around the room. I had the opportunity to visit most of the tables and spoke to an interesting range of businesses. The turnout for the Meet Market was impressive, so much so that getting around to everyone was a challenge, as it was standing room only all day. We got to meet with great people and get a taste of what was to come for the next 2 days.
(Below) View of the Meet Market.

We enjoyed an interesting presentation from PepperJam, given by Brock Siegel. They offered the best tips and tricks of how to most effectively work with PepperJam merchants. They laid out the nuts-and-bolts of their network. Brock covered background of Pepperjam, upcoming products and unique features of the Pepperjam Network.
Maura gave a quick run-down of the typical account and a how- to of the basics, as well as showcasing various features of the PepperJam network
(Below) Brock giving an awesome presentation of the PepperJam Network.

Later in the evening we attended the Share A Sale party. The party took place aboard a beautiful cruise ship on the Boston Harbor and offered awesome views of the harbor and downtown Boston. The grand list of attendees enjoyed 2 full levels of entertainment, complete with seafood bar, desert bar, cocktail bar, 2 full bands and dance floors. Later in the evening, the brave souls participated in karaoke.
(Below) View from the Share A Sale party boat.

Update: Check out Day 2 and Day 3.
How to automatically install PHP/MySQL on FreeBSD
Michel Nadeau, August 14 -- Filed under Programming
Today I had to install PHP and MySQL on many, many servers. I could have done everything by hand on each server but the risk of error is big and it's very long. The answer to this task: create an automated script that does everything for you.
NOTE: All my servers were virgin FreeBSD 6.3 machines.
Step 1 - What to accomplish
I wanted to:
- Install MySQL with a custom my.cnf file
- Install PHP with CURL and GD support (so I needed to install libcurl, libpng and zlib)
- Change the timezone to GMT
Step 2 - Before creating the script
The first thing I did was to manually install and configure everything on the first server, taking notes of everything I did. Once I had my complete "guide", containing all the instructions, and that I was sure that my installation was working well, I was ready to write my automated script.
Step 3 - Writing the automated script
I wrote my automated script using BASH. It probably could have been Perl but sometimes it's not installed, so I think that BASH is a better choice.
When you write such a script, you want to make sure of a couple of things:
- Double-check EVERY instruction
- Think about your current directory
- Display debug information
- Create a debug mode that needs you to press a key after some instructions
- TEST the installed applications at the end of your script, with debug information
It took me 4 machines to get a perfect script:
- Machine 1: manual installation/configuration
- Machine 2: automated script, debug mode ON
- Machine 3: automated script (with some modifications), debug mode ON
- Machine 4: automated script (final), debug mode OFF
To avoid needing to transfer a lot of files on each server, I used "wget" to download everything I needed. So the only things I had to send on each server was:
- wget-1.11.4.tar.gz - needed to download the other files
- auto.sh - the automated script
- auto.php - the PHP test script (it tests PHP and MySQL)
- my.cnf - custom my.cnf file to install
NOTE: These files are included in the attached "auto.zip" file.
Step 4 - Running the script
The first thing the script does is to install wget, as it is needed to download the other applications. Then the applications are downloaded, installed and configured. Everything is downloaded, extracted and compiled in a temporary directory. At the end, the script runs some tests to be sure that everything's working correctly. Finally, the temporary directory is removed, as well as the script itself (and the auto.php file) so you don't have to remove anything manually.
Step 5 - Why this post?
This post's purpose is not really to teach you how to specifically install MySQL and PHP automatically. It's more to show you a good example of a successfully deployed automated script; to inspire you and give you some "guidelines" if you ever need to create such a script.
I invite you to take a look at the attached "auto.zip" file, more specifically to the "auto.sh" script.
NOTE: All my servers were virgin FreeBSD 6.3 machines.
Step 1 - What to accomplish
I wanted to:
- Install MySQL with a custom my.cnf file
- Install PHP with CURL and GD support (so I needed to install libcurl, libpng and zlib)
- Change the timezone to GMT
Step 2 - Before creating the script
The first thing I did was to manually install and configure everything on the first server, taking notes of everything I did. Once I had my complete "guide", containing all the instructions, and that I was sure that my installation was working well, I was ready to write my automated script.
Step 3 - Writing the automated script
I wrote my automated script using BASH. It probably could have been Perl but sometimes it's not installed, so I think that BASH is a better choice.
When you write such a script, you want to make sure of a couple of things:
- Double-check EVERY instruction
- Think about your current directory
- Display debug information
- Create a debug mode that needs you to press a key after some instructions
- TEST the installed applications at the end of your script, with debug information
It took me 4 machines to get a perfect script:
- Machine 1: manual installation/configuration
- Machine 2: automated script, debug mode ON
- Machine 3: automated script (with some modifications), debug mode ON
- Machine 4: automated script (final), debug mode OFF
To avoid needing to transfer a lot of files on each server, I used "wget" to download everything I needed. So the only things I had to send on each server was:
- wget-1.11.4.tar.gz - needed to download the other files
- auto.sh - the automated script
- auto.php - the PHP test script (it tests PHP and MySQL)
- my.cnf - custom my.cnf file to install
NOTE: These files are included in the attached "auto.zip" file.
Step 4 - Running the script
The first thing the script does is to install wget, as it is needed to download the other applications. Then the applications are downloaded, installed and configured. Everything is downloaded, extracted and compiled in a temporary directory. At the end, the script runs some tests to be sure that everything's working correctly. Finally, the temporary directory is removed, as well as the script itself (and the auto.php file) so you don't have to remove anything manually.
Step 5 - Why this post?
This post's purpose is not really to teach you how to specifically install MySQL and PHP automatically. It's more to show you a good example of a successfully deployed automated script; to inspire you and give you some "guidelines" if you ever need to create such a script.
I invite you to take a look at the attached "auto.zip" file, more specifically to the "auto.sh" script.
Today, for many reasons, I had to convert CSV reports to Excel reports. The report generator is written in PHP. After some Google searches, I found Spreadsheet_Excel_Writer, a PEAR extension that allows to do pretty much anything there is to do with an Excel file; so I decided to use this existing module.
Step 1 - Install PEAR
I will not cover in details how to install PEAR on your system. You can read the instructions for installing it under Windows and Linux here.
Step 2 - Install PEAR extensions
Installing PEAR extensions is really easy. Whatever you're on a Windows or Linux machine, it's the same commands:
Step 3 - Getting started with a simple Excel example
Now that you have the needed PEAR extensions installed, you are ready to create a simple Excel example.
NOTE: make sure to add the PEAR path in your php.ini 'include_path'.
Include the extension:
Create a workbook:
Create a worksheet:
Write some data:
Close the file:
This very simple example will generate a 'test.xls' file containing 2 lines and 2 columns (with 'test' in each cell) that you will be offered to download (not stored on the hard disk).
If you wish to save the Excel file on the Web server's hard disk instead of downloading it, you can do so by specifying a file name when creating the workbook and by omitting the "send()" function.
Create a workbook:
Step 4 - Add some formatting
Spreadsheet_Excel_Writer allows you to add almost any formatting you want on a cell. How it works? Simple. You create your formats and when you call the "write()" you specify the format you want.
Creating a format:
This example will write "My Title" in bold, size 20 at line 0, column 0. You noticed the "setMerge()" function? When you use it in a format, Spreadsheet_Excel_Writer will merge all the cells for which you specify this format.
Merging cells:
In this example, line 0, columns 0-4 will be merged together.
Step 5 - Add images
Spreadsheet_Excel_Writer also allows to insert 24 bits Bitmap images in Excel documents.
Insert image:
Resources
You can do A LOT more than what is explained in this short tutorial. I suggest to read the entire Spreadsheet_Excel_Writer documentation here.
Step 1 - Install PEAR
I will not cover in details how to install PEAR on your system. You can read the instructions for installing it under Windows and Linux here.
Step 2 - Install PEAR extensions
Installing PEAR extensions is really easy. Whatever you're on a Windows or Linux machine, it's the same commands:
$ pear install OLE-beta
$ pear install Spreadsheet_Excel_Writer-beta
$ pear install Spreadsheet_Excel_Writer-beta
Step 3 - Getting started with a simple Excel example
Now that you have the needed PEAR extensions installed, you are ready to create a simple Excel example.
NOTE: make sure to add the PEAR path in your php.ini 'include_path'.
Include the extension:
<?php
require_once "Spreadsheet/Excel/Writer.php";
?>
Create a workbook:
<?php
$workbook = new Spreadsheet_Excel_Writer();
$workbook->send('test.xls');
?>
Create a worksheet:
<?php
$worksheet =& $workbook->addWorksheet("My Worksheet");
?>
Write some data:
<?php
$data = array(array("test","test"),array("test","test"));
$line = 0;
foreach ( $data as $data_line ) {
$col = 0;
foreach ( $data_line as $data_col ) {
$worksheet->write($line,$col,$data_col);
$col++;
}
$line++;
}
?>
Close the file:
<?php
$workbook->close();
?>
This very simple example will generate a 'test.xls' file containing 2 lines and 2 columns (with 'test' in each cell) that you will be offered to download (not stored on the hard disk).
If you wish to save the Excel file on the Web server's hard disk instead of downloading it, you can do so by specifying a file name when creating the workbook and by omitting the "send()" function.
Create a workbook:
<?php
$workbook = new Spreadsheet_Excel_Writer('test.xls');
//$workbook->send('test.xls');
?>
Step 4 - Add some formatting
Spreadsheet_Excel_Writer allows you to add almost any formatting you want on a cell. How it works? Simple. You create your formats and when you call the "write()" you specify the format you want.
Creating a format:
<?php
// Create the Title format
$fmt_title =& $workbook->addFormat();
$fmt_title->setBold();
$fmt_title->setSize(20);
$fmt_title->setMerge();
// Write using the Title format
$worksheet->write(0,0,"My Title",$fmt_title);
?>
This example will write "My Title" in bold, size 20 at line 0, column 0. You noticed the "setMerge()" function? When you use it in a format, Spreadsheet_Excel_Writer will merge all the cells for which you specify this format.
Merging cells:
<?php
// Create the Title format
$fmt_title =& $workbook->addFormat();
$fmt_title->setBold();
$fmt_title->setSize(20);
$fmt_title->setMerge();
// Write using the Title format
$worksheet->write(0,0,"My Title",$fmt_title);
$worksheet->write(0,1,"",$fmt_title);
$worksheet->write(0,2,"",$fmt_title);
$worksheet->write(0,3,"",$fmt_title);
$worksheet->write(0,4,"",$fmt_title);
?>
In this example, line 0, columns 0-4 will be merged together.
Step 5 - Add images
Spreadsheet_Excel_Writer also allows to insert 24 bits Bitmap images in Excel documents.
Insert image:
<?php
$worksheet->insertBitmap(0,0,"image.bmp");
?>
Resources
You can do A LOT more than what is explained in this short tutorial. I suggest to read the entire Spreadsheet_Excel_Writer documentation here.
If you have a blog and a twitter account, you should link the two together so that whenever you publish a new post, it will immediately show up on twitter.
In social networks, quantity is often more important than quality.
I'm not saying quality is not important, but don't sweat yourself with every single post having to be 100% perfect.
As long as you have decent quality posts, one of the easiest way to get more followers / subscribers / visitors, is to syndicate your content across as many channels as possible.
To automatically update your twitter account whenever you publish a new blog post, follow these three steps:
1. Go to OpenID and create a new account
2. Go to twitterfeed.com and create a new account
3. Login to your new twitterfeed account, enter your blog rss feed and twitter username/password
That's it.
Every single post will now instantly syndicate to your twitter account. It's free and the entire process takes less than two minutes to setup.
In social networks, quantity is often more important than quality.
I'm not saying quality is not important, but don't sweat yourself with every single post having to be 100% perfect.
As long as you have decent quality posts, one of the easiest way to get more followers / subscribers / visitors, is to syndicate your content across as many channels as possible.
To automatically update your twitter account whenever you publish a new blog post, follow these three steps:
1. Go to OpenID and create a new account
2. Go to twitterfeed.com and create a new account
3. Login to your new twitterfeed account, enter your blog rss feed and twitter username/password
That's it.
Every single post will now instantly syndicate to your twitter account. It's free and the entire process takes less than two minutes to setup.
How to recompile PHP with GD support on a live server
Michel Nadeau, August 6 -- Filed under Programming
Goal: Recompile PHP to enable GD support on a live production server. Minimize downtime and avoid breaking any dependent modules.
Process:
In our case, the live server was running Nginx and I had to install libpng and zlib before recompiling PHP.
NOTE: this post assumes that you are using a Linux machine and that you are 'root'.
Step 1 - Download files
I recommend on getting the latest versions of libpng and zlib. For PHP, you should get the SAME version you already have on your live server.
Step 2 - Install libpng
Step 3 - Install zlib
Step 4 - Recompile PHP
I STRONGLY recommend, to avoid any problem, that you recompile the SAME version of PHP that you previously had.
You should start with finding the original "./configure" line. To do so, simply run "phpinfo();" in a PHP script. The original "./configure" line is at the beginning.
The underlined part is what I added to enable the GD support. The beginning is my original "./configure" line. You should use YOUR original "./configure" line there and then add "--with-gd --with-zlib".
Once PHP is compiled with the GD support and the original options, we are ready to install it. To avoid a too long downtime, I suggest you to prepare a small BASH shell...
Our server was running the Nginx Web server and PHP in FastCGI mode; so you definitely have to adapt this BASH shell to your server.
Step 5 - Test GD
Now everything should be running as it was before, except that now PHP has support for GD. Let's test if GD's working with that simple PHP script:
If you get a blank page (no error), then everything's working fine.
Process:
In our case, the live server was running Nginx and I had to install libpng and zlib before recompiling PHP.
NOTE: this post assumes that you are using a Linux machine and that you are 'root'.
Step 1 - Download files
cd /root
mkdir _tmp
cd _tmp
wget http://voxel.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.29.tar.gz
wget http://internap.dl.sourceforge.net/sourceforge/libpng/zlib-1.2.3.tar.gz
wget http://il.php.net/get/php-4.4.8.tar.bz2/from/us.php.net/mirror
mkdir _tmp
cd _tmp
wget http://voxel.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.29.tar.gz
wget http://internap.dl.sourceforge.net/sourceforge/libpng/zlib-1.2.3.tar.gz
wget http://il.php.net/get/php-4.4.8.tar.bz2/from/us.php.net/mirror
I recommend on getting the latest versions of libpng and zlib. For PHP, you should get the SAME version you already have on your live server.
Step 2 - Install libpng
cd /root/_tmp
tar xvfz libpng-1.2.29.tar.gz
cd libpng-1.2.29
./configure
make check
make install
tar xvfz libpng-1.2.29.tar.gz
cd libpng-1.2.29
./configure
make check
make install
Step 3 - Install zlib
cd /root/_tmp
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make test
make install
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make test
make install
Step 4 - Recompile PHP
I STRONGLY recommend, to avoid any problem, that you recompile the SAME version of PHP that you previously had.
You should start with finding the original "./configure" line. To do so, simply run "phpinfo();" in a PHP script. The original "./configure" line is at the beginning.
cd /root/_tmp
tar xvfz php-4.4.8.tar.bz2
cd php-4.4.8
./configure --enable-mbstring --enable-mysql --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --enable-fastcgi --with-curl --with-sockets --with-gd --with-zlib
make
tar xvfz php-4.4.8.tar.bz2
cd php-4.4.8
./configure --enable-mbstring --enable-mysql --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --enable-fastcgi --with-curl --with-sockets --with-gd --with-zlib
make
The underlined part is what I added to enable the GD support. The beginning is my original "./configure" line. You should use YOUR original "./configure" line there and then add "--with-gd --with-zlib".
Once PHP is compiled with the GD support and the original options, we are ready to install it. To avoid a too long downtime, I suggest you to prepare a small BASH shell...
killall -m "php" # Kill PHP
sleep 3 # Wait to be sure that PHP's killed
make install # Install PHP
sleep 2 # Wait 2 seconds
/usr/local/etc/rc.d/spawn-fcgi.sh # Restart PHP
sleep 3 # Wait to be sure that PHP's killed
make install # Install PHP
sleep 2 # Wait 2 seconds
/usr/local/etc/rc.d/spawn-fcgi.sh # Restart PHP
Our server was running the Nginx Web server and PHP in FastCGI mode; so you definitely have to adapt this BASH shell to your server.
Step 5 - Test GD
Now everything should be running as it was before, except that now PHP has support for GD. Let's test if GD's working with that simple PHP script:
<?php
ini_set("display_errors",1);
ImageCreateTrueColor(20,40);
?>
If you get a blank page (no error), then everything's working fine.
| « Previous Posts |
About us | Contact us | Privacy | Terms & Conditions | Affiliates
Thursday, August 21st, 2008 Page generated in 0.341 seconds | ![]() |
