Archive for Technical

Analysis of Google outbound link tracking

The X and the "up" icon added recently to Google results

The X and the "up" icon added recently to Google results

I noticed in the past two or so months, after Google upgraded their SERPs to enable users to rearrange and delete results (see thumbnail to right) that the outbound links Google was posting on SERPs were redirects through the google.com site (meaning, they were tracking clicks on outbound links.)

Since I often search for something on Google, then “right-click”, “Copy” to get a link, I noted the links were not the actual links, but Google.com links. This went away shortly thereafter.

Today, checking again, they are using JavaScript to track outbound links (View Source on a SERP and examine the outbound links).

For example, one of our » Continue reading “Analysis of Google outbound link tracking”

Comments (11)

Uh-oh. AJAX-powered search kills keywords in referrers

Remember when all these terms meant consumer products?

Remember when all these terms meant consumer products?

Well, according to Clicky, Smackdown and a discussion forum on Webmaster World, many webmasters are fearful of AJAX-only search from Google.

As I wrote in a recent article on Helium (a low-traffic one, at that), Google is a near-monopoly, and user Shaddows here points out that opting out of Google’s index (say, in protest) is commercial suicide, and I humbly agree.

For SEO, this obviously bodes not well. » Continue reading “Uh-oh. AJAX-powered search kills keywords in referrers”

Leave a Comment

Disappearing content in MSIE7 using AJAX

I write web applications for a living. I enjoy it immensely.

Webkit-based browsers (FireFox, Mozilla, Chrome, and Safari) are a pleasure to work with – they render closely to what you design with stylesheets, their JavaScript engines perform quickly and what you’d expect, and the final rendering of sites is generally pleasing.

Internet Explorer 6 (IE6) and Internet Explorer 7 (IE7), however, are slime mold. » Continue reading “Disappearing content in MSIE7 using AJAX”

Leave a Comment

Valid characters in attribute names in HTML/XML

This has been bugging me for a while, because I do a fair bit of HTML and XML custom parsing code, and kind of wondered what would be the valid characters for an attribute name in a HTML tag, e.g.

<a href="..." name="...">thing</a>

So, what are the valid characters in HTML (or XML) for “href” and “name”, the attribute names in an HTML tag? » Continue reading “Valid characters in attribute names in HTML/XML”

Comments (7)

At first I thought Google was being hacked

Server Down?Ever seen Google down? Me neither. Sure, I’ve seen the “Gmail not available” message, and “Service unavailable” once or twice, but it was only for a few seconds, really.

That said, last month for about 15 minutes, it appeared that Google was down. At first I did what’s called a Domain Name lookup in DNS which normally looks like » Continue reading “At first I thought Google was being hacked”

Comments (2)

Praise for PHP Arrays

I have to give credit to the PHP team for creating what is one of the most flexible, easy to use, and powerful data structures I have used. That is the array.

To be completely accurate, the manual describes it as » Continue reading “Praise for PHP Arrays”

Comments (1)

The death of the email link

AddressLock Logo

You can contact me at “kent -at- no spam marketruler dot no spam com”, and remove the term “no spam” from that address.

And I kid you not, you see this on a lot of sites, even ones which » Continue reading “The death of the email link”

Leave a Comment

Time is hard

ClockI’m talking about time as represented by, say, your watch, and I’m talking about it in context of internationally agreeing on time.

You think about time and it’s no big deal, right? Twice a year we have to change our clocks for some insane reason which has to do with farmers milking their cows or » Continue reading “Time is hard”

Leave a Comment

RAID 5 and MySQL is NOT recommended

First:

Formatting a drive using RAID 5 is a very big mistake when setting up a MySQL database server.

In case you missed that:

Unless you are running mission-critical banking transactions that can not for any circumstance be lost or else a whole bunch of people are going to die and RAID 5 is the only solution that works, then do not use RAID 5 for any database server where you wish to continue to get a modicum of performance in the long term.

Really. I work on a, shall we say, very high-transaction marketing tracking service which processes over 242 million transactions a month. And when I say “transactions”, I mean hits. And while the hits are not, say, as intense as downloading an image file, it adds up.

Some of it is discarded traffic from inactive sites, or refresh pages, but most of the data ends up being pumped into the database, constantly.

I have considered myself somewhat of a MySQL aficionado up until recently when » Continue reading “RAID 5 and MySQL is NOT recommended”

Comments (4)

Top 5 Most Useful non-native PHP functions

Since I’ve been working within PHP for almost 8 years now, I’ve developed some tools which would be nice if included in the core of PHP but I find it hard to do without.

As I have forked off various stand-alone projects which don’t have my usual library of PHP code attached to them, I’ve found myself copying these functions around as they are truly essential to coding almost anything.

You’ll note that a few principles of programming in the following examples:

  • Sensible defaults for values are always allowed to be provided by the caller
  • Handle multiple input values (arrays) seamlessly when it makes sense
  • Support functional programming such that return values generally allow further execution without if statements

And awaaaaaaay we go … » Continue reading “Top 5 Most Useful non-native PHP functions”

Comments (2)