Blog
Split testing is a basic tool of optimization on the web whose end goal is typically to get users to increase their clicks on ads in given ad space. It can be used in any online advertising context, however it has become an essential tool in managing Google AdWords campaigns. Without proper split testing, it's likely you'll piss away your money on an AdWords campaign faster than at the roulette table in Vegas.
How Does Split Testing Work?
In the design realm, split testing can have numerous variables to test such as placement, color, font, text size, styles, visual images, etc. In the realm of online advertising such as the case of Google AdSense, the variables basically boils down to which text works best.
It's really pretty simple. Other things being equal, meaning that the landing page, ad position, etc. are equal, split testing can tell you which title and ad text are more effective. Create two ads, and then analyze the click through rate (CTR) of each over a sufficiently large sample size as to be statistically meaningful. Jettison the ad with the lower CTR and create a new ad and repeat until you are satisfied that you've maximized your CTR.
That's about all there is to it (though sometimes the results are pretty surprising).
more »When doing anything from the command line, like using Mac's Terminal or running commands in Linux, dealing with spaces can be problematic... that is, until today!
Spaces function as a separator so something coming after a space will be treated and an independent entity across unix-based systems, like Mac and Linux. For example, if there were a folder named "Green Crescent" and you wanted to navigate inside using the cd command, you might be tempted to type:
cd Green Crescent.
However, this only tells the machine to try to navigate inside a folder called "Green" in the current directory while "Crescent" sort of hangs off to the side like a sixth toe. Assuming you don't have a folder called "Green," you'll probably get a message something like this:
-bash: cd: Green: No such file or directory
What gives? It's that pesky space. Rather than rename your directory, there are a couple of easy ways to deal with this little problem.
Quoting
My favorite for its utter simplicity and universal applicability is to simply put file names in single quotes (') like this:
cd 'Green Crescent'
Single quotes is pretty much a universal way to tell a machine to deal with what's inside of the quotes just the way it is, not to do any fancy stuff.
Escaping
There is another method you should be aware of which is also a great way to deal with a whole variety of scenarios beyond spaces, but works for spaces as well, which is to use the backlash (\) as an escape. What this does is tells the machine to deal with the next character just the way it is, not to do any fancy stuff.
So, you can also deal with the aforementioned space in the file name problem like this:
cd Green\ Crescent
The reason that it's not quite as elegant is that if you have a directory or file name that has a lot of spaces, you'll need to do a lot of escaping. For example, if you wanted to remove...
more »Linux has seven basic file types that every Linux newbie should now:
- Regular file -
- Directory d
- Character Device c
- Block Device b
- Local Domain Socket s
- Named Pipe p
- Symbolic Link l
Learn them, live them, love them.
more »Getting all the permission correct on one's server can be a major headache. Particularly if you don't know what something like this means: drwxr-xr-x
While most folks that use FTP are used to seeing chmod expressed in numbers like 750, when you run an ls command such as ls -lAh you generally get a bunch of w's x's and r's that might look something like this: drwxr-xr-x (note: the d is the file type which in this case is a directory).
What does this mean? Well, there is a simple way to convert the letters to numbers in your head. Just remember this:
- 4 = r (Read)
- 2 = w (Write)
- 1 = x (eXecute)
So drwxr-xr-x is really a directory with permissions rwx (or 4+2+1=7) and r-x (4+1=5) and (4+1=5) . So that's 755. Got it? It's just that easy.
Of all the Linux commands I use, wget has to rank up there among my favorites. While it can do many things, it's power lies in the ability to download files, or even entire websites, super quickly and in the background so that it doesn't require any babysitting.
Unfortunately, Mac's fantastic app Terminal doesn't work with wget out of the box. Fortunately, it's pretty easy to install.
You can find a wget here: http://download.cnet.com/Wget/3000-18506_4-128268.html
Install normally, just double click and Mac will lead you through to process as normal.
To uninstall run the following from the Terminal command line:
$ /usr/local/share/wget/uninstall-wget.plNote: remove the $ - that's the prompt.
... by why would you ever want to uninstall such a brilliant and useful piece of engineering?

Google's search engine can do a lot more than search by keywords that you type into their search box. In fact, there are dozens of ways to refine the search. One of the most basic, and most useful, is to get a list of pages for a specific URL.
So, for example, if you wanted to find out about all the pages Green Crescent has indexed by Google you would use the "site" operator like this: site:greenscrescent.com

Google will give you a complete list of pages for any domain you want.
more »One of the things I enjoy about a brand new Drupal project is going module shopping. After installing Drupal, generally the first thing one needs to do is fill up your modules directory...
$ cd /sites/all/modules¡ Remember not to install your modules in /modules !
...with the modules you'll need to start building the website's architecture and basic functionality.
I generally just go to http://drupal.org/project/modules and go right down the list. I'll take a bit of Views.... right click, copy link,
$ wget http://ftp.drupal.org/files/projects/views-6.x-2.12.tar.gzA dash of CCK right click, copy link
$ wget http://ftp.drupal.org/files/projects/cck-6.x-2.9.tar.gzetc... until /sites/all/modules has 50 or 60 .tar.gz in there.
Rather than untaring them one at a time you can untar them and get rid of those leftover tar.gz's afterword in one quick stroke.
So, without any further ado...
How to untar and remove a /sites/all/modules directory full of .tar.gz files in under a second?
Just run this command (on Linux):
# for i in *.tar.gz; do tar xzvf $i;done && find . -name "*.tar.gz" -exec rm {} \;¡Listo!
more »If you're getting into programming, probably one of the first things you should add to your skill set is configuring your "local" which in most cases means your computer to run LAMP - that is Linux Apache MySQL and PHP - these four programs are the mother's milk of most dynamic sites you find online. However, on Mac, you don't need to run Linux since Mac already has a Unix-based operating system (which is very Linux-esque) in which you can run a lot of the same commands and install many new ones as needed.
Rather than giving you the messy step by step that involves modifying Mac source files from the command line, I'll give you the quick and easy way: The good folks at http://www.mamp.info have given us MAMP. Just install it like you would any other Mac application and you're done.
more »If you use Mac and need an need to use SSH, you're in luck. There's need to download any third-party software like PuTTY, OpenSSH, or the like. Nope, you have everything you need right on your Mac thanks to the infinite wisdom and foresight of Mr. Jobs.
Just go to your applications folder, then to utilities, and take a look at Terminal. Terminal, among other things, is a rock-solid and elegant SSH client.
How do you do it? Just open up Terminal. You'll see a prompt that looks something like this:
Last login: Thu May 19 12:21:34 on foo
nameofyourmac:~ yourusername$If you have root access to your server, logging in is as simple as this:
$ ssh root@your-server's-ip-address-here
Then click enter. You'll get a prompt asking for your password, that looks something like this:
root@your-server's-ip-address-here's password:
Enter the password, click enter and you're in!
[root@server ~]#
If you don't have root access, just replace "root" above with whatever name is appropriate for your level of access.
For a complete list and comparison of SSH clients, you can look here: http://en.wikipedia.org/wiki/Comparison_of_SSH_clients
more »Dumping, or backing up, a MySQL database is probably one of the most important and frequently used of all tasks. In fact, before you do anything from updating a module, running a query, repairing tables - just about anything, you should create a backup of your database.
A great generic way to do this if you have root access yo your server is like this:
mysqldump -uYOUR-DATABASE-USERNAME-HERE -pYOUR-DATABASE-PASSWORD-HERE YOUR-DATABASE-NAME-HERE > /path/to/where/you/want/to/dump/it/database-date.sqlSince we currently have Plesk installed on our server, we can use the following to back up any database via the root
mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` DATABASE-NAME > path/to/where/you/want/to/dump/it/database-date.sqlIf you're getting into web development or are just a lone wolf webmaster that needs to enhance your skills, become aquatinted with some basic Linux and MySQL. It'll pay off... big time.
more »