Tuesday, June 30, 2009

Do You Have a GPS-Enabled Camera/Phone?

One of the projects I'm working on right now is a web site which is inspired by the Gawker Stalker. This web app will allow users to upload or email photos, which will then be added to a Google map. In the case where users have GPS data embedded into their photos (like a location-aware iPhone), the images will automatically be thumbnailed and added to the map.

The difference between this site and the Gawker Stalker is that:
  • you'll be able to upload your own photos
  • photos (and sightings without photos) will be mapped in real time (lag will be 1-2 minutes)
  • photos and sightings will be tweeted as they are added to the map
  • you'll be able to map any location which can be mapped by Google maps, so you're not restricted to Manhattan etc
  • if your phone is email-capable, you'll be able to shoot a photo and upload it to the site immediately, giving real time feedback
I'm looking for some beta testers who are willing to help me test out the functionality. We're planning to move to a "live beta" of the site in the next couple of weeks, with a view to going live worldwide later this summer. I'm specifically looking for folks who have camera phones which will embed GPS data into their photos. So, all generations of the iPhone are good. Blackberries may need some tweaking. I'm not too familiar with other phones which may have similar functionality, but if you have one of these phones, please do get in touch with me.

I should add that, for the beta, you won't need to post photos of celebrities in your neighbourhood. This is more about testing the functionality of the site than trying to get any specific content.

Monday, June 29, 2009

How to Get a Discount on Web Hosting

If you're looking for a new web hosting account or want to switch from a different hosting provider, you may be eligible for a WunderSolutions discount. To see if you are eligible for a discount, log in to your WunderCounter account and choose "discounts" from the "options" menu. If you find a discount code displayed on this page, you may use it to sign up for one new web hosting account @ http://www.wundersolutions.com If you have any questions or unsure whether you qualify for a discount, please get in touch with me using the contact form.

Sunday, June 21, 2009

Can I use the WunderCounter to Track Email?

The short answer is Yes (and No). If you want to track who and how many people read your emails, you can certainly do this with the WunderCounter. In order to prevent the tracking code from being stripped out of the email, you should use the Myspace style tracker. There are a few things to keep in mind:
  1. You need to be sending HTML email in order to embed the counter image
  2. Not everyone reads HTML email -- some people have their mail readers display text only
  3. Some people read HTML email, but have images disabled by default
So, you can use the WunderCounter, but you won't get 100% tracking. You'll get a good chunk of it, but there will always be some folks who read the email without you knowing it. It works that way with any email tracking product.

Tracking email reads on a commercial email blast is fine and probably even expected. Beyond that, use your judgment when deciding whether or not to track email reads. There's an expectation of privacy that comes with email which doesn't apply to web surfing. People expect to be tracked online, but they don't necessarily expect to be tracked when viewing non-commercial email, but how you set up your tracking is entirely your decision.

Saturday, June 20, 2009

WunderCounter WordPress Plugin Now Available

If you're a WordPress user and you'd like to track your hits with the WunderCounter, your life just got a little easier. Thanks to my good friend and Perl programmer extraordinaire Dave Doyle, there is now a WordPress plugin for the WunderCounter. (Yes, it's in PHP, but Dave doesn't *just* know Perl. He merely *prefers* Perl...) If you'd like to download and install the plugin, you'll find it here.

To install the plugin, download it, unzip it and rename the folder "wp-wundercounter". This folder should be placed in your wp-content/plugins folder. After you've placed the plugin here, it will show up in your WordPress admin. You'll then need activate the plugin, enter your username and configure your counter appearance (or disappearance) plus some tracking options.

I'm looking to add some additional functionality to this plugin down the road, but it already works, so I wanted to get it out there as soon as possible so that people could start using it and giving feedback.

So, if you have a chance to check it out, please let me know what you think, both the good and the bad. If there's enough interest, we'll continue developing the plugin for you. If you're interested in contributing to the plugin, please let me know and we can get you involved.

Fixed: New Data Highlighting on Dashboard

A few days ago, I posted that some users were reporting that pages with new data were not being highlighted on their dashboard pages. The culprit turned out to be an incorrect system clock on the master database server. This seems to be the only server on the network which does not sync to a network time server. It looks like the machine has been 6 hours behind ever since it was brought back online after the fire. The result is that traffic timestamps for pages were 6 hours behind. (Let me just emphasize that the end user never sees these timestamps. They're only used internally for things such as determining whether traffic has hit your site since your last login.)

The result was that when users logged in to the WunderCounter less than 6 hours after their previous login, the new data was not being highlighted. I reset the clock on Thursday night. If your pages have been hit since Thursday, your timestamps will now be correct. The master database server now also connects to a network time server, so if the clock does get out of sync again (and clocks always do) it will be auto-corrected daily.

Big thanks go to Darla, Shahn, Carol and Bill who all insisted to me that there was a problem, even though I was convinced that everything was fine. ;) It just goes to show how important user feedback is. If you come across a bug, please do everyone the favour of reporting it -- bug reports really do work!

Tuesday, June 16, 2009

Yet Another Perl Conference 2009

Since I'm going to be going to YAPC (Yet Another Perl Conference) in Pittsburgh next week, I just wanted to make a quick plug for the conference for all you programmers out there. YAPC is a great experience and, as far as conferences go, it's affordable and incredibly helpful. There are 3 tracks of talks to choose from on any given day and they're not even all about Perl. For instance, there are some talks on Git which I've already marked on my schedule). The whole 3 day conference is only $150 and it's jam packed with developer goodness.

I haven't really posted about how the WunderCounter works on the back end, but the basic technology is LAMP:
  • Linux
  • Apache
  • MySQL
  • Perl
As far as Linux goes, I strongly prefer Ubuntu. The sites are run under Apache 2, MySQL 5 and Perl 5.8.8 (There's an upgrade to Perl 5.10 likely coming very soon). The web end of things is run under mod_perl using Apache::Registry and dozens of Perl scripts run many, many times on any given day performing maintenance on the WunderCounter. The WunderCounter also has test suites which are run by Perl scripts several times per day to monitor the health of the site, network and databases. So, it depends heavily on Perl, which is why I'd like to give it a little plug.

There are lots of scripting languages out there which can do a lot of the same things which Perl does, but Perl has the advantage of CPAN, which is an open source library of thousands of code libraries. Whenever I'm coding something for the WunderCounter, I check CPAN first to see if somebody else has already tried to solve the problem I'm dealing with. In a lot of cases, there's a module on CPAN which solves my problem, thus saving me from reinventing the wheel.

I've even released some of the code with drives the WunderCounter to my CPAN directory. So, for example, if you need to parse out search engines from referring URLs, you can do so quite easily with URI::ParseSearchString::More, which I published a while back. It's the very same module which the WunderCounter uses and it's free for anyone to copy, use, alter, mutilate etc.

I did mention that I'm going to some talks on Git. Having said that, I should say that the WunderCounter is currently kept in a Subversion repository. Subversion is an excellent source control management system. I plan on sticking with it for some time, but Git does a few things better, so I may switch things over to Git eventually. The new WordPress plugin (to be released shortly) is stored in a Git repository on GitHub, so at least some of the WunderCounter source code will be stored in Git.

Hopefully some of you will find that interesting. As a developer, I'm always curious to find out how people manage things on the back end, so I thought I'd share with you a little about how I like to do things.

Are Your Pages with New Data Being Highlighted?

I've had a couple of users report back to me over the past week that occasionally when they log in, pages with fresh data are not being highlighted on their dashboard page. I'm not seeing this in my accounts, so if this is something you are also seeing in your account, please let me know. That might make the issue a little easier to isolate. :)


Saturday, June 13, 2009

Post Mortem of Last Week's Fire

FYI, here's the official response which Cybercon has provided me regarding last week's fire in the building and the outages it caused:

Cybercon Incident Report: Power Outage on June 6, 2009

1. Incident Date/Time: June 6, 2009 between 10:40am to 11:30am

2. Type of Incident: Power Outage

3. Incident Description: Around 10:40am both the Electric Utility company's (Ameren UE) Transformer fuse and Building's Automatic Transfer Switch's motor blew up.
As a result we lost the utility power and the generator didn't automatically kick in due to ATS motor failure.
Fire trucks were dispatched.

The building owner Digital Realty Trust (http://www.digitalrealtytrust.com/, a public company traded on New York Stock Exchange) manages the building power including the generators and Automatic Transfer Switches. After the fire department inspection, the building management switched the power to the backup generator manually.
Around 11:30am power was restored for all servers and equipment in our data center.
The generators provided power to our data center until around 5pm when utility power was restored.

4. Affected Services: The power outage affects all customer's servers and equipment powered by our Powerline A. Servers and equipment powered by our Powerline B were not affected. After power is restored around 11:30am, servers that failed to auto restart will have longer downtime. Customers who use Cybercon DNS servics incurred longer downtime due to firewall issues with our DNS servers. Due to DNS issues Cybercon SMC web portal failed to work which affect some customers. Cybercon's phone system is on UPS but not on the generator. The Phone system's UPS battery lasted about 30 minutes and died, causing the phone system to go down which affected some customers.

5. Action lists:

* The building management has restored power.

* Cybercon name servers are now on dual power sources (on both powerline A and Powerline B)

* Cybercon phone system are now on both UPS and generator.

* We will discuss with the building management (Digital Realty Trust) about installing the best of class Automatic Transfer Switch gears to prevent future failures of automatic failover to backup generators.

Please accept our apology for any trouble it caused to your company and your customers.

Saturday, June 6, 2009

June 6, 2009: Outages Caused by a Fire in the Building

You may have noticed that the WunderCounter was offline between about 1:43 pm and 10:46 pm today. This highly unusual stretch of downtime was the result of a fire in the building. As I understand it, the fire was on a different floor, but it did knock out the power at Cybercon. The backup power did kick in, but some glitch in the system prevented the backup power from properly coming online. The result was that all of my machines lost power at the same time. "Hard shutdowns" being what they are, not all of the machines came back online without some prompting. In a facility where hundreds of servers have been crashed at exactly the same time and initially having only weekend staff on hand, you can imagine what things were probably like.

Without giving you a complete blow by blow of how today has played out, let's just say that most (but not all) of my servers are now back online. Enough machines are online to run the WunderCounter, so that's good news indeed.

I'll be contacting the data centre on Monday to get a "post mortem" from them and to see what they intend to do to ensure that this doesn't happen again in future. I've been with them for about 9 years now and I don't recally this sort of downtime having occurred in the past, so this really is a rare occasion. They've actually been quite helpful with keeping the WunderCounter up and running with excellent uptime over the past years, so I think they deserve the benefit of the doubt.

I do sincerely apologize for any inconvenience this downtime may have caused you!