The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.
Officially Introducing PinMash - PA Pin Rating Engine
This site asks you to ignore your collection and what you do or don't need right now, and instead judge a matchup between two pins on general desirability. On the backend it uses an Elo rating system (like chess or League of Legends) to make zero sum rating changes to both pins in the matchup.
@Beker on the PA forums came up with the original idea for this in a thread back in April, and I ran with it for the past few days. Once a sufficient number of ratings have been made, these ratings should give a good look at how much each pin is valued by the pin community.
Other Details:
There is a Rest/JSON API to access the data if anyone wants to use it in some other site/app/project: point your doo-dad to http://pinmash.info/DataV1/AllPinData
The system is designed to give new pins more mobility in the system at first, so any newly added pins (Naughty Dog 30 Years at the time of this writing) will bounce around more for a while
If you're looking to do something new with the data/site, or are looking for some new feature or change, shoot me a PM and I'll see what I can do.
Big thanks to all my testers in the community thread who clicked away to build the initial data set!
One suggestion for the future. Can you make it so that an image of the pin shows up if you hover over the link in the ratings system? That way you can easily see which pin it is refering to.
Hah, nothing -- but they've been dropping like flies on new machines these days. Even our corporate laptops at my job stopped coming with optical drives last year.
They're gonna come back big time once pins start popping out of them!
I'm picturing it like those bitcoin guys -- a whole room full of exposed motherboards with 12 DVD drives plugged into each one, just spitting out pins 24/7.
They're gonna come back big time once pins start popping out of them!
I'm picturing it like those bitcoin guys -- a whole room full of exposed motherboards with 12 DVD drives plugged into each one, just spitting out pins 24/7.
Definitely sounds like a safety hazard on many levels... Let's do it.
@dmosinee, this is awesome! You seem fairly open to it in the top post, but any issues if I use this data (attributed to pinmash.info) in my iOS pin-inventory app, PinnyWise? (pinnywise.com for more info). This is an awesome utility.
@dmosinee, this is awesome! You seem fairly open to it in the top post, but any issues if I use this data (attributed to pinmash.info) in my iOS pin-inventory app, PinnyWise? (pinnywise.com for more info).
Absolutely no issues, do whatever strikes your fancy with that data. The same goes for anyone else out there; feel free to use the API data anyway you want -- although please let me know if your application is going to be pounding on that endpoint all the time so I can set up some sort of caching strategy.
So I know I haven't done a PinMash update in a long time, sorry about that. Holiday craziness blah blah blah.
But I just pushed new stuff a few minutes ago. The pin roster is now completely up to date on released pins (the new ones still need a bunch of ratings though!), and I worked a little ORM voodoo to take the loading time of the ratings page from get-a-sandwich-slow to bang-howdy-fast.
One suggestion for the future. Can you make it so that an image of the pin shows up if you hover over the link in the ratings system? That way you can easily see which pin it is refering to.
I like that you have the history of a pins ranking in there. Any possibility of adding a little line graph with ranking by date, so we can easily see over time how a pin has fared? I'm sure some steadily climb. While others peak after release and then lose ranking. Certain ones might get more popular around PAXen, or around the holidays. That kind of information is super interesting to me. This is all the unofficial thoughts of a pin fan btw.
There's a few ideas I've been kicking around related to reporting, including the graphs that you mentioned. implementing the graph itself would be easy, but the system itself has some flaws that might make the data less useful than it could be.
Just looking at a graph, it'd be hard to know if a pin's rank gain is due to initial placement activity (the road from the starter 1000 to its "true" position) or an actual change in desirability. One thing I thought of to try and improve the data was to assign some kind of accuracy rating to the pins internally. My thinking was that a pin could be in some kind of "starter" state until it has been matched up at least once with every other pin out there. This would also let me tinker with the K values (how much a pin goes up or down after a matchup) in a more deterministic way than I do know (which was just guessing a matchup count threshold).
That leads into a more significant enhancement that the system could really use, which is making the matchups less random. Right now it is just 100% random roll which pins get put into a matchup, but ideally the system would have the intelligence to build matchups with more statistical significance. It could line up more matchups including brand new pins (until they get a good number recorded), and also avoid matchups where there is little to no relevant data to be gained (Leeroy vs Ginger Lookout doesn't really do anything, except possibly muck up the ratings if someone misclicks). This doesn't mean that Ginger can't ever climb the rankings -- just that he will have to claw his way up the ladder against more reasonable matchups (like say Sketch Gabe or Project Spark) before he can take on the big dogs.
Another thing I've wanted to do for a while, is use GeoIP (with a manual override if it guesses wrong) to categorize ratings as USA, Australia, and Rest of World. By default I would leave the main rating list as the full composite -- but it could be very interesting to see what the list would look like if you only counted ratings from Australia etc.
You guys are going to tank my work productivity, heh. How am I supposed to concentrate on building boring financial line of business web apps when all I can think about is awesome pin rating web apps
I just updated PinMash with the latest pins to match PinnyPals (so not the East pins yet), but wait, there's more!
While this is not a user facing thing, it means that in the future you all won't be sitting and waiting on me for updates. Basically I made some code changes to hitch my PinMash wagon to the PinnyPals horse, effectively passing the buck to @grgemonkey to keep the pin database up to date Now I have a 5-second administrator action I can take to resync the PinMash database with all the most recent data and images from PinnyPals. PinnyPals doesn't have a true external API for this stuff, but I was able to scrape the sites internal API to get all the pin data, and scrape the generated javascript for the image URL mappings (which my code uses to download the images to the PinMash server). If @grgemonkey makes any significant changes it may all far apart, but for right now it is working and I have successfully passed the buck :P
I do come bearing something in return for this buck-passing though. I put a new version of the API out there (the old one still works as it did if you already built something around it), that actually returns the ID that PinnyPals uses for a given pin instead of the PinMash internal one. This should make it a lot easier for @grgemonkey to pull PinMash scores for particular pins over there.
The new pins will (as usual) start out at 1000 just like they all did when new -- but changes I made a while back will give them some extra mobility in the rankings until they build up a suitable bulk of ratings.
I've got real nice changes lined up for an update after PAX East too, and these will be user-facing ones 8-)
I just updated PinMash with the latest pins to match PinnyPals (so not the East pins yet), but wait, there's more!
pinnypals.com has the East pins. Please update pinmash.info.
--Jarrod "Jaberwocky" Lombardo, PAX Enforcer: Info Booth Manager.
"We know that the moment we slip, it will be taken away... and so it is of the utmost importance to be worthy of it constantly."
PAX will always be held on the best weekend for PAX. Sometimes that will be a bad weekend for you; I'm sorry.
I just pushed an update to the PinMash core that makes a few improvements that have been needed for a while:
Year Variants! Any pins with multiple print years will now be treated as separate pins. This should give us some sort of data on how much people actually want them compared to other pins.
Smarter Matchups! This is the big one from my perspective, and it should make a big difference in the accuracy of the ratings. The pins put into the matchup are no longer totally random -- it now picks one at random, then picks the other out of a variable sized range above/below the first in the ratings. This means you will see good matchups like Aus Shield vs Leeroy, instead of The Order vs Catsby. This should correct some outliers that rose too high in the rankings based on easy matchups
Infrastructure! I made some pretty significant changes to the database as part of this update, which should stave off slowness in the ratings pages and will keep things easier to maintain and add features to in the future.
Integration! I updated my wagon-hitching code to use the API @grgemonkey graciously set me up with to make updates even easier. It also opens the door to some interesting features down the road.
The above mentioned database changes were so significant that it required me to rebuild the database entirely. I migrated over the old scores but not the historical data of the matchups, so the rating count was reset to zero. I still have this data if someone wants it for archival purposes.
So you know what that means... time to get in there and make your voices heard! The new matchup system will make the choices harder, but duty calls people! These East pins aren't going to rate themselves.
As always, post up any feedback etc. here and keep on mashing 8-)
PP is going to open up all it's data to other apps (you will need to give permission to them). So people can do more funky maths stuff, the most interesting data will be making trades public (anonymous, only the X for Y part, you can opt-out but please don't :P), both successful and unsuccessful. That should make for some interesting results!
@dmosinee also seeing a much slower load time. Clicking on a pin, theres a lag before it shows the next match. At first I was clicking twice thinking the clicks werent registering, but it appears to just be general slow response
edit: also small suggestion, disable the buttons after the first click, sometimes it takes a little bit to load the next pins and I'm not sure if it registered the first click and I click again.
edit: also small suggestion, disable the buttons after the first click, sometimes it takes a little bit to load the next pins and I'm not sure if it registered the first click and I click again.
This, ladies and germs, is what we in the biz call peer review. I was always disabling the click event, but for some reason I never even thought about visually disabling them (probably because I do all my testing on a local environment where they load instantly). It took all of three minutes to make the change
Posts
Pinny Pals Lanyard
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Pinny Pals Lanyard
I'm picturing it like those bitcoin guys -- a whole room full of exposed motherboards with 12 DVD drives plugged into each one, just spitting out pins 24/7.
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Definitely sounds like a safety hazard on many levels... Let's do it.
Let me know, thanks! And great work!
Absolutely no issues, do whatever strikes your fancy with that data. The same goes for anyone else out there; feel free to use the API data anyway you want -- although please let me know if your application is going to be pounding on that endpoint all the time so I can set up some sort of caching strategy.
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
But I just pushed new stuff a few minutes ago. The pin roster is now completely up to date on released pins (the new ones still need a bunch of ratings though!), and I worked a little ORM voodoo to take the loading time of the ratings page from get-a-sandwich-slow to bang-howdy-fast.
Ask and ye shall receive... (two months later):
Get in there and pound on it pin peeps!
www.pinmash.info
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Pinny Pals Lanyard
Just looking at a graph, it'd be hard to know if a pin's rank gain is due to initial placement activity (the road from the starter 1000 to its "true" position) or an actual change in desirability. One thing I thought of to try and improve the data was to assign some kind of accuracy rating to the pins internally. My thinking was that a pin could be in some kind of "starter" state until it has been matched up at least once with every other pin out there. This would also let me tinker with the K values (how much a pin goes up or down after a matchup) in a more deterministic way than I do know (which was just guessing a matchup count threshold).
That leads into a more significant enhancement that the system could really use, which is making the matchups less random. Right now it is just 100% random roll which pins get put into a matchup, but ideally the system would have the intelligence to build matchups with more statistical significance. It could line up more matchups including brand new pins (until they get a good number recorded), and also avoid matchups where there is little to no relevant data to be gained (Leeroy vs Ginger Lookout doesn't really do anything, except possibly muck up the ratings if someone misclicks). This doesn't mean that Ginger can't ever climb the rankings -- just that he will have to claw his way up the ladder against more reasonable matchups (like say Sketch Gabe or Project Spark) before he can take on the big dogs.
Another thing I've wanted to do for a while, is use GeoIP (with a manual override if it guesses wrong) to categorize ratings as USA, Australia, and Rest of World. By default I would leave the main rating list as the full composite -- but it could be very interesting to see what the list would look like if you only counted ratings from Australia etc.
You guys are going to tank my work productivity, heh. How am I supposed to concentrate on building boring financial line of business web apps when all I can think about is awesome pin rating web apps
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
http://pinmash.info - Head-To-Head battle of pins! Choose the most desirable.
http://pinnywise.com - iOS pin collection tracking app.
----
My Delicious Pins For Trade
Well dmosinee you heard the official proclamation from a confirmed PA staff member who relayed it straight from ROBERT KHOO HIMSELF!
Get to work!
:P
Pinny Pals Lanyard
I keep hearing about this @Robert Khoo face, and from what I understand this is not a gaze you want directed your way
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Caught on camera.
https://www.youtube.com/watch?v=tUYB0AEiRZY
Nusquam Findi Factionis
My Digital Pin Lanyard
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Trade me pins! - https://pinnypals.com/pals/TheAggroCraig
Pinny Pals Lanyard
Pinny Pals Lanyard
It's the latter part that makes it so accurate.
Nusquam Findi Factionis
My Digital Pin Lanyard
While this is not a user facing thing, it means that in the future you all won't be sitting and waiting on me for updates. Basically I made some code changes to hitch my PinMash wagon to the PinnyPals horse, effectively passing the buck to @grgemonkey to keep the pin database up to date Now I have a 5-second administrator action I can take to resync the PinMash database with all the most recent data and images from PinnyPals. PinnyPals doesn't have a true external API for this stuff, but I was able to scrape the sites internal API to get all the pin data, and scrape the generated javascript for the image URL mappings (which my code uses to download the images to the PinMash server). If @grgemonkey makes any significant changes it may all far apart, but for right now it is working and I have successfully passed the buck :P
I do come bearing something in return for this buck-passing though. I put a new version of the API out there (the old one still works as it did if you already built something around it), that actually returns the ID that PinnyPals uses for a given pin instead of the PinMash internal one. This should make it a lot easier for @grgemonkey to pull PinMash scores for particular pins over there.
The new pins will (as usual) start out at 1000 just like they all did when new -- but changes I made a while back will give them some extra mobility in the rankings until they build up a suitable bulk of ratings.
I've got real nice changes lined up for an update after PAX East too, and these will be user-facing ones 8-)
Get rating peeps!
EDIT: It would probably help if I actually linked to the new version of the API:
http://pinmash.info/DataV2/AllPinData
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
pinnypals.com has the East pins. Please update pinmash.info.
"We know that the moment we slip, it will be taken away... and so it is of the utmost importance to be worthy of it constantly."
PAX will always be held on the best weekend for PAX. Sometimes that will be a bad weekend for you; I'm sorry.
I just pushed an update to the PinMash core that makes a few improvements that have been needed for a while:
The above mentioned database changes were so significant that it required me to rebuild the database entirely. I migrated over the old scores but not the historical data of the matchups, so the rating count was reset to zero. I still have this data if someone wants it for archival purposes.
So you know what that means... time to get in there and make your voices heard! The new matchup system will make the choices harder, but duty calls people! These East pins aren't going to rate themselves.
As always, post up any feedback etc. here and keep on mashing 8-)
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
I computered the shit out of that computer to make the computer computer harder. Your pin rating computer system is now way better at computering!
Seriously though, super awesome job man, a genuinely useful addition to the community. Thank you for what you do!
Check out my YouTube Pinny Arcade Videos!
PP is going to open up all it's data to other apps (you will need to give permission to them). So people can do more funky maths stuff, the most interesting data will be making trades public (anonymous, only the X for Y part, you can opt-out but please don't :P), both successful and unsuccessful. That should make for some interesting results!
http://pinmash.info - Head-To-Head battle of pins! Choose the most desirable.
http://pinnywise.com - iOS pin collection tracking app.
----
My Delicious Pins For Trade
What gives?
Pinny Pals Lanyard
I accidentally left some of the old code in there along with the new stuff, so it was actually loading the new matchup twice internally *facepalm*
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Yeah it's running much better now thanks.
EDIT: Hah, for the first time I clicked on the "I can't choose" button expecting it would load a new set.
Pinny Pals Lanyard
Try reloading the page and see how far that gets you...
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
edit: also small suggestion, disable the buttons after the first click, sometimes it takes a little bit to load the next pins and I'm not sure if it registered the first click and I click again.
http://pinmash.info - Head-To-Head battle of pins! Choose the most desirable.
http://pinnywise.com - iOS pin collection tracking app.
----
My Delicious Pins For Trade
It didn't get me anywhere YOU MONSTER!
Pinny Pals Lanyard
This, ladies and germs, is what we in the biz call peer review. I was always disabling the click event, but for some reason I never even thought about visually disabling them (probably because I do all my testing on a local environment where they load instantly). It took all of three minutes to make the change
http://pinmash.info - Two pins enter, one pins leaves... then the other pin leaves with a lower Elo rating
Edit into OP pls.
Pinny Pals Lanyard