The ticker here.

The Developers Counter is not legit:

   <script type="text/javascript">

        var visitors = 5373771; //Appears to be a modified based on actual count
        var updateVisitors = function()

                var vs = visitors.toString(), 
                     i = Math.floor(vs.length / 3),
                     l = vs.length % 3;
                while (i-->0) if (!(l==0&&i==0))
                    vs = vs.slice(0,i*3+l)
                       + ',' 
                       + vs.slice(i*3+l);
                setTimeout(updateVisitors, Math.random()*2000);

        setTimeout(updateVisitors, Math.random()*2000);


The back story here is I thought it was a cool little effect and might put the idea to work on one of my sites. I inspected the source hoping to see some ajaxy goodness and was sorely disappointed when Math.random() jumped out ... Santa is Dad. :(

  • +1 for exploring and finding it out !! – Amarghosh Oct 14 '09 at 16:16
  • 5
    @Amarghosh: even though all the OP did was post a link. – TheTXI Oct 14 '09 at 16:22
  • @TheTXI I figured we were all smart enough to explore the source. But thank you for posting the js for the benefit of the question. – xanadont Oct 14 '09 at 16:23
  • 6
    Now, I wonder if gmail megabytes count follows a similar approach :-/ – OscarRyz Oct 14 '09 at 16:28
  • @Oscar Reyes: The world may come crashing down around us if we find out that Google is being disingenuous. – TheTXI Oct 14 '09 at 16:30
  • 3
    Alex had to have stole the code from somewhere... – GEOCHET Oct 14 '09 at 16:30
  • Is Welbog in a meeting today? I would love to hear his input on this "issue". – Troggy Oct 14 '09 at 17:49
  • -1. Like others have said, advertising is almost by definition not 100% pure and accurate; if it was none of us would ever buy anything. I'm assuming you don't really believe you're the 1 millionth visitor to website x and are therefore entitled to a free PS3, right? – John Rudy Oct 14 '09 at 17:54
  • @Troggy: Don't know about meetings, but I can't keep track of his near-constant name switches anymore. Last I saw he was www.biglaser.net ... He could be here and we might not even know it! (dum-dum-dum!) – John Rudy Oct 14 '09 at 17:55
  • 2
    Troggy, he's not in a meeting; he's just changed his name to "Troggy." – Craig Stuntz Oct 14 '09 at 17:56
  • The thing is where did this number came from? If actual number is bigger than the one announced the ad is legit, if it is less then the ad is "disingenuous?" – OscarRyz Oct 14 '09 at 18:09
  • +1 for "Santa is Dad :(". caused lol. – snicker Oct 14 '09 at 18:56
  • 3
    +1 for noticing! As they say, all press is bad press... err good press is bad press? Or something like that... – Alex Papadimoulis Oct 14 '09 at 19:34
  • @TheTXI I didn't go through the edit history and thought OP actually got doubtful about the ticker and explored the source code. +1 to you. – Amarghosh Oct 15 '09 at 4:17
  • Just felt like mentioning another nice counter, the spam filter of a well-known Dutch internet provider: xs4all.nl/veiligheid/statistieken.php (sorry, can't find the English page any longer; auto-translation at translate.google.com/…). Yes, 94% of incoming email is spam. :-( – Arjan Dec 4 '09 at 21:12

I think we should all sign a petition asking Jeff to immediately change the logic to do a SELECT COUNT(*) FROM USERS on every page load and then rework this counter to be an AJAX control that updates every 30 seconds.

He may say it will slow down the site, but it is far more important that something irrelevant be accurate than something important be fast.

  • 1
    Best answer so far. – TheTXI Oct 14 '09 at 16:58
  • 3
    They are not users but visitors ( as The TXI points out ) – OscarRyz Oct 14 '09 at 18:05
  • @Oscar Reyes: Shawn was being facetious. – TheTXI Oct 14 '09 at 18:36
  • facepalm @ Oscar – GEOCHET Oct 14 '09 at 19:29
  • 4
    Doesn't change the fact. – OscarRyz Oct 14 '09 at 23:35

Do you also get angry when you drive by a McDonald's and the sign says "BILLIONS AND BILLIONS SERVED"?

The seed value seems to change when you reload the page (possibly cached, it doesn't seem to refresh EVERY time), so it looks as if it may actually be getting a count of users from the database and then just doing random upcounts for visual effect until you actually reload the page.

I don't see how it is unethical, IMHO. Too many people get wrapped up in the "ethics" of advertising and expect it to be some sort of puritanical realm when that couldn't be farther from the truth.

But like Pesto said in the comments, it would probably be better for everyone involved if instead of a fancy random uptick, it just said "Over [initial database count]". I wouldn't have a problem with that at all, but I also don't have any problem with it the way it is.

Extra Note: I also find it incredibly sad that we are even discussing the ethics of this as if it wasn't anything more than a hacked up hit counter. It says VISITORS in the code, so it is logical to assume that it is actually tracking unique pageviews (something advertisers actually care about). I guess if you want you could also start complaining about the fact that the text says "[number] Developers are waiting" when you have no guarantee that those page views are all being generated by people who code.

  • 3
    Totally right? The movie wasn't even out yet. – random Oct 14 '09 at 16:02
  • 5
    Jeff commonly goes off into "ethical advertising" diatribes. So either a) he doesn't realize the ticker's function or b) I'm confused why it's OK with him. – xanadont Oct 14 '09 at 16:13
  • Advertising should be ethical. – Lance Roberts Oct 14 '09 at 16:14
  • 3
    @Lance Robers: Sure, but some of you people have such an absolutely retarded sense of what is "ethical" and what is not that if you had your way every advertisement would consist of nothing except "please buy my product, thanks." – TheTXI Oct 14 '09 at 16:20
  • 1
    There is no NEED either! I trust StackOverflow better than McDonald's anyway. – OscarRyz Oct 14 '09 at 16:23
  • @TheTXI: No, just the facts. – Lance Roberts Oct 14 '09 at 16:24
  • 6
    The difference between "BILLIONS AND BILLIONS SERVED" and a specific number is that McDonald's is being factual, this counter isn't. While it may be starting with the correct value, it's making it up after that. What's wrong with "Over 5,373,771 developers are waiting for you"? – Hilarious Comedy Pesto Oct 14 '09 at 16:24
  • @Pesto: Wouldn't have a problem with that at all. – TheTXI Oct 14 '09 at 16:24

I certainly feel like I am being cheated by this JavaScript tomfoolery. I want someone to actually count these developers, preferably by making them stand in a line so that we can be sure that they are not counted twice, and using a pencil and paper rather than some newfangled electronic gizmo.


Sweeeeeeeet! Some one finally noticed the counter!

The number comes from Google Analytics, and is the "Absolute Unique Visitors" count. I suppose I could put that in a footnote or something, but no one really cares.... and if they do, they can just call and ask for a full picture on the statistics, since just that one number is kinda silly.

Anyway, the whole notion of even counting absolute unique visitors is a bit hokey and disingenuous as is. Let's set aside the whole "IP Number" issue, and consider that there's no way for Google Analytics to know how many actual people are sitting in front of the monitor viewing the site. Or, for that matter, how many people go to different computers to view the same site.

But we all know that. The accuracy precision is maybe in the thousands, but that's a heck of a lot better than traditional viewership numbers (think Nielson), which always come out in 100K increments. But most importantly, we all know it's a fun eye-catching marketing thing. 5,373,771 is basically the same as 5.4M, but the former is a more fun number to write out.

As for the Math.random, that's there to make it feel more "organic" instead of incrementing at a fixed interval all the time. Hokey? Probably. But not any hokier than Absolute Unique Visitors, and GMail does it.

  • 2
    As dumb as I find xanadont and Lance's argument, I have to say that I think you completely missed the point they were attempting to make. Your upcounter is not actually upcounting real views/visitors/users as it goes along, it is just incrementing at random intervals. Therefore they find it unethical. – TheTXI Oct 14 '09 at 19:27
  • 10
    Wait... they were serious about that? I thought this was all like tounge-in-cheek :-/. OK, new answer. The rate at which new visitors come to the site is random. The counter is also random. They are both random, and therefore both equal. Ergo ipso facto lorem ipsum. – Alex Papadimoulis Oct 14 '09 at 19:54
  • 3
    It's eye-catching, and kind of neat. But I'm on the side that thinks that if you are going to put up the "number of developers", that should be the number of accounts, not the number of visitors. And if you want it to update, increment a global counter when a new person creates an account, and poll it from JS. But I guess I'm one of those that thinks "it's marketing" is just an excuse to lie to us, and I resent being lied to. – retracile Oct 14 '09 at 22:09

I suppose by this same flawed logic, wall clocks are not legit either because they only estimate the current time and aren't directly connected to the Time and Frequency Division of NIST.

  • 2
    My wall clock is... – mmyers Oct 14 '09 at 16:52
  • 4
    So, I just got done melting all my clocks down into slag. Now can we continue with our witch hunt? – TM. Oct 14 '09 at 16:54

Did you not think the number of developers signed up on StackOverflow might actually exceed the number shown on page (5373866) with the page left open for the normal, average amount of time?

Let's say, at maximum, a potential company representative stays on that page for 2 minutes. The counter would increase by, what, 200? Bringing the total to 5,374,066.

What if this number is actually less than the number of developers registered on SO? Is it still 'disingenous' and are you still offended?


I think this is the difference between programmers and advertising.

By our very nature, programmers want everything to be exactly correct - especially when it comes to numbers. Even large numbers. If we say 12,347,132 we damn well mean 12,347,132, and if there was an epsilon we'd bloody say 12,347,132 +/- 2!

Advertisers... well I probably can't say anything without it sounding like a criticism, so I'll just say they aren't as exact, especially when it comes to numbers. And I think anyone doing advertising understands that.

Moral of the story? Don't let programmers make advertisements, and don't expect every advertisement you see to be exact. That's what contracts are for.

  • 1
    I'm pretty sure the precision has nothing to do with it, rather the "effect" is to make the number look live and active. And this it is faking. Me? I'd make it a static number and prevent any question of ethics like this one. – xanadont Oct 14 '09 at 16:16
  • 2
    The number IS live and active in the sense that it updates the initial seed on reload with the accurate count. If you took away the visual effect, you could also sit there and make the argument that the number will not be accurate because the real number IS always climbing. – TheTXI Oct 14 '09 at 16:24
  • The jumping up & down of the numbers leads you to believe that it's phoning home and checking in to make sure you have a to-the-second accurate number. This is misleading. Having a static number is NOT misleading; we would (or should) all assume that the number posted was correct at the time the page was rendered. – xanadont Oct 14 '09 at 16:28
  • 5
    @xanadont: Just stop crying. It is embarrassing to even watch. – GEOCHET Oct 14 '09 at 16:33
  • 2
    I like the way TheTXI puts it though. Assuming the rate at which the value climbs is roughly accurate, the value is more likely to match the true current value than if it were the static value when the page was loaded. – Gregyski Oct 14 '09 at 16:36
  • 3
    @xanadont - I don't want to ruin your week, but... you know those little turning-gear graphics thingies that pop-up when you click something that takes some time? Those are animaged GIFs. They're not actual gears that are programmed to churn bytes. It's just a visual effect to show that 'something' is happening... now if only we could think of a simply, easy visualization to show a site's traffic is constantly growing ;-) – Alex Papadimoulis Oct 14 '09 at 20:02
  • @Alex - I don't want to ruin your week, but... you know the free space left on your Mac HD? Well it's actually quite a bit less than you think. Apple's gig equals 1000 mb where others equal 1024. It's just a scheme to make you feel all warm and fuzzy inside. – xanadont Oct 14 '09 at 21:42
  • Noooooooooooooooooooooooooooooo!!!!!!! – Alex Papadimoulis Oct 15 '09 at 14:58

Ouch, not only gmail's megabyte count could be "disingenuous" ( what does that mean anyway ) ehem but the script is suspiciously similar to SO:

// Estimates of nanite storage generation over time.

var CP = [
 [ 1199433600000, 6283 ],
 [ 1224486000000, 7254 ],
 [ 2144908800000, 10996 ],
 [ 2147328000000, 43008 ],
 [ 46893711600000, Number.MAX_VALUE ]

function updateQuota() {
    if (!quota_elem) {
    var now = (new Date()).getTime();
    var i;
    for (i = 0; i < CP.length; i++) {
        if (now < CP[i][0]) {
    if (i == 0) {
        setTimeout(updateQuota, 1000);
    } else if (i == CP.length) {
        quota_elem.innerHTML = CP[i - 1][1];
    } else {
        var ts = CP[i - 1][0];
        var bs = CP[i - 1][1];
        quota_elem.innerHTML = format(((now-ts) / (CP[i][0]-ts) * (CP[i][1]-bs)) + bs);
        setTimeout(updateQuota, 1000);
  • 5
    MY LIFE IS OVER – TheTXI Oct 14 '09 at 16:40
  • 2
    Like we didn't all know Alex stole it. – GEOCHET Oct 14 '09 at 16:42
  • Nice detective work! – xanadont Oct 14 '09 at 16:46
  • 4
    @Rich B - It's called playing homage to GMail. And yes, this was the inspiration. – Alex Papadimoulis Oct 14 '09 at 19:04
  • 1
    @Alex: Just like you paid homage to Programming Praxis I suppose. – GEOCHET Oct 14 '09 at 19:30
  • I think the variable named "bs" says it all. – Lawrence Dol Dec 5 '09 at 1:58

I was wondering where did that 5M number came from.

As The TXI points out they are visitors ( not user which do not reach more that 140k adding the three sites S[OFU] )

On this blog entry Jeff mention they serve Quantcast cookie too.

Well we do have a backup in the form of Quantcast; we serve their cookie too. You can think of Quantcast as Google Analytics but 100% public data.


(select the Page-Views dropdown)

Global daily is right at 1.0M, and max is stated as 9/29/09, so two sources agree at least.

Assuming those Page-Views are from developers and the measure used is "Per-Week" ( and even subtracting a number of non-developers ) I think the

5,374,xxx developers are waiting for you

Is still legit.

As Pesto said, adding an "Over" would make it perfect.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .