robin is now opensource
  • 127 points [deleted]

    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.

    parent
    84 points bsimpson

    This is a plugin so to get it running you'll need a full reddit install and users will need to create accounts.

    parent root
    68 points hatrickpatrick

    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?

    parent root
    35 points Jimga150

    Thats what i was thinking--i would love to do this again.

    parent root
    25 points Tman0003

    mabye we could make the wait timer a bit fater this time?

    parent root
    21 points Jimga150

    the 31 minutes? that was the perfect amount of time for me to get my vote in before a merge. thats just me though.

    parent root
    8 points [deleted]

    Ok, i'm fed up with this. It took 34 minutes, not 31. It's always 3 more than it shows

    parent root
    3 points kingdowngoat

    31 minutes.

    parent root
    2 points [deleted]

    [deleted]

    parent root
    2 points kingdowngoat

    Thanks bud, I suspect it is because I was seeming to be "difficult".

    parent root
    7 points [deleted]

    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.

    parent root
    8 points Lord_Blathoxi

    That's a great idea. Although that doesn't give people a chance to change their minds.

    parent root
    0 points [deleted]

    [deleted]

    parent root
    6 points anyoldnames

    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.

    parent root
    12 points [deleted]

    [deleted]

    parent root
    7 points h3ph43s7u5

    That's what this project is trying to do. Definitely easier than a full reddit install.

    parent root
    -1 points [deleted]

    [deleted]

    parent root
    10 points gooeyblob

    This doesn't even make any sense

    parent root
    0 points [deleted]

    [deleted]

    parent root
    -1 points [deleted]

    [removed]

    parent root
    1 points pivotraze

    I might take this on in my free time...

    parent root
    1 points ptrakk

    Happy Cake Day! Mine was 2 days ago!

    parent root
    1 points -RedWizard-

    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

    parent root
  • 35 points [deleted]

    [deleted]

    parent
    4 points _angesaurus

    me too LOL

    parent root
  • 25 points paranoideo

    Is like Christmas!

    parent
    7 points ASK_ABOUT_SUBSPACE

    Just foolin'!

    parent root
    2 points CirclesAreRectangles

    Got me. What is Subspace? :D

    parent root
    3 points ASK_ABOUT_SUBSPACE

    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

    parent root
    3 points RocketJumpingOtter

    It's like Christmas morning...

    parent root
  • 44 points Tman0003

    SOMEONE MAKE THIS WORKING ASAP PLEASE

    parent
    68 points Jeroen52

    !> 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

    parent root
    17 points [deleted]

    I'll contribute an Amazon instance ... PM me.

    parent root
    11 points Jeroen52

    !> 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

    parent root
    13 points Tactical_Wolf

    RemindMe! 8 hours Give encouragement.

    parent root
    3 points RemindMeBot

    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.


    [FAQs] [Custom] [Your Reminders] [Feedback] [Code]
    parent root
    4 points 13steinj

    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).

    parent root
    2 points Jeroen52

    !> 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

    parent root
    2 points 13steinj

    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.

    parent root
    2 points Jeroen52

    !> 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

    parent root
    2 points 13steinj

    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

    parent root
    2 points Jeroen52

    !> 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

    parent root
    3 points 13steinj

    Will do as soon as I'm home :P not tired from a long days work ie tomorrow morning since tomorrow is a glorious Saturday

    parent root
    3 points Jeroen52

    !> 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

    parent root
    3 points Ondrion

    Please if you get this chat running somewhere let me know, my life feels hollow without robin =(

    parent root
    3 points Tactical_Wolf

    You can do it! We believe in you.

    parent root
    1 points codedit

    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?

    parent root
    1 points Jeroen52

    !> 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

    parent root
    1 points [deleted]

    Dude, awesome! I also got the plugins working, but no connection to the server. Here it is right now. Any idea?

    parent root
    2 points Jeroen52

    !> 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

    parent root
    1 points [deleted]

    Cloned the plugin repo, cd into it

    sudo initctl emit reddit-stop
    
    python setup.py build
    sudo python setup.py develop
    
    sudo cp upstart/* /etc/init
    
    cd ~/consumer_count.d
    echo 1 > robin_presence_q
    echo 1 > robin_waitinglist_q
    echo 1 > robin_subreddit_maker_q
    
    sudo cp cron.d/* /etc/cron.d/
    
    sudo initctl emit reddit-start
    

    Then edit your run.ini file ([reddit dir]/r2/run.ini) and edit this line from:

    plugins = [whatever you had there]
    

    to:

    plugins = [whatever you had there],robin
    

    And at the end of that file add:

    feature_robin = on
    feature_robin_on_homepage = on
    

    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)

    parent root
    1 points Jeroen52

    !> 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

    parent root
    1 points [deleted]

    Shouldn't matter.

    parent root
    1 points Jeroen52

    !> 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

    parent root
    1 points [deleted]

    Unfortunatelly i have no idea how to setup HTTPS if that's what you mean

    parent root
    1 points Jeroen52

    !> 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

    parent root
    1 points serventofgaben

    can i get another update please?

    parent root
    1 points Jeroen52

    !> 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

    parent root
    8 points AudioDoge

    Don't have the servers. Could we crowd fund it?

    parent root
    9 points [deleted]

    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.

    parent root
    4 points [deleted]

    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

    parent root
    3 points whosgt

    I will fund the server costs to start if someone knows how to get it running.

    parent root
    2 points ASK_ABOUT_SUBSPACE

    I know what's up. Sorry to hear about your delirium tremens.

    parent root
  • 23 points Mithent

    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.

    parent
    9 points Chillangilo

    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.

    parent root
    1 points pie3636

    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.

    parent root
    1 points Mithent

    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.

    parent root
    2 points pie3636

    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.

    parent root
  • 21 points TotesMessenger

    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)

    parent
  • 17 points agentfooly

    Does this explain how the usernames were ordered in the rooms?

    parent
    17 points phil_g

    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.

    parent root
    5 points mtriper

    How about the name colors

    parent root
    9 points Chr12t0pher

    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.

    parent root
    5 points Wiiplay123

    So were people actually showing up as different colors to some people or was that a hoax?

    parent root
    2 points bws88

    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.

    parent root
  • 15 points Kuer

    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.

    parent
    10 points jmhalder

    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.

    parent root
    2 points Wiiplay123

    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.

    parent root
  • 9 points [deleted]

    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] :/

    parent
    4 points gooeyblob

    Keep trying, we are all counting on you!

    parent root
    2 points [deleted]

    Maybe tomorrow you'll see something!

    parent root
    2 points gooeyblob

    I can't wait

    parent root
    1 points Jeroen52

    !> 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

    parent root
    1 points [deleted]

    Yeah, I noticed. It is currently running successfully (without robin) on a Frankenstein server.

    parent root
    1 points Do_Not_Remember_Me

    How can I message you?

    parent root
  • 9 points [deleted]

    [deleted]

    parent
    6 points inkblob

    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

    parent root
    5 points Codile

    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.

    parent root
    6 points nandhp

    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.)

    parent root
    3 points Codile

    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.

    parent root
    2 points Jeroen52

    !> 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

    parent root
    2 points [deleted]

    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?

    parent root
    3 points inkblob

    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

    parent root
    1 points [deleted]

    [deleted]

    parent root
    2 points inkblob

    There is a RES userscript, you have a grow icon beside your name for me :D

    It's pretty neat

    parent root
    1 points KFCNyanCat

    Never made it to T17, but everyone past T10 were horrible GROW GROW GROW spammers. Lower tiers were actually fun to hang around.

    parent root
    1 points inkblob

    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.

    parent root
    1 points KFCNyanCat

    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.

    parent root
  • 8 points Blainezab

    Finally! Now I can keep wasting my time! Thanks Reddit!

    parent
  • 9 points Nick4753

    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.

    parent
  • 15 points thenewsisalie

    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.

    parent
    2 points Lord_Blathoxi

    "Dank As Fuck"?

    parent root
    5 points 420peter

    down as fuck

    parent root
  • 8 points [deleted]

    1 robin please

    parent
    3 points [deleted]

    [deleted]

    parent root
    3 points [deleted]

    1 by 1

    parent root
  • 6 points klan123

    I was prepared to lynch you all, but now you've redeemed yourselves.

    parent
  • 9 points Phrea

    How to join now then?

    Anybody?

    parent
    2 points vibrations2

    Here http://joinrob.in/

    parent root
    4 points Pamasich

    What do you mean? Robin is over. People might set it up for their subs in the future, but for now it's finished.

    parent root
    6 points vibrations2

    http://joinrob.in/

    parent root
    6 points Pamasich

    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.

    parent root
    4 points Voltasalt

    It's still a WIP and doesn't work yet.

    parent root
    1 points Pamasich

    So it is meant to be a real robin client?

    parent root
    3 points Voltasalt

    Probably, once it's finished. Looks like they're remaking it from scratch in node.js.

    parent root
    1 points Pamasich

    They should just use Robin's source code, would be a lot easier.

    parent root
    7 points Voltasalt

    Robin's source code is tied to reddit itself, and is probably loads more inefficient than anything written from scratch in a modern way.

    parent root
    3 points Chillangilo

    Well we know Robin's source code can't handle T17s.

    parent root
    3 points fargoniac

    Is there going to be a sub for this Canary, so we can keep track of updates?

    parent root
    1 points vibrations2

    there you go ! https://www.reddit.com/r/CanaryChat/

    parent root
  • 3 points MissLauralot

    Thankyou for all your good work bsimpson and /u/madlee :)

    /r/BringBackTheButton

    parent
  • 2 points spar13

    That is awesome.

    parent
  • 2 points UpholsteryLord

    Yessssss

    parent
  • 1 points [deleted]

    Thank you for this! :)

    parent
  • 1 points Jyquentel

    I'll be honest, for a second I thought that snoo was flashing

    parent
  • 1 points dudewithtude

    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.

    parent
  • 1 points nehuiloco

    That means that now we can do our own robin?

    parent
    2 points MilkGames

    Yes

    parent root
  • 1 points [deleted]

    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?

    parent
    1 points xHussin

    pls make this work

    parent root
  • 1 points Rave-light

    What does this mean?

    parent
    3 points ADrySoldier

    It means people can recreate Robin if they use their own servers to host it

    parent root
    1 points Rave-light

    Thank you!

    parent root
  • -2 points p7r

    30 second look at the code.

    Yeah, now I see why it was falling over and taking things with it.

    parent
    3 points gooeyblob

    Why is that?

    parent root
    2 points p7r

    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.

    parent root
    3 points gooeyblob

    Wow and you can tell they did it bad in 30 seconds? What specifically in there was really dumb?

    parent root
    3 points madlee

    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.

    parent root
    4 points gooeyblob

    Juicy pop?? what a joke!! idiots

    parent root
    1 points Do_Not_Remember_Me

    In what way was the javascript dumb? I don't doubt you. I'm just curious

    parent root
    5 points madlee

    It was a joke. I'm the dumb baby that wrote it :P

    parent root
    1 points Do_Not_Remember_Me

    Excuse me while I go insert my foot into my mouth

    parent root
    2 points p7r

    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.

    parent root
    3 points gooeyblob

    What about it implies a single-server install?

    parent root
    1 points p7r

    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.

    parent root
    2 points daniel

    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".

    parent root
    1 points p7r

    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.

    parent root
    2 points gooeyblob

    What is code

    parent root
  • Hacker News
    • Top
    • Best
    • New
    • Ask
    • Show
    • Jobs
  • beta Hugging Face
    • Posts
  • Reddit
    • r/programming
    • r/technology
    • r/science
    • r/news
    • r/gaming