Imagine this: you load up a 4chan chat page, and you're connected to another user to chat one on one. Completely at random, with no traces of identity whatsoever. That's it. There could be a button to get a new person if you really don't like who you're talking to or you've seen them before, or you could just hit F5. In the true spirit of Anonymous, you could talk about anything in complete freedom.
I think that could be pretty awesome (and also pretty fail, but such is the way of all things chan), and it's an idea that I've had in the back of my mind for a while. I don't have the wherewithal to make it happen, however, so by /img/'s recommendation I'm here pitching it to /prog/ in the hope that someone will get inspired and make this happen. I'd really like to see it made real. I have to imagine that it would be very simple to make, although finding a good host and getting people to use it is another matter.
Anyone's interest piqued?
Name:
Anonymous2007-12-05 0:12
Well, it would be kinda of cool...
Except you could be connected with a total troll.
Name:
Anonymous2007-12-05 0:15
>>2
That's what F5 is for. Besides, that's just the risk that comes with the territory.
Name:
Anonymous2007-12-05 0:44
I'm a troll.
Name:
Anonymous2007-12-05 1:01
The OP is a troll.
Name:
Anonymous2007-12-05 1:08
NO U
Name:
Anonymous2007-12-05 1:09
I am not a troll.
Name:
72007-12-05 1:41
I am not a compulsive liar.
Name:
Plopper2007-12-05 1:41
I dont fucking understand what you want... can you explain better and clearer?
The Structure of Programs Interptreting Computers.
Name:
Anonymous2007-12-05 5:16
>>9
Thought I made it pretty simple. I want a website that displays a very simple chat client, which pairs up any 2 people which connect to the server to use that chat interface to talk with each other. Chosen completely at random, one on one, with absolutely no names or traces of identity. Just two ships passing in the night.
i wouldn't make this webbased, let's just use the irc-protocol and make our own client suited for our needs, no reason to reinvent the wheel, also this will give us a much better client
it's very simple to make it work on all posix systems, i have no winapi experience though so i dunno lol
though it would never be 100% anon, because the client would have to keep track of clients in some way, they can't all be anon, so the unique id, whatever it is, would not be hard to extract
i guess that's why you said webbased, that would solve it :(
i guess it would be possible to modify an ircd, or perhaps even a jabber server, i've never looked at jabber but it's a possibility i'm throwing out there
Name:
Anonymous2007-12-05 6:16
No one wants to chat one-on-one with Anonymous.
Name:
Anonymous2007-12-05 6:17
maybe if there's a certain threshold of people, it randomly puts a third person in an existing conversation.
Name:
Anonymous2007-12-05 6:18
omg. what about real time image chat. so you could dump images in the chat too
Name:
Anonymous2007-12-05 6:21
>>15
No. That's why I came to /prog/. I tried to learn Java and it was boring as fuck. I like to get my feet wet, which made PHP very appealing as I could learn as I went, but so far programming languages have proved to be too abstract to keep me interested. I mean the only reason I wanted to learn Java is to have access to a basic API, but there was too much stuff to learn to get to that one functional example. I honestly wouldn't have minded investing the time, but trying to absorb a language using the arbitrary kinds of examples they use just doesn't work for me. If you can't make it practical then I can't make myself sit down and learn it.
puts( "GIVE UNTO ME YOUR MIGHTY COCK FRODO\n" ); puts COCK FRODO\n" puts \n
Name:
Anonymous2007-12-05 16:20
>>29
Actually, it's not that I don't enjoy it, I just don't think that it's taught well. Admittedly, it might not have helped that I was trying to learn it from the documentation. But I'm wasting my breath.
>>34
I'm not from around here, so I'm not going to jump up your ass for recommending one language over another. That said, however, it's languages like C♯ and Java that I always seem to hear about as the 'wave(s) of the future.' Why Lisp over-- Actually, you know what? Nevermind. I don't even want to invite that flamewar. I'll just go read the no doubt scarcely-contained one on the respective Wikipedia articles.
Name:
Anonymous2007-12-05 18:38
>>37
Leaving aside all the reasons Lisp is better, I mostly just recommended it in this instance because Practical Common Lisp is a good book that might appeal to a person who prefers that sort of instruction, since within its pages are 12 practical applications (that you might actually want to use).
Name:
Anonymous2007-12-05 18:48
This should be quite easy to implement. Think IRC with no names whatsoever. The server listens on a port, and when you connect it either creates an empty channel and joins you to it, or joins you to another waiting user's channel.
I wrote a "chatpool" server before, which basically echos what's received from one connection to every other connection.
Name:
Anonymous2007-12-05 18:55
>>38
Fair enough. I'll give it a shot, then. What I really liked about PHP was that I was able to just sit down with the manual, read through the intro to get a handle on the syntax, and then start writing simple things and looking up the functions I needed to accomplish them. For instance, writing a script to tag and search a basic database of all my hentai pictures was how I learned PHP's MySQL functions (and a bit of SQL itself), and the task was as much to further my own understanding as it was to have the end product.
What I don't like, though, is when the author just methodically lays out each piece of the language, with a few trite examples to illustrate the concepts at the end of each chapter. It has a very non-organic feel to it, and I simply don't absorb it that way. I might be able to if I was really determined, but it doesn't strike me as worth it-- not when I know it can be done better.
Name:
Anonymous2007-12-05 19:05
>>1
That's a pretty amusing idea and easy enough to implement, too. You're wasting your time here, though, /prog/ never delivers anything, ever. I bet lots of people could hack something up in Python/Perl + Javascript real quick, post the code and let you handle the rest, like the actual CSS + HTML page layout. It's sad, really.
Only time I've seen anyone do something impressive for /prog/ was when one guy who was given random XOR encrypted files by the OP (who claimed they were Excel files) not only cracked them himself with only an hex editor and C programs he wrote himself, but also figured out what they really were. Everything else that /prog/ delivers is just 10 lines of Scheme or BBCode related programming jokes. And I'm not counting with the trolling and stupid memes you have to go through before you get meaningful replies either.
>>41
Somehow, that doesn't surprise me. Well, I've never written anything intended to function like a server before, so I'm not entirely sure where to begin. You mention python and perl, neither of which I'm familiar with, but would PHP do the job? I really ought to figure out this whole AJAX thing, especially since I'm already reasonably familiar with javascript. I don't think that's going to be a problem, but what will be is my unfamiliarity with writing code that... needs each of its instances to be in some aware of each other.
If I had to cobble something together, I suppose I'd have a function that checked a text file on the server for a unique ID and either grabbed it if it was there and wiped the file, or set its own to be grabbed on next run. Then I'd have another file to act as a kind of message board to be checked by each instance of the script for messages addressed to its own ID (the first of which would be an indication to the instance whose ID was grabbed that it had been paired up). Using text files is probably ridiculous, and maybe the entire concept is too, but that ought to illustrate my understanding (or lack thereof). Can anyone point me in the right direction?
Name:
Anonymous2007-12-05 19:41
I think if I were to implement this I'd set it up so that anons telnetted into a server that would pair up two random anons for chatting. When they typed, the characters would be echoed to a shared buffer in real time (control codes filtered out, of course).
Name:
Anonymous2007-12-05 19:46
it's not so simple to do this, because you need to use asynchronous javascript and xml or something else besides plain javascript to chat in a webpage, since webpages... they're... you know... stateless.
Name:
Anonymous2007-12-05 20:04
>>46
I kind of want to learn Erlang and then do this. I've been looking for an excuse to learn Erlang.
I hate webdev though. Fuck that.
{ new_client, ClientSock }
->
% Spawn a new thread for this client, attempt to get name
spawn( server, client_get_name, [ ClientSock, self() ] ),
% Loop
responder( ClientList );
{ client_choose_name, { ClientSock, ClientName } }
->
% Make sure the name isn't taken.
case lists:keysearch( ClientName, 2, ClientList ) of
false
->
% Add the client into the list
NewClientList = [ { ClientSock, ClientName } | ClientList ],
% Send the join message to all users
send_to_all_clients(
NewClientList,
io_lib:format(
"~s has joined the chat.~n",
[ ClientName ]
)
),
% Set up the thread to listen for that client
spawn( server, client,
[ { ClientSock, ClientName }, self() ]
),
% Loop with new client list.
responder( NewClientList );
{ value, _ }
->
% Send them a message
gen_tcp:send( ClientSock,
io_lib:format(
"The name ~s is already taken.~n",
[ ClientName ]
)
),
% Request they choose another name
spawn( server, client_get_name, [ ClientSock, self() ] ),
% Loop with old client list.
responder( ClientList )
end;
% Already looped above.
{ client_message, Msg }
->
% Message is preformatted.
% Need to send the message to all clients.
send_to_all_clients( ClientList, Msg ),
% Loop
responder( ClientList );
{ client_closed, { ClientSock, ClientName } }
->
% Remove the entry from the list, if it exists.
NewClientList = lists:keydelete( ClientSock, 1, ClientList ),
% Send message to all clients about logoff.
send_to_all_clients(
NewClientList,
io_lib:format( "~s has left the chat.~n", [ ClientName ] )
),
% loop
responder( NewClientList )
end
.
Name:
Anonymous2007-12-05 21:05
>>37
The problem with "wave(s) of the future" languages, is that they never are. And then five years down the road, they're just the "wave of fail that was ENTERPRISE GRADE five years ago". Languages like, lisp, C, etc... have been around oh... 30 years? And are still used.
Name:
Anonymous2007-12-05 23:55
ONE WORD. JAVA
Name:
Anonymous2007-12-06 3:56
>>49
Wow, awesome. Too bad that was actually the easiest part of it and (as usual with toy languages) your example is completely worthless in the real world.
Name:
Anonymous2007-12-06 4:31
>>52
haha o wow. The telecommunications industry relies on Erlang.
Name:
Anonymous2007-12-06 4:33
>>50 Languages like, lisp, C, etc... have been around oh... 30 years? And are still used.
Right. Only thing is, nobody uses LISP.
Name:
Anonymous2007-12-06 4:34
>>53
Hahahaha oh wow. Actually, the point still stands and one company isn't the telecommunications industry. Shows what you know, though.
>>55
Let's see your version of the same application in C. I'm willing to bet that it's a fuckload more convoluted than Erlang, and that's just the easiest part of the application. Thanks.
To add to this, let's see you perform runtime code-patching in anything but a "toy" language. Enjoy your measly uptimes measured in mere weeks, and your system-wide crashes when a single server fails while my language ensures that my application can stay running on my cluster with it's built-in process redundancy and error recovery systems.
Sorry if you're not used to thinking in such large-scale terms.
>>57
Let's see you do something actually useful, you moron.
Name:
Anonymous2007-12-06 4:49
>>57 Why hello thar I am an Enterprise Programmer. I do not need to know how to design stable programs, my toy language does it automagically for me.
Fix'd, Visual Basic thinking spotted. GTFO my /prog/
>>68
I know a lot of /b/tards IRL, and besides a weirder sense of humor they're pretty much regular boys and girls.
Name:
Anonymous2007-12-06 19:31
The one on one part is what makes this fail. Just make it a regular chat where everyone is named Anonymous unless they use a name and/or tripcode, like on the boards.
Name:
Anonymous2007-12-06 19:34
>>71
But then it's just like any thread on the board, except with faster spamming.
Name:
Anonymous2007-12-06 19:43
>>70 they're pretty much regular boys and girls. regular boys and girls.
boys and girls. girls
>>71
No, see it's when you get more than 2 in a room that you start to have problems. They just start copying each other and spouting the same old shit in an attempt to prove to each other that their members of the cool kids' club. Names/tripcodes only provide them with identities and make the matter worse. But with two people there's only 'me' and 'you,' and there's no sense of a group to belong to.
Name:
Anonymous2007-12-07 1:41
But what if an odd number of people are connected? Does the odd man just wait until someone else connects, or quit before that happens?
Name:
Anonymous2007-12-07 1:57
>>77
Right, he'd have to wait. Hopefully there'd be enough users that the wait would be short.
Name:
Anonymous2007-12-07 2:06
>>77
I'd suggest randomly putting him into a chat session with two others, then removing one random person and putting him into a one-to-one with someone else when they connect. Should be interesting.
Name:
Anonymous2007-12-07 5:03
I think chats should only be a minute long, then you move along. like that dance where people swap partners. i saw it in a movie.
Also, the server should scan the chat for keywords and then forward the log along with the IP addresses to the FBI or Encyclopedia Dramatica.
Name:
Anonymous2007-12-07 12:14
>>76
Wrong, see the Linksys / Chacha threads on /b/
Name:
Anonymous2007-12-07 20:10
>>85
Hah. Yeah, but that's for the explicit purpose of trolling. You already know you're not going to have any other kind of conversation with a Linksys tech support rep or a Chacha search volunteer. That option just isn't there. I'm not saying people wouldn't troll on this either, probably even get some good Bel-Airs, but I don't think it would happen as much when it's "our own" and there's actually something else interesting to do.
Name:
Anonymous2007-12-08 6:32
I think humor would be less on an environment like this. Humor and creativity blossom in an forum where there is potential for many people to be influenced by this. In an anonymous tete-a-tete, people will be unwilling to really put to much effort into being funny or original
Name:
Anonymous2007-12-08 7:00
>>87
I wasn't shooting for funny or original so much as just plain honest. I think that's ultimately the goal of an anonymous community, but I don't see it happening on /b/.
If somebody would host the server, I could write an ENTERPRISE GRADE solution for this in Java after next week.
e-mail address in the e-mail field.
Name:
Anonymous2007-12-09 0:33
>>89
Yeah, about that... hmm... I was hopping to hitch it onto 4chan, maybe get a dev's interest or something, cause I have no idea what to do about hosting.
>>89
If it's just a simple text-based chat, you should be able to easily host it from your home machine. If it ends up being successful and gets too big, then (and only then) should you bother looking for bigger pipes.
Product first, infrastructure later (unless you have the capital to blow on infrastructure, which we don't).
Name:
Anonymous2007-12-09 5:49
>>91
Speak for yourself. I have a 6 figure salary, and living frugally means I have money to burn.
Name:
Anonymous2007-12-09 20:01
Just go find some free hosting. Many of them support PHP and/or Perl, and of course it won't take much bandwidth -- it's text only anyway.
>>93
Free web hosting doesn't let you run a persistent process, which is what you're going to need to run an effective chat server. While you could write some nasty ass shit that uses PHP/Perl/Python as a backend, it's going to be some nasty ass shit.
Nothing wrong with hosting it on your own connection. That's why the Sussman invented dynamic DNS.
Name:
Anonymous2007-12-10 2:43
>>91 >>95
I actually have a pretty decent ADSL connection, with around 60 kB/s upload, but I could see that getting eaten up quickly-- at least enough to cut into gaming and other things going on. I also don't have a dedicated box, such that even if I left my computer on 24/7, any time I needed to restart I'd be killing the thing for a minute or two.
>>96
Well, I've got a similar pipe, but loads of spare machines sitting around. If you're concerned about availability, I don't have a problem dedicating one of my machines to run a /prog/ chat application. I'd be running it on FreeBSD 6.2 in a jail on a system that's been on for 28 days (some idiot did something stupid last month during a party, I don't want to talk about it).
Name:
Anonymous2007-12-10 6:19
HAY GUYS IVE GOT A LINUX SHELL HOSTING ACCOUNT WITH WEBSPACE. If this is implemented in php or cgi or java or something then I may be willing to host something. But I imagine it needs to have something running as a back ground process daemon kinda thing to manage it all?? Then I think I'll need to get permission from them first, but might be doable.
Name:
Anonymous2007-12-10 6:25
>>98
I'd like to murder you whilst may still throbbing erection continues to pump semen into your ragged red anus.