Wednesday, February 3, 2010

Don't Get Your Web Analytics From the Same Place You Get Your Ads

I had a fellow call me this week about an email campaign which he is running for a client. The client had sent out an email blast to his list and the analytics report which the email sending company had returned did not mesh with what was being reported by the WunderCounter. Is this good or bad? Whom is he to believe?

This leads me to one of the really great reasons to use the WunderCounter. You can (and should) use it to track the success of your ads, email campaigns and marketing initiatives. Since the WunderCounter is not affiliated with the 3rd party which you are buying your services from, there is no conflict of interest in getting you an honest breakdown of your web traffic. There's no pressure to over inflate the success of your marketing initiative or even to suppress potential click fraud. It's in my best interest to get you the most accurate stats which I possibly can, because this is a service which helps you to keep other services honest.

For example, if you're paying for your ads by the click, do you trust the click reports which your ad provider sends you? How thorough are these reports? Do they drill down to the individual clicks? If not, how are you to know that there is no click fraud being perpetrated on your ads? If you are getting a breakdown by IP, can you trust it 100%? If you have been billed for fraudulent activity, how likely is your ad provider to let you know about it?

Your ad provider wants to bill you for as many clicks as possible. Your email delivery provider wants to prove to you that a very high percentage of your messages have been successfully delivered and opened. Are you really getting what you've paid for? Whom are you going to trust to tell you what really happened with the money you've spent?

Think about it. Keeping companies honest ranges from uncovering dishonest business practices to discovering sloppy accounting or oversights on their part. It's easy to track the success of your ads and emails yourself, so why not gather this info for comparison? You may be surprised at what you find.

Wednesday, January 13, 2010

When a Power Supply Burns Out Late at Night...

You may have noticed there was some downtime earlier this evening (Tuesday, Jan 12), around 10:20 pm CST. One of the main WunderCounter servers went offline with a burned out power supply. I get an SMS within a minute of this kind of thing, so we were able to begin dealing with it immediately. Normally losing a power supply is not a big deal, but in this case the data centre didn't have a matching part on hand, so I had to have one of the techs take an unused server off the rack, extract its power supply and use this to bring the front end of the WunderCounter back online. The entire process took about 90 minutes from finding the problem, diagnosing it, finding the correct part, replacing it and getting the machine back on the rack and correctly connected to the network.

I apologize for the downtime. I have, actually, already been in the process of replacing this machine with a pair of newer units, but the new machines aren't fully configured and tested yet. I hope to have that done in the next week or so in order to add some more redundancy to the system. I'll be having a closer look at what's on the rack and possibly having some more machines and/or parts shipped in so that I continue to have enough spare hardware handy for any future issues.

Thursday, December 24, 2009

Merry Christmas! Here are my Latest Christmas Recordings

First off, I hope everyone is having a great Christmas season. Over the past few years, I've recorded some Christmas music for family and friends. This year my band has released some recordings in album format. There are a couple of samples online. First off, here's a cover of "Baby, It's Cold Outside", which I sang with Catherine Taddo.



Secondly, my bandmate Andrew recorded an excellent version of Away in a Manger.

That's it for today, really. You'll notice some improvements to the WunderCounter going into the month of January, but that's not a topic for today.

Merry Christmas and Happy New Year!

Olaf

Sunday, December 13, 2009

Analyze Your Traffic Before You Optimize Your Site

Recently I was asked if I do SEO. That's "Search Engine Optimization", if you're not familiar with that acronym (and a lot of people aren't). I actually do some SEO work for clients and, of course, for the WunderCounter and I've also talked a bit about it on this blog. I explained why it's a waste of money to pay someone to submit your site to search engines and I also gave some tips on how to create Google friendly URLs.

To be honest, a lot of what passes for SEO involves a lot of smoke and mirrors. People will call and email you saying they can get you on the first page of Google search results. In many cases the claims are likely true, because anyone can do it. Optimizing your site for Google isn't about learning a lot of secret tricks as much as it is about using common sense and making sure you have relevant and unique content on your site. Thinking you need to optimize your site? Ready to start today?

Wait.

Do you know how much traffic you're getting now? Do you know which search terms are driving visitors to your site? Which are your most popular pages? Which are the least popular? How often does the Googlebot visit your web site?

You don't know? In that case, what you shouldn't be doing is optimizing your site. What you should be doing is analyzing your site traffic. If you're going to increase your site traffic, you'll never know if it's working until you know your current traffic patterns. Don't pay some guy thousands of dollars to increase your traffic if you don't know how much traffic you're currently getting. It's a fool's errand. He can tell you you're getting twice as much traffic and you'll never be able to verify it.

Before you do any kind of work on your site, get yourself set up with a good web site traffic analysis tool. The WunderCounter can give you all the information you need to arm yourself with before spending the time and/or money on optimizing your site. There are also a number of other services you can use to analyze your site traffic. The main thing is to be fully informed before you go making changes. You should also be aware that, by making a lot of changes, you may actually decrease the amount of traffic you're getting, so you should have a way of measuring that so that you can protect yourself and be able to reverse bad choices.

So, basically what I'm trying to say is that any meaningful set of measurements requires a baseline to measure against. If you optimize before setting your baseline, many of your measurements will largely be meaningless.

Tuesday, December 8, 2009

Twitter and Avoiding Weak Passwords

A friend and I were recently poking around the Twitter signup process, having a look at how the field validation takes place. As we were doing so, we noticed that Twitter has embedded a list of banned passwords into the source of the following page:


Just to make it easy for you, I've reproduced the list on this page. I've filtered out some of the racier ones just to keep things family friendly. If you'd like to see the full, original list, just open up the source code of https://twitter.com/signup with your favourite browser, search for "twttr.BANNED_PASSWORDS" and you'll find the entire list.

The reason I present this is because it's an interesting study of what Twitter thinks is a bad idea. I would guess that many of these passwords were taken from published lists of passwords used when cracking accounts. If you currently use passwords which resemble any of these listed below, I'd encourage you to change them as soon as possible.
  • 111111
  • 11111111
  • 112233
  • 121212
  • 123123
  • 123456
  • 1234567
  • 12345678
  • 131313
  • 232323
  • 654321
  • 666666
  • 696969
  • 777777
  • 7777777
  • 8675309
  • 987654
  • aaaaaa
  • abc123
  • abc123
  • abcdef
  • abgrtyu
  • access
  • access14
  • action
  • albert
  • alexis
  • amanda
  • amateur
  • andrea
  • andrew
  • angela
  • angels
  • animal
  • anthony
  • apollo
  • apples
  • arsenal
  • arthur
  • asdfgh
  • asdfgh
  • ashley
  • august
  • austin
  • badboy
  • bailey
  • banana
  • barney
  • baseball
  • batman
  • beaver
  • beavis
  • bigdaddy
  • bigdog
  • birdie
  • bitches
  • biteme
  • blazer
  • blonde
  • blondes
  • bond007
  • bonnie
  • booboo
  • booger
  • boomer
  • boston
  • brandon
  • brandy
  • braves
  • brazil
  • bronco
  • broncos
  • bulldog
  • buster
  • butter
  • butthead
  • calvin
  • camaro
  • cameron
  • canada
  • captain
  • carlos
  • carter
  • casper
  • charles
  • charlie
  • cheese
  • chelsea
  • chester
  • chicago
  • chicken
  • cocacola
  • coffee
  • college
  • compaq
  • computer
  • cookie
  • cooper
  • corvette
  • cowboy
  • cowboys
  • crystal
  • dakota
  • dallas
  • daniel
  • danielle
  • debbie
  • dennis
  • diablo
  • diamond
  • doctor
  • doggie
  • dolphin
  • dolphins
  • donald
  • dragon
  • dreams
  • driver
  • eagle1
  • eagles
  • edward
  • einstein
  • erotic
  • extreme
  • falcon
  • fender
  • ferrari
  • firebird
  • fishing
  • florida
  • flower
  • flyers
  • football
  • forever
  • freddy
  • freedom
  • gandalf
  • gateway
  • gators
  • gemini
  • george
  • giants
  • ginger
  • golden
  • golfer
  • gordon
  • gregory
  • guitar
  • gunner
  • hammer
  • hannah
  • hardcore
  • harley
  • heather
  • helpme
  • hockey
  • hooters
  • horney
  • hotdog
  • hunter
  • hunting
  • iceman
  • iloveyou
  • internet
  • iwantu
  • jackie
  • jackson
  • jaguar
  • jasmine
  • jasper
  • jennifer
  • jeremy
  • jessica
  • johnny
  • johnson
  • jordan
  • joseph
  • joshua
  • junior
  • justin
  • killer
  • knight
  • ladies
  • lakers
  • lauren
  • leather
  • legend
  • letmein
  • little
  • london
  • lovers
  • maddog
  • madison
  • maggie
  • magnum
  • marine
  • marlboro
  • martin
  • marvin
  • master
  • matrix
  • matthew
  • maverick
  • maxwell
  • melissa
  • member
  • mercedes
  • merlin
  • michael
  • michelle
  • mickey
  • midnight
  • miller
  • mistress
  • monica
  • monkey
  • monkey
  • monster
  • morgan
  • mother
  • mountain
  • muffin
  • murphy
  • mustang
  • naked
  • nascar
  • nathan
  • naughty
  • ncc1701
  • newyork
  • nicholas
  • nicole
  • nipple
  • nipples
  • oliver
  • orange
  • packers
  • panther
  • panties
  • parker
  • password
  • password
  • password1
  • password12
  • password123
  • patrick
  • peaches
  • peanut
  • pepper
  • phantom
  • phoenix
  • player
  • please
  • pookie
  • porsche
  • prince
  • princess
  • private
  • purple
  • pussies
  • qazwsx
  • qwerty
  • qwertyui
  • rabbit
  • rachel
  • racing
  • raiders
  • rainbow
  • ranger
  • rangers
  • rebecca
  • redskins
  • redsox
  • redwings
  • richard
  • robert
  • rocket
  • rosebud
  • runner
  • rush2112
  • russia
  • samantha
  • sammy
  • samson
  • sandra
  • saturn
  • scooby
  • scooter
  • scorpio
  • scorpion
  • secret
  • sexsex
  • shadow
  • shannon
  • shaved
  • sierra
  • silver
  • skippy
  • slayer
  • smokey
  • snoopy
  • soccer
  • sophie
  • spanky
  • sparky
  • spider
  • squirt
  • srinivas
  • startrek
  • starwars
  • steelers
  • steven
  • sticky
  • stupid
  • success
  • summer
  • sunshine
  • superman
  • surfer
  • swimming
  • sydney
  • taylor
  • tennis
  • teresa
  • tester
  • testing
  • theman
  • thomas
  • thunder
  • thx1138
  • tiffany
  • tigers
  • tigger
  • tomcat
  • topgun
  • toyota
  • travis
  • trouble
  • trustno1
  • tucker
  • turtle
  • twitter
  • united
  • vagina
  • victor
  • victoria
  • viking
  • voodoo
  • voyager
  • walter
  • warrior
  • welcome
  • whatever
  • william
  • willie
  • wilson
  • winner
  • winston
  • winter
  • wizard
  • xavier
  • xxxxxx
  • xxxxxxxx
  • yamaha
  • yankee
  • yankees
  • yellow
  • zxcvbn
  • zxcvbnm
  • zzzzzz

Monday, November 9, 2009

Preventing DNS Outages

Earlier this afternoon there was a DNS outage at the Cybercon data centre. This interrupted service to the WunderCounter. One of the core WunderCounter machines relied solely on Cybercon DNS for contact with the outside world and it went offline along with the in house DNS. This is known as an SPOF (Single Point of Failure) and, as such, this machine was incorrectly configured. Once the onsite outage was over, I had staff revive the machine and I've reconfigured the DNS to query servers from two unrelated providers in order to avoid this problem in future.

I'm going to audit the rest of the machines on the network in order to ensure that this sort of DNS outage doesn't affect the WunderCounter in future. One positive out of all of this is that all of the WunderCounter servers which rely on OpenDNS were unaffected. I highly recommend OpenDNS for both home and commercial use. I've found it to be an excellent service.

So, my apologies for the DNS issues -- this particular problem will not occur in future. Mistakes will happen, but what's most important is that they're not repeated.

Friday, November 6, 2009

Keeping a Slave Database in Sync

I haven't posted too many details of exactly how the WunderCounter is set up, but it uses MySQL replication. This means that there is always one master database server and one or more slave databases which download database updates from the master. The slave databases work much harder than the master and may occasionally require a reboot. Sometimes when this happens database tables crash and need to be repaired. This happened earlier today.

Usually the slave catches up to the master within a few minutes and the lag is barely noticed, but in this case, the crashed table had over 10 million rows. When you're dealing with that amount of data, MySQL isn't always able to repair the tables in a reasonable amount of time for a live site.

While I was dealing with this user log files appeared to be stuck and were not updating, which would make you think your tracking was not happening. What was actually happening was that your hits were being tracked by the master database, but not being updated on the slave database, which is the database which the reporting scripts connect to. The issue with the rogue table has now been fixed and the slave has caught up to the master. So, you can now view any of the hits which you were unable to view earlier. No data was lost, only delayed. :)