When I was job hunting a few years ago (fortunately the last time I needed to do so) I had good luck with Cross Creek (xcreek.com) up here in Seattle.
They were very helpful and helped me land the position I currently have. Their website is pretty barren however, so I'm not sure if they are still in the recruiter/headhunter business or not. I'd drop them an email and find out if you were interested though.
The way around this would be to store the whole database in each client, and broadcast updates to everybody. That way, any node dropping out of the system doesn't bring down the whole network. This is the trick about Usenet that makes it immune to censorship, and has kept the p0rn flowing for so many years...
While that might be the best solution for robustness's sake (and I won't argue that) I don't think storing the entire DB on each client is a) feasible or b) warrented.
Instead think of the following scenario. You have 4 classes of servers + clients.
1st class of server: a web of interconnected server-servers. These are responsible for telling other servers or clients where resources (such as login servers, other server server, chat servers, search servers) are located. Updates to any server-server are propogated along the network of server-servers keeping them syncronized, so that you can talk to any server-server and get substantially the same results back. These are tasked with picking an appropriate server to service any request given that server-servers knowledge about location of requester, locations of servers, load of servers, etc.
2nd class of server: A web of interconnected login servers. These maintain the user accounts and authentication. Changes are propogated along the web of login-servers. Login-servers are talked to by the chat servers when a user requests login, NOT by the clients themselves. Communicate with the search server web when a user logs in/off
3rd class of server: Search servers. Maintain a database of shared files in various file classes (I'm assuming here that you could share multiple file 'sets' where the files in the set were all of some 'class' and that these categories were server defined). Thus one could share music, poetry, and lyrics, but they would still be searchable. Someone searching for a music file wouldn't find the poetry unless they searched that category as well. These are also an interconnected web of servers. Clients when they log in publish deltas of shared files. These deltas are given to the search servers to add/remove things from their database. Files which return errors when fetched by clients are also reported back and marked as unavailable. Some security needs to be in place to prevent a client from spuriously marking a file as unavailable. (Probably some threshold of unavailable marks from a certain minimal number of discrete IPs over a certain time period)
4th class of servers: Web of interconnected chat servers. These publish the list of channels (possibly fixed like napster or expandable like irc, I tend toward fixed). They also transmit channel traffic along the web of servers in a manner similar to IRC. IRC would actually make a decent base for this specific type of server with some modifications. Clients connect to a chat server, and present their authentication. Chat server checks authentication against login server and accepts or rejects the connection.
Clients: Know about 1 (or more) server-servers, from which they can find out about the rest of the server-servers and chat servers and search servers. If one such server is down, just ask for another one.
I think such a mechanism would work and would be robust. Anyone else's thoughts?
IRC is a poor choice to sit something like this on top of. For searching to be reasonably fast you *DO* want a semi-centralized search mechanism, otherwise you are connecting to each of 3000 (or more) clients and asking them to do the search for you.. That is just not the right way to do it and congests the network in a bad way.
I will freely admit that I was a person who is/was getting fed up with the unix nap client and it's crashing, and the lack of connectivity between the servers. I've even started hashing out specs in my mind for what I'd consider the right way to do this (and yes, before someone says I'm blowing smoke out my buttocks, I do have the knowledge and experience at writing TCP/IP servers ala MUDs or IRC servers to write something of this magnitude)
I'm almost ashamed to admit that I'm an alumnus of CMU here, but...
I think they did the right thing. While a large number of people seem to be up in arms over the fact that the admin broke 'their own code of ethics', I don't think it's as cut and dried as that.
Nearly anyone who has browsed the net has occasionally run into sites that list MP3 sites. Nearly all of those are ftp sites with user mp3 and password mp3 and allow you access to those collections (or portions of them, etc).
*IF* (and I say if, because I don't know the details), that was the 'simple password' that CMU's administration tried, then I would side with what I percieve as the administrations view that that password was not there to discourage public consumption of those resources, but merely to pay lip service to an agreement that the student wasn't really paying any attention to in the first place.
Given the text of the administrations letter (which some other poster linked to), I'd say my impression above is probably pretty accurate.
One other idea (and it might have been said already, I currently have my threshold up pretty high so forgive me if this is a duplicate) would be to give moderators with higher karma more points to use as well as a wider selection. The idea here is to encourage good moderation, so there should be tangible rewards for being a good contributor
I've been both a contractor and a direct employee. I found that for myself, I tend to enjoy the stability that comes from being a direct employee. As a contractor, I often experienced contracts getting pulled which is a rather distressing thing to have happen. (note; Similar things occured at some companies where I was a permanent employee). Overall, I think I'm happier being a permanent employee at a company that values my skills and my interests. Your mileage however will almost definately vary.
I definately think it's cool. I'm most amused by how 'nomic-like' it seems. While Nomic is generally considered to be a 'game', the precepts behind it are very similar, and most starting rulesets of Nomics are very similar to the consitution of Cyber Yugoslavia. Definately check it out and (if you think it'd be cool) check out some of the various Nomics in existance as well.
When I was job hunting a few years ago (fortunately the last time I needed to do so) I had good luck with Cross Creek (xcreek.com) up here in Seattle.
They were very helpful and helped me land the position I currently have. Their website is pretty barren however, so I'm not sure if they are still in the recruiter/headhunter business or not. I'd drop them an email and find out if you were interested though.
Actually, piracy isn't an issue at all, as has been said many times.
You don't *need the key* to do a bit-for-bit copy of the DVD media. The only thing you need the key for is to play it, not to copy it.
While that might be the best solution for robustness's sake (and I won't argue that) I don't think storing the entire DB on each client is a) feasible or b) warrented.
Instead think of the following scenario. You have 4 classes of servers + clients.
1st class of server: a web of interconnected server-servers. These are responsible for telling other servers or clients where resources (such as login servers, other server server, chat servers, search servers) are located. Updates to any server-server are propogated along the network of server-servers keeping them syncronized, so that you can talk to any server-server and get substantially the same results back. These are tasked with picking an appropriate server to service any request given that server-servers knowledge about location of requester, locations of servers, load of servers, etc.
2nd class of server: A web of interconnected login servers. These maintain the user accounts and authentication. Changes are propogated along the web of login-servers. Login-servers are talked to by the chat servers when a user requests login, NOT by the clients themselves. Communicate with the search server web when a user logs in/off
3rd class of server: Search servers. Maintain a database of shared files in various file classes (I'm assuming here that you could share multiple file 'sets' where the files in the set were all of some 'class' and that these categories were server defined). Thus one could share music, poetry, and lyrics, but they would still be searchable. Someone searching for a music file wouldn't find the poetry unless they searched that category as well. These are also an interconnected web of servers. Clients when they log in publish deltas of shared files. These deltas are given to the search servers to add/remove things from their database. Files which return errors when fetched by clients are also reported back and marked as unavailable. Some security needs to be in place to prevent a client from spuriously marking a file as unavailable. (Probably some threshold of unavailable marks from a certain minimal number of discrete IPs over a certain time period)
4th class of servers: Web of interconnected chat servers. These publish the list of channels (possibly fixed like napster or expandable like irc, I tend toward fixed). They also transmit channel traffic along the web of servers in a manner similar to IRC. IRC would actually make a decent base for this specific type of server with some modifications. Clients connect to a chat server, and present their authentication. Chat server checks authentication against login server and accepts or rejects the connection.
Clients: Know about 1 (or more) server-servers, from which they can find out about the rest of the server-servers and chat servers and search servers. If one such server is down, just ask for another one.
I think such a mechanism would work and would be robust. Anyone else's thoughts?
IRC is a poor choice to sit something like this on top of. For searching to be reasonably fast you *DO* want a semi-centralized search mechanism, otherwise you are connecting to each of 3000 (or more) clients and asking them to do the search for you.. That is just not the right way to do it and congests the network in a bad way.
I will freely admit that I was a person who is/was getting fed up with the unix nap client and it's crashing, and the lack of connectivity between the servers. I've even started hashing out specs in my mind for what I'd consider the right way to do this (and yes, before someone says I'm blowing smoke out my buttocks, I do have the knowledge and experience at writing TCP/IP servers ala MUDs or IRC servers to write something of this magnitude)
I'm almost ashamed to admit that I'm an alumnus of CMU here, but...
I think they did the right thing. While a large number of people seem to be up in arms over the fact that the admin broke 'their own code of ethics', I don't think it's as cut and dried as that.
Nearly anyone who has browsed the net has occasionally run into sites that list MP3 sites.
Nearly all of those are ftp sites with user mp3 and password mp3 and allow you access to those collections (or portions of them, etc).
*IF* (and I say if, because I don't know the details), that was the 'simple password' that CMU's administration tried, then I would side with what I percieve as the administrations view that that password was not there to discourage public consumption of those resources, but merely to pay lip service to an agreement that the student wasn't really paying any attention to in the first place.
Given the text of the administrations letter (which some other poster linked to), I'd say my impression above is probably pretty accurate.
One other idea (and it might have been said already, I currently have my threshold up pretty high so forgive me if this is a duplicate) would be to give moderators with higher karma more points to use as well as a wider selection. The idea here is to encourage good moderation, so there should be tangible rewards for being a good contributor
I've been both a contractor and a direct employee. I found that for myself, I tend to enjoy the stability that comes from being a direct employee. As a contractor, I often experienced contracts getting pulled which is a rather distressing thing to have happen. (note; Similar things occured at some companies where I was a permanent employee). Overall, I think I'm happier being a permanent employee at a company that values my skills and my interests. Your mileage however will almost definately vary.
I definately think it's cool. I'm most amused by how 'nomic-like' it seems. While Nomic is generally considered to be a 'game', the precepts behind it are very similar, and most starting rulesets of Nomics are very similar to the consitution of Cyber Yugoslavia. Definately check it out and (if you think it'd be cool) check out some of the various Nomics in existance as well.