Awesome! Hopefully we can get some decently-sized rooms, although I doubt they'll be anything like as big as the ones we had on here. Maybe there's a way they could be integrated into the subreddit sidebars? It would be nice to chat with people with similar interests within a subreddit.
Reckon brighter minds than mine would be able to mod it to use the Reddit API and connect to our existing logged in Reddit accounts from another server?
This is true, but at the beginging of robin a lot of people had time to change their mind and many did. Toward the end, I feel like we were on a mission (T17) and wanted to get there as early as possible. Just my 2/100 of a dollar anyway.
It's a mass multiplayer online game that came out about twenty years ago. It's sort of like multiplayer Asteroids. It free if you want to give it a go!
I'd say I'm knowledgeable enough; but I don't have a server nor can commit enough time to it to be 100% responsible. But if someone's setting it up I'd love to help :P
I think that's a pretty great idea! I'd pitch in. Although if it gets crowd funded, anyone who joins robin will spend so much time on it that they lose their job. So it could be short lived.
This source shows for sure what would have happened with a split vote. If ccKufi had split into Grow and Stay with neither individually beating No Vote + Abandon, it would have been abandoned.
Therefore it was safest to avoiding splitting the vote early, and only switching to Stay once enough votes had been counted. However, it became apparent before Robin went down that enough votes had been tallied that switching to Stay was safe.
However, it became apparent before Robin went down that enough votes had been tallied that switching to Stay was safe.
That is not true. When Robin went down, there was 1250 No votes (and about 5 abandons), and over 1850 Stay votes. There were about 1950 Grow votes. So even if people had not waited to switch to Grow, the room wouldn't have been abandoned.
Yes, I didn't mean to imply that there was any danger of the room being abandoned by the point that Robin went down. What I meant was that it was feasible that a lot of people who had voted Grow in soKuku had disconnected in the intervening time, and that server load could mean that some people would have trouble getting votes in (which was a problem in ccfiandeSh, when we had 1.4k abandon), so many people switching to Stay right away while there were also lots of auto-grow scripts running might have resulted in 33% Grow, 33% Stay, 34% No Vote, for example. In that situation, avoiding splitting the vote early and voting Grow until the reaping would have saved the room.
However, it quickly became apparent that this was not a problem, as you say - once both Grow and Stay had exceeded No Vote/Abandon it was safe to vote Stay, as there wasn't any realistic risk of an abandon.
Oh, yeah, I see. I was just making sure, because I've heard a lot of people saying we needed to vote grow until the purge, even well after the stay votes outnumbered the abandon ones. I was starting to think I had missed out on something.
Hopefully someone will correct me if I'm wrong, but it looks like the ordering was simply based on Python's hashing algorithm for its set objects.
It looks like the main access point for listing room members is the ParticipantVoteByRoom.get_all_participant_ids() class method. That method returns a set. The room name simply iterates through that list with set's iterator.0 I haven't found where the user list gets enumerated, but I assume it works the same way since the ordering matched the room name. I guess that gives a stable enough ordering for Robin, though I'm not sure it's something I'd rely on in my programs.
0 What actually happens is ParticipantVoteByRoom.get_all_participant_ids() returns a set, which gets passed to Account._byID() (defined as Thing._byID() in r2/lib/db/thing.py in the main Reddit codebase), which returns a generator that iterates through the set. The net result is that the ordering is defined by what set's iterator returns.
That was done clientside - basically it converted your name to a number, divided it by 6, and the remainer 0-5 decided which of the 6 colours you'd be.
No hoax. See this video of the merge from both sides. The chat gets synced up towards the end (see 2:36 or so) and you can see plenty of usernames that are different colors on either side.
Honestly - I have no interest in actual use of Robin again. It was very unhealthy to be part of the Tier 17 merge. At "high level" it seems you either run a 24/7 auto-grow machine, or suffer disruptive life schedule that builds around estimated merge times.
It was great fun for a few days, the novelty of the mechanics kept me committed as far as the finish line, but this novelty wore off and problems were revealed.
As far as an interesting way to meet new people, a novel chat roulette, it was good... But we all know that's not what it became in the end.
Still, thank you for the code. It was an interesting skim, and I imagine it will serve future generations.
I'd like a built in subreddit chat, with good filtering features, but the mechanism for stay/grow/abandon was novel for a April fools goof, not forever though.
I thought it was interesting how fast those auto-grow machines cropped up. Also the dark ages between Robin Autovoter spam and spam filters being made.
Should be possible. Just make invite-only rooms and create new rooms and invite users, kick users, or just keep the room based on votes. You could easily implement that using an IRC bot as well. The only problem would be room names because you might run out of hashes.
If you were doing this on your own server, you can just force-join users to the correct room. (I remember Unreal had SAJOIN for this, but I don't know how widely that's supported. In any event, it would be easy to patch the necessary features into an IRCd like ngIRCd.)
Yes :) couple of thousand got the axe during the merge and at least a thousand in T17 are spambots, alts and growbots. So anyone who is down with Robin is cool by me. butt17iscooler
That was just the last day. The previous 3-4 days in sukoko, ccande and cathil were a ton of fun for me. Kukopuko which led to Kufikumu was a hoot too. The grow stampede was strong on the 7th but that's because some pretty huge ducks were getting lined up.
I only went on Robin the first day......I honestly don't even know what the tiers were, but I do know my chat did get to around 11 -14 generations before I dropped out and I'm assuming that tiers = generations.
Do the static assets require the full reddit install? The backend doesn't seem like it'd be super difficult to do (redis, flask/socket.io, and reddit oauth) but using the same styles would be nice.
I tried that before, isn't it fake? While the name of the room seems to change, there's always the same guys there, namely four times the same guy named "wargg" and the max character thing doesn't seem to work. Also, voting doesn't seem to do anything.
orangechat.io is a nice extension/addon that adds subreddit live chat to reddit. its still in early stages but i think its worth a look, atleast until someone makes a worthy robin.
Hey, I managed to get this ALMOST working (see my failed effots here). I was wondering if any of you knew why it isn't connecting to the server? Do I need to open any port?
EDIT Getting 403s with the WSS requests now. Any idea?
Its hard to get chat to scale well. What they did was reinvent it themselves in a way that doesn't scale. Adding plugins to ejabbered and building a web page that uses Redit auth APIs to get into rooms would probably have been safer and more scalable. I'm curious why they didn't do that.
It's not dumb. It's actually quite elegant in some ways.
It's just not going to scale. They probably did not expect the usage it got, they clearly thought it was a bit of fun and it's the Robin community who are perhaps taking it too seriously.
The way this is written implies a single-server install - a cursory glance shows no attempt at inter-server communication. That means you're going to be locked down to a single network port, a single motherboard, a single block of RAM, etc. and that has limits.
If I were being briefed to do this, I'd probably extend a proven technology like XMPP, that can scale over multiple machines and therefore would be able to handle far more people.
If they actually planned T17 would be obtained, they would have to plan for nobody abandoning. That would mean in theory 131,072 people could be in there! Yes, lots of people abandoned, lots of people went AFK and were chucked, but they should have thought about it.
Reading some of the comments I don't think they were expecting people to grow very much past T4 very often, so that's perhaps understandable.
Almost every aspect of the architecture ran on multiple servers. The backend web component ran on hundreds of app servers, the websockets cluster was something like 12 servers, and the cassandra cluster (responsible for storing information about the rooms and participants) is quite large too. It uses caching heavily too, and there are plenty of memcached instances around for handling that.
backend web component ran on hundreds of app servers
I can't see evidence for that in the code. Docs? I can see a few references to cassandra, but not enough to make it obvious that is where everything sits for all the core components.
Awesome! Hopefully we can get some decently-sized rooms, although I doubt they'll be anything like as big as the ones we had on here. Maybe there's a way they could be integrated into the subreddit sidebars? It would be nice to chat with people with similar interests within a subreddit.
This is a plugin so to get it running you'll need a full reddit install and users will need to create accounts.
Reckon brighter minds than mine would be able to mod it to use the Reddit API and connect to our existing logged in Reddit accounts from another server?
Thats what i was thinking--i would love to do this again.
mabye we could make the wait timer a bit fater this time?
the 31 minutes? that was the perfect amount of time for me to get my vote in before a merge. thats just me though.
Ok, i'm fed up with this. It took 34 minutes, not 31. It's always 3 more than it shows
31 minutes.
[deleted]
Thanks bud, I suspect it is because I was seeming to be "difficult".
Also, if a vote in the first/second room is unanimous, automatically complete that vote instead of waiting? I was annoyed by that in Robin.
That's a great idea. Although that doesn't give people a chance to change their minds.
[deleted]
This is true, but at the beginging of robin a lot of people had time to change their mind and many did. Toward the end, I feel like we were on a mission (T17) and wanted to get there as early as possible. Just my 2/100 of a dollar anyway.
[deleted]
That's what this project is trying to do. Definitely easier than a full reddit install.
[deleted]
This doesn't even make any sense
[deleted]
[removed]
I might take this on in my free time...
Happy Cake Day! Mine was 2 days ago!
Optimally we would adapt the code to use some sort of login and build a system around it, not use a Reddit around it lol
[deleted]
me too LOL
Is like Christmas!
Just foolin'!
Got me. What is Subspace? :D
It's a mass multiplayer online game that came out about twenty years ago. It's sort of like multiplayer Asteroids. It free if you want to give it a go!
Link/ Link on Steam
It's like Christmas morning...
SOMEONE MAKE THIS WORKING ASAP PLEASE
!> d1vb1fu
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
I'll contribute an Amazon instance ... PM me.
!> d1vjs1c
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
RemindMe! 8 hours Give encouragement.
I will be messaging you on 2016-04-09 06:05:24 UTC to remind you of this link.
1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
Mind if you make a github fork so I can send some prs :P. There's some stuff that I want to add to the api (so people could make chat bots and stuff).
!> d1ve3q6
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
If you need any help setting it up / understanding errors let me know :).
After setting up I'd recommend slowly ripping out the actual reddit portion and just let people log in via oauth.
!> d1vexxi
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
I'd say I'm knowledgeable enough; but I don't have a server nor can commit enough time to it to be 100% responsible. But if someone's setting it up I'd love to help :P
!> d1vfbh8
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Will do as soon as I'm
home :Pnot tired from a long days work ie tomorrow morning since tomorrow is a glorious Saturday!> d1vkoxq
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Please if you get this chat running somewhere let me know, my life feels hollow without robin =(
You can do it! We believe in you.
I'm not sure whether it is needed to run Reddit completely. Wouldn't it be easier/more elegant to just modify the robin code so it can run standalone?
!> d1wgwcd
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Dude, awesome! I also got the plugins working, but no connection to the server. Here it is right now. Any idea?
!> d1x898u
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Cloned the plugin repo, cd into it
Then edit your run.ini file ([reddit dir]/r2/run.ini) and edit this line from:
to:
And at the end of that file add:
That should do it for the most part
(PS: If you need a domain I can give you a subdomain of my site (pta2002.com) for testing)
!> d1x8ojp
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Shouldn't matter.
!> d1x98hh
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Unfortunatelly i have no idea how to setup HTTPS if that's what you mean
!> d1x9ldm
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
can i get another update please?
!> d1xd0hf
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Don't have the servers. Could we crowd fund it?
I think that's a pretty great idea! I'd pitch in. Although if it gets crowd funded, anyone who joins robin will spend so much time on it that they lose their job. So it could be short lived.
I could spare a VM, if someone mods the source to work with the Reddit API I'm sure we could figure something out :D
I will fund the server costs to start if someone knows how to get it running.
I know what's up. Sorry to hear about your delirium tremens.
This source shows for sure what would have happened with a split vote. If ccKufi had split into Grow and Stay with neither individually beating No Vote + Abandon, it would have been abandoned.
Therefore it was safest to avoiding splitting the vote early, and only switching to Stay once enough votes had been counted. However, it became apparent before Robin went down that enough votes had been tallied that switching to Stay was safe.
That truly would have been the darkest timeline, to have made a T17, but a split Grow and Stay vote gets beat by No Votes and gets abandoned.
That is not true. When Robin went down, there was 1250 No votes (and about 5 abandons), and over 1850 Stay votes. There were about 1950 Grow votes. So even if people had not waited to switch to Grow, the room wouldn't have been abandoned.
Yes, I didn't mean to imply that there was any danger of the room being abandoned by the point that Robin went down. What I meant was that it was feasible that a lot of people who had voted Grow in soKuku had disconnected in the intervening time, and that server load could mean that some people would have trouble getting votes in (which was a problem in ccfiandeSh, when we had 1.4k abandon), so many people switching to Stay right away while there were also lots of auto-grow scripts running might have resulted in 33% Grow, 33% Stay, 34% No Vote, for example. In that situation, avoiding splitting the vote early and voting Grow until the reaping would have saved the room.
However, it quickly became apparent that this was not a problem, as you say - once both Grow and Stay had exceeded No Vote/Abandon it was safe to vote Stay, as there wasn't any realistic risk of an abandon.
Oh, yeah, I see. I was just making sure, because I've heard a lot of people saying we needed to vote grow until the purge, even well after the stay votes outnumbered the abandon ones. I was starting to think I had missed out on something.
I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:
[/r/roomoftherose] Robin got open sourced! It's only a question of time now until someone patches it together with reddit.
[/r/slackluster] Robin is Now Open Source
If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)
Does this explain how the usernames were ordered in the rooms?
Hopefully someone will correct me if I'm wrong, but it looks like the ordering was simply based on Python's hashing algorithm for its set objects.
It looks like the main access point for listing room members is the
ParticipantVoteByRoom.get_all_participant_ids()class method. That method returns a set. The room name simply iterates through that list withset's iterator.0 I haven't found where the user list gets enumerated, but I assume it works the same way since the ordering matched the room name. I guess that gives a stable enough ordering for Robin, though I'm not sure it's something I'd rely on in my programs.0 What actually happens is
ParticipantVoteByRoom.get_all_participant_ids()returns a set, which gets passed toAccount._byID()(defined asThing._byID()inr2/lib/db/thing.pyin the main Reddit codebase), which returns a generator that iterates through the set. The net result is that the ordering is defined by whatset's iterator returns.How about the name colors
That was done clientside - basically it converted your name to a number, divided it by 6, and the remainer 0-5 decided which of the 6 colours you'd be.
So were people actually showing up as different colors to some people or was that a hoax?
No hoax. See this video of the merge from both sides. The chat gets synced up towards the end (see 2:36 or so) and you can see plenty of usernames that are different colors on either side.
Honestly - I have no interest in actual use of Robin again. It was very unhealthy to be part of the Tier 17 merge. At "high level" it seems you either run a 24/7 auto-grow machine, or suffer disruptive life schedule that builds around estimated merge times.
It was great fun for a few days, the novelty of the mechanics kept me committed as far as the finish line, but this novelty wore off and problems were revealed.
As far as an interesting way to meet new people, a novel chat roulette, it was good... But we all know that's not what it became in the end.
Still, thank you for the code. It was an interesting skim, and I imagine it will serve future generations.
I'd like a built in subreddit chat, with good filtering features, but the mechanism for stay/grow/abandon was novel for a April fools goof, not forever though.
I thought it was interesting how fast those auto-grow machines cropped up. Also the dark ages between Robin Autovoter spam and spam filters being made.
This is awesome! I'll try setting it up on my raspberry pi,will post a link once I get it working :)
EDIT: Keep gettig 503s :( Oh well.
EDIT: Should be able to get this up, how would I share it without giving away my IP?
EDIT: Got reddit working! Now I need to install robin, right now [ip]/robin is reddirecting to [ip] :/
Keep trying, we are all counting on you!
Maybe tomorrow you'll see something!
I can't wait
!> d1w1pzp
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
Yeah, I noticed. It is currently running successfully (without robin) on a Frankenstein server.
How can I message you?
[deleted]
Can the same functions of grow/merge/abandon be implemented into irc? That's a major part of the appeal, there's lots of chat rooms around the net
Should be possible. Just make invite-only rooms and create new rooms and invite users, kick users, or just keep the room based on votes. You could easily implement that using an IRC bot as well. The only problem would be room names because you might run out of hashes.
If you were doing this on your own server, you can just force-join users to the correct room. (I remember Unreal had SAJOIN for this, but I don't know how widely that's supported. In any event, it would be easy to patch the necessary features into an IRCd like ngIRCd.)
Yeah you're right, but I was mostly referring to putting it on freenode, which you would probably want to do with an IRC bot.
!> d1w1qvf
This comment has been edited in protest to reddit's decision to bully 3rd party apps into closure.
If you want to do the same, you can find instructions here:
http://notepad.link/share/rAk4RNJlb3vmhROVfGPV
I'm Probably not, but ya gotta ask, do you really want to hang out with scrubs that were not part of the T17 majesty?
Yes :) couple of thousand got the axe during the merge and at least a thousand in T17 are spambots, alts and growbots. So anyone who is down with Robin is cool by me. but t17 is cooler
[deleted]
There is a RES userscript, you have a grow icon beside your name for me :D
It's pretty neat
Never made it to T17, but everyone past T10 were horrible GROW GROW GROW spammers. Lower tiers were actually fun to hang around.
That was just the last day. The previous 3-4 days in sukoko, ccande and cathil were a ton of fun for me. Kukopuko which led to Kufikumu was a hoot too. The grow stampede was strong on the 7th but that's because some pretty huge ducks were getting lined up.
I only went on Robin the first day......I honestly don't even know what the tiers were, but I do know my chat did get to around 11 -14 generations before I dropped out and I'm assuming that tiers = generations.
Finally! Now I can keep wasting my time! Thanks Reddit!
Ahh, it's a reddit plugin.
Do the static assets require the full reddit install? The backend doesn't seem like it'd be super difficult to do (redis, flask/socket.io, and reddit oauth) but using the same styles would be nice.
Hey I am too stupid to do anything about this but if someone wanted to bring Robin back so we could all enjoy it again Id be DAF.
"Dank As Fuck"?
down as fuck
1 robin please
[deleted]
1 by 1
I was prepared to lynch you all, but now you've redeemed yourselves.
How to join now then?
Anybody?
Here http://joinrob.in/
What do you mean? Robin is over. People might set it up for their subs in the future, but for now it's finished.
http://joinrob.in/
I tried that before, isn't it fake? While the name of the room seems to change, there's always the same guys there, namely four times the same guy named "wargg" and the max character thing doesn't seem to work. Also, voting doesn't seem to do anything.
It's still a WIP and doesn't work yet.
So it is meant to be a real robin client?
Probably, once it's finished. Looks like they're remaking it from scratch in node.js.
They should just use Robin's source code, would be a lot easier.
Robin's source code is tied to reddit itself, and is probably loads more inefficient than anything written from scratch in a modern way.
Well we know Robin's source code can't handle T17s.
Is there going to be a sub for this Canary, so we can keep track of updates?
there you go ! https://www.reddit.com/r/CanaryChat/
Thankyou for all your good work bsimpson and /u/madlee :)
/r/BringBackTheButton
That is awesome.
Yessssss
Thank you for this! :)
I'll be honest, for a second I thought that snoo was flashing
orangechat.io is a nice extension/addon that adds subreddit live chat to reddit. its still in early stages but i think its worth a look, atleast until someone makes a worthy robin.
That means that now we can do our own robin?
Yes
Hey, I managed to get this ALMOST working (see my failed effots here). I was wondering if any of you knew why it isn't connecting to the server? Do I need to open any port?
EDIT Getting 403s with the WSS requests now. Any idea?
pls make this work
What does this mean?
It means people can recreate Robin if they use their own servers to host it
Thank you!
30 second look at the code.
Yeah, now I see why it was falling over and taking things with it.
Why is that?
Its hard to get chat to scale well. What they did was reinvent it themselves in a way that doesn't scale. Adding plugins to ejabbered and building a web page that uses Redit auth APIs to get into rooms would probably have been safer and more scalable. I'm curious why they didn't do that.
Wow and you can tell they did it bad in 30 seconds? What specifically in there was really dumb?
I don't know, I looked at some of the stuff in there and it seemed like it was written by some really dumb babies. Especially that javascript.
Juicy pop?? what a joke!! idiots
In what way was the javascript dumb? I don't doubt you. I'm just curious
It was a joke. I'm the dumb baby that wrote it :P
Excuse me while I go insert my foot into my mouth
It's not dumb. It's actually quite elegant in some ways.
It's just not going to scale. They probably did not expect the usage it got, they clearly thought it was a bit of fun and it's the Robin community who are perhaps taking it too seriously.
The way this is written implies a single-server install - a cursory glance shows no attempt at inter-server communication. That means you're going to be locked down to a single network port, a single motherboard, a single block of RAM, etc. and that has limits.
If I were being briefed to do this, I'd probably extend a proven technology like XMPP, that can scale over multiple machines and therefore would be able to handle far more people.
If they actually planned T17 would be obtained, they would have to plan for nobody abandoning. That would mean in theory 131,072 people could be in there! Yes, lots of people abandoned, lots of people went AFK and were chucked, but they should have thought about it.
Reading some of the comments I don't think they were expecting people to grow very much past T4 very often, so that's perhaps understandable.
What about it implies a single-server install?
Ummm... Read the code? There's nothing in there to support it being multiple servers that I can see. If you know different, please say so.
Almost every aspect of the architecture ran on multiple servers. The backend web component ran on hundreds of app servers, the websockets cluster was something like 12 servers, and the cassandra cluster (responsible for storing information about the rooms and participants) is quite large too. It uses caching heavily too, and there are plenty of memcached instances around for handling that.
It certainly used more than one "block of RAM".
I can't see evidence for that in the code. Docs? I can see a few references to cassandra, but not enough to make it obvious that is where everything sits for all the core components.
What is code