Wednesday, February 19, 2014

Frequency: XKCD to EVE

On Monday, XKCD posted a piece called Frequency

Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency
Frequency Frequency Frequency Frequency Frequency

Title text: This comic shows estimated average frequency. I wanted to include the pitch drop experiment, but it turns out the gif format has some issues with decade-long loops.
Reposting courtesy: Explain XKCD

Chatting with my friends in Aideron Robotics, the question came up: "Wouldn't it be cool to do that for EVE data?"  Conveniently, I happened to have that data somewhat handy.  Unfortunately, as I said in my previous post, I was lacking the time to work on it.

After putting out a call on #tweetfleet/#devfleet with "I have the data, if someone wants to make it happen", Lukas Rox of Pozniak.pl answered the call!  With a little bit of JavaScript hacking, he put together two awesome pages:
I already have a repository of destruction counts from zkb.  Using 2013's data to build averages, I sent forward the frequencies to Lukas, who in turn used JavaScript to get the same effect.  Unfortunately, this is averaged data, not live.  I would very much like to update it to match zkb's map function (broken?), but I need to write a different tool to hook into their STOMP service.  It's high on my TODO, but I don't have very much dev time handy right now.  In the meantime, a 15-60min lagging service is possible using my zkb.py to scrape recent kills... but STOMP would be so much better.

To keep this short and sweet: this was a lot of fun to collaborate on.  Where I had the data, Lukas had the know-how.  And the turnaround time, being published 2 days after XKCD posted, was phenominal.  We're still arguing behind the scenes about the time dilation factor (@ashterothi suggested a slider, which might solve everyone's issues).  We are chatting about teaming up on more data projects in the future, and I look forward to putting our tools together!

UPDATE:

A few addendums.

@ashterothi originally suggested the "wouldn't it be cool if..." comment that compelled me to scrape the data and throw it out to #tweetfleet

Lukas also pushed an page that chronicles the big B-R5RB fight: http://pozniak.pl/evestats/br5rb/ 

5 comments:

  1. Lukas Rox is a pilot from Aideron Technologies, which is a splinter of Aideron Robotics ;-)

    PS. I actually made no gifs whatsoever. Everything is pure javascript/css/html code. Except for ship images of course.

    ReplyDelete
    Replies
    1. By the way, do you happen to have kills from B-R ? We could play the real battle as it happened.

      Delete
  2. Very nice blog. Never found it until now and I must admit it's one of the best blogs (not only Eve based) that I've ever read :) I am a statistics fan and love science in every aspect. To see someone bringing it into Eve is really fantastic! Thanks to you and your tool I am able to do some statistics myself for Capital Ship counts since the very first killmail. Together with two friends we are working on a automated database that's available via GDocs. As soon as it's ready to go fully online, I will let you know about it :)

    Because you use some german words and the blog ending is .de, are you from germany that emmigrated into the US?

    Regards

    ReplyDelete
    Replies
    1. Thanks so much for the interest! I am eager to see your project, I love seeing all the different data projects in EVE.

      Unfortunately, I am US born and raised. Blogspot does local mirrors for a bunch of countries, so if you access from UK you get .uk, Germany gets .de and so on.

      Delete
    2. Ah, well, yeah, something I should have figured myself :D

      Delete