All posts by franz

Tupalo +1

google plus one

google plus one

yesterday Google introduced a new feature

Google +1

it’s basically a Facebook like button – just from Google, and no, we don’t know yet why you should use it (or why we should promote it), but we want to find out.

so either do it for us or do it for science on


Wir sind Nummer 1 (ÖWA, Unique Clients)

That was easy!

Wir sind Nr. 1 bei den Einzelangeboten. Bei ÖWA getrackten Websites. Im Februar. Sortiert nach Unique Clients.

Danke an all die User die uns auf diesen Weg begleitet haben.
Google Trends for Websites_

Und an all die User, welche uns jeden Tag neu entdecken.

Den geübten Zahlen-Checkern unter euch wird beim Betrachten der ÖWA-Liste natürlich auffallen, dass hier
apple kiwi
Äpfel mit Birnen (bzw. Kiwis, siehe Bild oben) verglichen werden (z.B. dass wir “Anteil PI aus AT in %” nicht berücksichtig haben). ÖWA Zahlen sind ein wichtiges Marketinginstrument in Österreich und bei Marketingzahlen sucht man sich natürlich aus, welche man wie kommuniziert. :)

Wir finden das toll. Wir finden euch toll. Danke. Zeit den Sekt aufzumachen.

261 Billa

Die Überschrift ist die Antwort auf die Frage “Hey du, wieviele Billa gibt’s eigentlich in Wien?” “Das ist doch ganz einfach, basierend auf den Daten für Österreich gibt es in Wien 261 Billa.”.

Billa Wien

Oder eine andere Frage: “Hey Horstl, geh’ma zur Aida?” “Sicherlich, zu welcher der 27?”

Read more…

What We’re Reading

Okay, the question was “Hey team, what are you reading when you’re not working on Name three websites you visit daily. does not take part in the competition.”

Well, some of them choose to ignore the three sites limit and some of them did not respond as they are currently on an airplane. Anyways, here’s the result:

long tail

First of all, we are proud to announce that we have a long tail online habit.

The top spot clearly goes to Hacker News. Yeah, deep down we are hackers (after the real definition, not the tabloid definition).

Second place belongs to  Techcrunch. Then comes news:,, After this, everything else.

What do you read?  This is your chance to post any awesome URL into the comments below.

Hey Salzburg, a Tupalero needs a couch

Hi, my name is Franz, I’m a Tupalero, work as a SEO at and i need couch.

I’m giving a talk at the first Austrian SEO conference – So i will be there at the 18.11.2010, talking about Search Engine Optimization to a lot of people which paid a lot of money to hear me (and some other SEQ guys) talk, then network and party. Thing is … my talk is at 10:30am. Well, as i need to be there early i need somewhere to sleep from the 17th to the 18th. The conference is somewhere near Urstein Süd 1 5412 Puch/Salzburg

So if you have a flat near Salzburg (or even Puch/Salzburg) and have a couch to spare for one night, please contact me at franz {@t} I will not pay you anything, but we can have a nice chat about SEO.

couchImage (cc) Sarah Lilburn

We are Nr 3.

Öwa September 2010

We are nr 3. You are awesome.

ÖWA, the Österreichische Webanalyse (think Nielsen of the Sound of Music country) ranks us


of all ÖWA measured single property websites (sorted after unique clients) for September 2010.

We think that is awesome, and it’s all because of you. 1.663.830 thx.

p.s.: yes, we know that we compare pears kiwis to apples. please see our last months post about that.

The SEO mystery of the missing sitemap XML requests finally solved

We did it. We solved one of the unsolved big SEO (Search Engine Optimization) mysteries of the modern time. It took quite some time, dragged us down in the deep pits of the TCP/IP and HTTP 1.1 specification, but finally we emerged victorious.

What’s the mystery:

Sometimes in Google Webmaster Tools -> Sitemaps you see error messages like: “We encountered an error while trying to access your Sitemap. Please ensure your Sitemap follows our guidelines and can be accessed at the location you provided and then resubmit.

Webmaster Tools - Sitemaps-1

Then you start investigating: yes, the file is there, yes, it is accessible for googlebot, yes, it has content, yes, it’s like specified on

Then you dig deeper: the error logs, the access logs, all logs, and then you realize: that f*cking GET request does not exist in the timespan Google reported (to be sure you look at a longer timespan, still nothing there).

No GET request!

You look at the network, you look at the DNS, could it be that the requests went astray. You dig and dig, even bother to write a ticket to your server housing company. Still, nothing comes up, no leads.

Then you dig deeper: TCP/IP HTTP 1.1

  • You realize that googlebot makes multiple (we counted up to 11) GET requests in one single TCP/IP connection. (which is OK according to the HTTTP 1.1 spec).
  • You realize (with the help of stackoverflow) that these multiple GET requests in the some TCP/IP connection are processed in sequence (one after the other).
  • You realize that if one these GET requests has a major time lag (is much slower than the other GET requests) Google cuts the TCP/IP connection.
  • Because all the GET requests in the connection were processed in sequence, all the GET requests after the cut are lost. You don’t see them in the error/access logs as they were never processed, even though they were sent.
  • You see an error in Google Webmaster Tools, without a trace in your logfiles.

SEO Mystery solved.

If you don’t understand a single word i just wrote, please remember, we are geeks.

Being an Intern at

by Andreas Tiefenthaler

8:30: My alarm rings and i am searching for the snooze button, I hit it, turn myself around and getting another 7 minutes of good and healthy sleep.

8:37: Starting the game again.

9:00: Finally on my way to the office, there i grab a coffee and say hello to my colleagues and the almighty office dog Laika. After some nerdy talk and a few instructions for the current project I am currently working on, i fire up the dev environment and start working


by Thomas Schranz

11:12: The signs of hunger occur at the office and I am stuck on some weird magical ruby stuff. Playing a little with Laika clears up my head and I can solve that problem. Discussions about the food start rising.

11:45: the unicorns are dead, i repeat the unicorns are dead! After some short downtime is up again.and the unicorns are jumping around like little ponys. We start investigating the problem, what happened? The database again..

12:30: Finally some lunch. (Yeah food is quite important for us (: )

13:37: Back to coding/learning/freaking out.

16:00: Coffee break and nerdy talk about the newest hackernews trends.

~18:00: Time to go home.

andy ti

by Thomas Schranz

Why should you do an internship at a small startup?

I’ve learned so many things in these two months at tupalo. First of all it was very chaotic, fast and overwhelming. I more or less got thrown into the deep end, had my own projects and was responsible for them from the first day on. I had to learn how to solve a for me completely unknown problem with a programming language I barely knew. Quite tough, but with this team no problem. Whenever i needed help or had a question according something, someone helped and explained it to me.
If you love creating/learning/working on new stuff and want to feel the full startup experience i recommend you to an internship at a small startup.

And what did i do?
Basically I was working on backend stuff, implementing data import scripts, fetching event data from one of our partners, save it to memcached and display it on the page of the spot where they will take place. I was also involved to do some system administration tasks on our “private cloud”.

Thank you all at for this experience (:


by Petra Gschwendtner

Google Analytics – visits for all visitors – comparison Ruby script

Hi. I stole this GA Visits for all visitors ruby script from our CTO. Hope you find it useful. It requires installed Ruby.

It displays

  • visits for all visitors
  • hourly view
  • yesterday – compared to – day before
  • current day – compared to – day before
  • side-by-side

Visits for all visitors - Google Analytics ruby script

Note: screenshot does not display data, but data from another experimental domain.

here is the code, all you need to do is to paste your profile-id into it. (the stuff after &id= highlighted in yellow).

#!/usr/bin/ruby -wKU

class Fixnum
def day(v=self); v * 24 * 3600; end
def week(v=self); v *; end

def google_analytics_visitors_compared_to_last_week_url(time =
date_now = time.strftime("%Y%m%d")
date_last_week = (time - 1.week).strftime("%Y%m%d")
" id here&seg0=-1&pdr=#{date_now}-#{date_now}&cdr=#{date_last_week}-#{date_last_week}&cmp=date_range&gdfmt=hour&rpt=VisitsReport&gdfmt=hour"

def open_in_browser(url)
system "open '#{url}'"

open_in_browser google_analytics_visitors_compared_to_last_week_url(
open_in_browser google_analytics_visitors_compared_to_last_week_url( -

Screenshots of with a Kindle (3G, Wifi Edition)

Ok, the title pretty much says it all. Did you know that the new Kindle 3G has an awesome HTML5 Webkit browser?

tupalo startpage kindle

You see the skewed bars on the start page? That’s pure CSS3 webkit-transform beauty.

a cool spot page on kindle 3g kindle

For those interrested in the technical deatails of the kindle browser, the actuall user agent of the Kindle 3G is: Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600×800; rotate).

useragentstring kindle