Well, yes, though the story itself is more of an amusing anecdote, and perhaps superfluous to the question being put to the Slashdot community. The topic of emergent behaviour within any large system of seemingly simple entities interacting with each other to create more complex behaviours is interesting in its own right.
Not when you're constructing a P2P overlay which reduces the amount of duplicated packets sent.
When multicasting data, you reduce the number of packets sent by building a distribution tree between nodes, which either all users share, or have one rooted at each source in the conference. There are many, many ways of doing this, but the end-result is the same. This tree is on the overlay level -- the routers have no knowledge of it. To forward packets across the overlay, they have to be pulled up to the application layer, then subsequently sent on their way.
The distribution trees are built using plain old IP Unicast to carry data, simply because IP Multicast never really made it in the real world (for a variety of reasons). In fact, the reason that things like Skype (and all recent previous works) exist, is because IP Multicast never really made it.
"Somebody know more details about what the difficulties are in making a P2P network without supernodes?"
It's not difficult, but the issue is scalability. To have a P2P network scale, you have to have some efficient network structure for shunting data around. Efficient is a relative term; robustness might be the goal here with supernodes.
For implementations of distributed hash tables, bandwidth certainly isn't the main concern, so those are logically constructed generally without any concept of a supernode. The issue on a DHT is to achieve an efficient number of overlay hops from any one node to any other no matter how many members are in that DHT space.
When you're conferencing calls and numerous people are sending/recieving data, it simply makes sense to try and push lots of data through fat pipes, and less data through thinner pipes. This means that any P2P overlay designed to facilitate conferencing applications should place peers with high bandwidth/low latencies to others in positions whereby the inevitable duplication of packets (compared to IP Multicast) doesn't hit it quite so hard as the poor guy sitting on a 56k modem in the UK while the rest of the conference is on fast connections in the US.
It's been about three months since I read this Skype paper, so I can't quite remember where the supernodes are used. I think my description above will apply to the way it constructs its overlays for conferences themselves, but supernodes are elected to maintain whatever structure they have in place for lookups on usernames.
My current work involves writing an open-sourced implementation of a P2P protocol which allows conferencing applications to be built on top; I've looked at lots of protocols. The protocol which I am implementing will theoretically scale only to groups of size ~100 (for the conferencing itself; there's no reason a lookup mechanism could be run alongside, which is undoubtedly what Skype is doing in some sense).
The code will be released on sourceforge when I can think of a good name.
I'm not familiar with American terminology, but 6th grade appears to be around the age of 12.
"High School" here in the UK refers to secondary education which starts at around the age of 11 (varying slightly certainly between Scotland and England).
This guy doesn't seem to be aware that Peer-to-Peer application design is simply not new, it's only that people have become aware of "P2P" concepts thanks to Napster and successive file-sharing networks.
Page 13: "Take back technology of let's say 20 years"... yet 30 years ago, peer-to-peer protocols were dominant in the Internet. Hmm.
Further, for a study, I'd expect some references. With interesting things such as, you know, FACTS and FIGURES. He seems to present an argument, with no data to back it up. This is like a high school report.
He seems to write.
In such a manner that William Shatner.
Would be proud of.
I'm not entirely sure what the point of this story is. Can someone please enlighten me?
A term so often used by scientists now is 'accelerated climate change', since it's clear that climate change is speeding up given evidence from thousands of years prior, and that climate change is not exclusively "warming".
The anti-intellectualism here on Slashdot is extraordinary.
While I can't suggest that the following is true of everybody here, I can suggest it is true of some.
I've seen some very intelligent people drop out of a computing degree program, the main reason seeming to be that they're overly cynical at the ideas the lecturer is throwing at them on a regular basis. Ideas which often conflict with their own, self-taught, views on things.
I can understand this. I've been reading computing magazines, websites, journals for 12 years. I'm currently half way through the 5th year of my degree. I'll admit that it was very easy to be cynical of some taught courses, instantly branding the lecturer a fool, the coursework unecessarily complex, or the writing pointless. However, it came to me rather quickly that while I had my ideas, so did this lecturer. The lecturer's ideas were formed from many more years in the field than I could ever have been, and were presumably shaped in part by the rigours of peer-review over the years of building up his or her academic career, and were therefore significantly more valid than mine. I was able to reject some of my previous ideas, and reshape many more of the ideas I (thought I) had picked up over time.
Some people can't see that their self-taught ideas are possibly not correct. Some people can't reshape their own ideas into something that somebody else who hasn't proven their worth to them is saying at the front of the lecture hall. Some people see anything which detracts from what they find interesting as "pointless". This, as the article points out, is not what an employer wants in an employee, as all jobs are going to have their boring aspects. Boring aspects which have to be completed none-the-less.
I can wholeheartedly say that I've enjoyed my time at university. I enjoy the fact that I've been exposed to many things and many ideas I would not have seen had I gone into industry 4 years ago. I'm a better coder and a better writer because of my time at university. I'm damn fast at picking up new ideas on my own because of it, and learning on my own because of it.
Above all else, working when I wanted and going out when I wanted was something unlikely to be found in industry. Basically, it's all good.
There's a lot been done on multicasting stuff without the actual existence of IP Multicast (as is the case in much of the public Internet). It's funny this came up, seeing as my project at uni this year will turn out an implementation of an overlay multicast protocol on which I'll be able to run conferencing tools.
In the absence of my wonderful software, I'd suggest taking a quick look at Yoid, which should theoretically use your bandwidth intelligently. The applications which run on yoid without modification are few in number, but I believe they ship a modified version of VAT (Visual Audio tool). If not, and VAT runs on Yoid without modification, VAT can be found here: www-mice.cs.ucl.ac.uk/multimedia/software/ (the URL appears to be down just now. I'd imagine it should be back up soon-ish.)
Available on that site is some form of collaborative whiteboard system, which could (possibly) be useful for such an event.
His was a joke. The humour lies in the fact that nobody truly thought that the machines that were really affected by the Y2K bug would still be in regular use - those machines being the big machines running custom software written in old languages that banks and other big companies use.
To state that there is no 2038 problem simply because it's a reasonable amount of time in the future and/therefore/ we won't be using any affected software/hardware anymore is foolish. While in an ideal world it would be safely fixed sooner rather than later, we all know this just isn't how humans work:)
I don't know if there was any one thing which got me into computing. I certainly have a vague memory of a table-top space invaders game (as in the cabinet was a table, and you looked down onto the screen) one year when I was on holiday with my parents around 5 years old; my parents had to tear me away from it all too often. I just seem to have always been fascinated, and always wanted to learn more.
It's an interesting topic, because I too have often thought that it's so much harder to get into computing these days, when compared to systems like the BBC Micro which had BASIC on ROM and loaded on boot. Turn on, start typing.
It's something that academia is attempting to tackle, in many different ways. It's been clear for quite some time that children in schools are being taught ICT, and not computing science; ICT is often mislabelled as computing, so people get confused. Kids often think they are learning computing, when they are learning information technology.
The project I was involved with over the summer involved creating materials for schools (late primary to early secondary education here in the UK, that is, around 10-12 years of age), which would teach simple computing ideas. The materials were unusual in one key sense - they were entirely offline materials, teaching/ideas/, not skills. Why? First, computing science is more about ideas more than the skills, and the differentiation should be made clear. Second, the moment a teacher has kids on computers, he or she has lost control of the class; the teacher has to be confident of the materials if they are to be used at all.
It's surprisingly easy to do. We produced hundreds of ideas, which will continue to be refined, rejected, and added to, as the project continues. Simple ideas include sorting lists; scheduling and ordering events before a party; concurrency can be taught with team games teaching different ideas, such as locking shared data structures, producer/consumer relationships; networks and distributed systems can be taught using different teams at different desks. Yes, we really were teaching 10 year olds distributed systems ideas without the aid of computers.
Having seen this, and a number of other projects aimed at children, actually work, I suspect that if (or when) these things become widespread in education, lots of kids will be exposed to computing for the first time in formalised education, and not necessarily when left to their own devices. Obviously some still will, but a computer is no longer this mysterious box in the corner.
To be fair, it wouldn't necessarily be difficult to implement a fully distributed Bittorrent system. The difficulty is achieving widespread acceptance to provide a large enough catalogue of material (illegal or otherwise) to make the network worthwhile in people's eyes.
The research community has provided many, many ways of implementing distributed hashtable (DHT) functionality over the years, offering systems which can handle many thousands of nodes. Tapestry, CAN, Pastry, Scribe, Chord (etc, etc) are examples of such systems, each has its own way of organising the namespace across the nodes, each offers certain levels of redundancy between nodes.
It would be easy to implement one of these systems, or make use of code from one of the projects which has released code under some open source license. So long as results from a lookup were returned on the basis of finding only some terms in a query, rather than all terms, with some basic elements of information retrieval techniques coming into play here to provide a ranking on results returned, looking up content would be easily do-able.
If there's an issue with the system scaling, introduce some hierarchical structure to the system, the number of ways traffic can be passed between groups in the hierarchy (not necessarily reducing the number of nodes reachable from any one node). Christ, you could get a paper published just on that idea alone.
The DHT could either map [title]:[.torrent location] pairs (allowing the BitTorrent system to used in its current form). A cleaner solution would be remove the.torrent from the process entirely, and have the DHT store the contents of the.torrent file instead. This is all easily achievable.
Again, this would not be a difficult system to implement. The difficulty lies in acceptance.
Yes, school (or college, university, whatever your preferred term) is the basis for education. A decent degree certainly will teach security and the like, but certainly *not* specifics for one operating system -- the point is the ideas, the concepts, not how to routinely (de-)install something on Windows. The grandparent was incorrect in saying that the degree means nothing. However, it certainly does not mean everything.
> The person has written a credible article and he deserves some applause and not > some useless 1 liners.
The person has written an article resembling a considerable rant at points, thus throwing credibility out the window, despite making some good points.
Of course P2P doesn't break the law. P2P has been around for years, long before illegal sharing of copyrighted content on P2P systems hit the limelight.
There's definitely something to be said for a level of confidence, subtle arrogance, and a touch of perseverence (they don't want you to give up, they want you to tag along. It's a reassurance to them that you really want/them/, and not just their body. Of course, slashdotters have trouble between 'tagging along for a bit' and 'stalking'). Honesty's a goodie too.
Of course, being a bastard with a lot of money and a huge knob probably works just as well.
3D cameras do exist... though the one that I saw was a fairly substantial beast. About the size of a phone booth, you stand in the middle and well-calibrated cameras all around you take pictures, generating a 3D model of whatever's in there.
It was strange seeing a surprisingly high resolution 3D model of me on screen seconds after I'd stepped out of the thing.
Apparently Gates is convinced that Microsoft can fix bugs much faster than Linux, simply because they have more poeple on staff.
Perhaps he should take another glance at Brooks' The Mythical Man Month.
"Is this story slashtod [sic] worthy?"
Well, yes, though the story itself is more of an amusing anecdote, and perhaps superfluous to the question being put to the Slashdot community. The topic of emergent behaviour within any large system of seemingly simple entities interacting with each other to create more complex behaviours is interesting in its own right.
I fail to see the worthiness of your post; you only wanted to shout about having a "girl". As if such things exist...
Not when you're constructing a P2P overlay which reduces the amount of duplicated packets sent.
When multicasting data, you reduce the number of packets sent by building a distribution tree between nodes, which either all users share, or have one rooted at each source in the conference. There are many, many ways of doing this, but the end-result is the same. This tree is on the overlay level -- the routers have no knowledge of it. To forward packets across the overlay, they have to be pulled up to the application layer, then subsequently sent on their way.
The distribution trees are built using plain old IP Unicast to carry data, simply because IP Multicast never really made it in the real world (for a variety of reasons). In fact, the reason that things like Skype (and all recent previous works) exist, is because IP Multicast never really made it.
"Somebody know more details about what the difficulties are in making a P2P network without supernodes?"
It's not difficult, but the issue is scalability. To have a P2P network scale, you have to have some efficient network structure for shunting data around. Efficient is a relative term; robustness might be the goal here with supernodes.
For implementations of distributed hash tables, bandwidth certainly isn't the main concern, so those are logically constructed generally without any concept of a supernode. The issue on a DHT is to achieve an efficient number of overlay hops from any one node to any other no matter how many members are in that DHT space.
When you're conferencing calls and numerous people are sending/recieving data, it simply makes sense to try and push lots of data through fat pipes, and less data through thinner pipes. This means that any P2P overlay designed to facilitate conferencing applications should place peers with high bandwidth/low latencies to others in positions whereby the inevitable duplication of packets (compared to IP Multicast) doesn't hit it quite so hard as the poor guy sitting on a 56k modem in the UK while the rest of the conference is on fast connections in the US.
It's been about three months since I read this Skype paper, so I can't quite remember where the supernodes are used. I think my description above will apply to the way it constructs its overlays for conferences themselves, but supernodes are elected to maintain whatever structure they have in place for lookups on usernames.
My current work involves writing an open-sourced implementation of a P2P protocol which allows conferencing applications to be built on top; I've looked at lots of protocols. The protocol which I am implementing will theoretically scale only to groups of size ~100 (for the conferencing itself; there's no reason a lookup mechanism could be run alongside, which is undoubtedly what Skype is doing in some sense).
The code will be released on sourceforge when I can think of a good name.
I'm not familiar with American terminology, but 6th grade appears to be around the age of 12.
"High School" here in the UK refers to secondary education which starts at around the age of 11 (varying slightly certainly between Scotland and England).
This guy doesn't seem to be aware that Peer-to-Peer application design is simply not new, it's only that people have become aware of "P2P" concepts thanks to Napster and successive file-sharing networks.
Page 13:
"Take back technology of let's say 20 years"... yet 30 years ago, peer-to-peer protocols were dominant in the Internet. Hmm.
Further, for a study, I'd expect some references. With interesting things such as, you know, FACTS and FIGURES. He seems to present an argument, with no data to back it up. This is like a high school report.
He seems to write.
In such a manner that William Shatner.
Would be proud of.
I'm not entirely sure what the point of this story is. Can someone please enlighten me?
You, my friend, have clearly not seen The Darkness.
Your first link appears to be an unforunate copy of the second. Corrected here:
Touched With Fire: Manic-Depressive Illness and the Artistic Temperament
A term so often used by scientists now is 'accelerated climate change', since it's clear that climate change is speeding up given evidence from thousands of years prior, and that climate change is not exclusively "warming".
The anti-intellectualism here on Slashdot is extraordinary.
While I can't suggest that the following is true of everybody here, I can suggest it is true of some.
I've seen some very intelligent people drop out of a computing degree program, the main reason seeming to be that they're overly cynical at the ideas the lecturer is throwing at them on a regular basis. Ideas which often conflict with their own, self-taught, views on things.
I can understand this. I've been reading computing magazines, websites, journals for 12 years. I'm currently half way through the 5th year of my degree. I'll admit that it was very easy to be cynical of some taught courses, instantly branding the lecturer a fool, the coursework unecessarily complex, or the writing pointless. However, it came to me rather quickly that while I had my ideas, so did this lecturer. The lecturer's ideas were formed from many more years in the field than I could ever have been, and were presumably shaped in part by the rigours of peer-review over the years of building up his or her academic career, and were therefore significantly more valid than mine. I was able to reject some of my previous ideas, and reshape many more of the ideas I (thought I) had picked up over time.
Some people can't see that their self-taught ideas are possibly not correct. Some people can't reshape their own ideas into something that somebody else who hasn't proven their worth to them is saying at the front of the lecture hall. Some people see anything which detracts from what they find interesting as "pointless". This, as the article points out, is not what an employer wants in an employee, as all jobs are going to have their boring aspects. Boring aspects which have to be completed none-the-less.
I can wholeheartedly say that I've enjoyed my time at university. I enjoy the fact that I've been exposed to many things and many ideas I would not have seen had I gone into industry 4 years ago. I'm a better coder and a better writer because of my time at university. I'm damn fast at picking up new ideas on my own because of it, and learning on my own because of it.
Above all else, working when I wanted and going out when I wanted was something unlikely to be found in industry. Basically, it's all good.
There's a lot been done on multicasting stuff without the actual existence of IP Multicast (as is the case in much of the public Internet). It's funny this came up, seeing as my project at uni this year will turn out an implementation of an overlay multicast protocol on which I'll be able to run conferencing tools.
In the absence of my wonderful software, I'd suggest taking a quick look at Yoid, which should theoretically use your bandwidth intelligently. The applications which run on yoid without modification are few in number, but I believe they ship a modified version of VAT (Visual Audio tool). If not, and VAT runs on Yoid without modification, VAT can be found here: www-mice.cs.ucl.ac.uk/multimedia/software/ (the URL appears to be down just now. I'd imagine it should be back up soon-ish.)
Available on that site is some form of collaborative whiteboard system, which could (possibly) be useful for such an event.
His was a joke. The humour lies in the fact that nobody truly thought that the machines that were really affected by the Y2K bug would still be in regular use - those machines being the big machines running custom software written in old languages that banks and other big companies use.
/therefore/ we won't be using any affected software/hardware anymore is foolish. While in an ideal world it would be safely fixed sooner rather than later, we all know this just isn't how humans work :)
To state that there is no 2038 problem simply because it's a reasonable amount of time in the future and
I don't know if there was any one thing which got me into computing. I certainly have a vague memory of a table-top space invaders game (as in the cabinet was a table, and you looked down onto the screen) one year when I was on holiday with my parents around 5 years old; my parents had to tear me away from it all too often. I just seem to have always been fascinated, and always wanted to learn more.
/ideas/, not skills. Why? First, computing science is more about ideas more than the skills, and the differentiation should be made clear. Second, the moment a teacher has kids on computers, he or she has lost control of the class; the teacher has to be confident of the materials if they are to be used at all.
It's an interesting topic, because I too have often thought that it's so much harder to get into computing these days, when compared to systems like the BBC Micro which had BASIC on ROM and loaded on boot. Turn on, start typing.
It's something that academia is attempting to tackle, in many different ways. It's been clear for quite some time that children in schools are being taught ICT, and not computing science; ICT is often mislabelled as computing, so people get confused. Kids often think they are learning computing, when they are learning information technology.
The project I was involved with over the summer involved creating materials for schools (late primary to early secondary education here in the UK, that is, around 10-12 years of age), which would teach simple computing ideas. The materials were unusual in one key sense - they were entirely offline materials, teaching
It's surprisingly easy to do. We produced hundreds of ideas, which will continue to be refined, rejected, and added to, as the project continues. Simple ideas include sorting lists; scheduling and ordering events before a party; concurrency can be taught with team games teaching different ideas, such as locking shared data structures, producer/consumer relationships; networks and distributed systems can be taught using different teams at different desks. Yes, we really were teaching 10 year olds distributed systems ideas without the aid of computers.
Having seen this, and a number of other projects aimed at children, actually work, I suspect that if (or when) these things become widespread in education, lots of kids will be exposed to computing for the first time in formalised education, and not necessarily when left to their own devices. Obviously some still will, but a computer is no longer this mysterious box in the corner.
Using OpenOffice is admirable, but for a 134 page document? I stay away from office suites for documents longer than a handful of pages...
They never heard of LaTeX? :)
To be fair, it wouldn't necessarily be difficult to implement a fully distributed Bittorrent system. The difficulty is achieving widespread acceptance to provide a large enough catalogue of material (illegal or otherwise) to make the network worthwhile in people's eyes.
.torrent from the process entirely, and have the DHT store the contents of the .torrent file instead. This is all easily achievable.
The research community has provided many, many ways of implementing distributed hashtable (DHT) functionality over the years, offering systems which can handle many thousands of nodes. Tapestry, CAN, Pastry, Scribe, Chord (etc, etc) are examples of such systems, each has its own way of organising the namespace across the nodes, each offers certain levels of redundancy between nodes.
It would be easy to implement one of these systems, or make use of code from one of the projects which has released code under some open source license. So long as results from a lookup were returned on the basis of finding only some terms in a query, rather than all terms, with some basic elements of information retrieval techniques coming into play here to provide a ranking on results returned, looking up content would be easily do-able.
If there's an issue with the system scaling, introduce some hierarchical structure to the system, the number of ways traffic can be passed between groups in the hierarchy (not necessarily reducing the number of nodes reachable from any one node). Christ, you could get a paper published just on that idea alone.
The DHT could either map [title]:[.torrent location] pairs (allowing the BitTorrent system to used in its current form). A cleaner solution would be remove the
Again, this would not be a difficult system to implement. The difficulty lies in acceptance.
Space colonies is easy: They'll simply break the flat namespace again by introducing Intergalactic NATs.
Film 2004 is particularly good with Jonathan Ross.
:)
What amused me in that clip was him saying "Zaphod Beeblebrox", his accent and rounded-R's made me chuckle
> They didn't know the content was illegal.
I'm sorry, that's one of the funniest things I've read all day.
Good show, sir.
Yes, school (or college, university, whatever your preferred term) is the basis for education. A decent degree certainly will teach security and the like, but certainly *not* specifics for one operating system -- the point is the ideas, the concepts, not how to routinely (de-)install something on Windows. The grandparent was incorrect in saying that the degree means nothing. However, it certainly does not mean everything.
> The person has written a credible article and he deserves some applause and not
> some useless 1 liners.
The person has written an article resembling a considerable rant at points, thus throwing credibility out the window, despite making some good points.
Oh come on, this is clearly a joke. Mod up!
Of course P2P doesn't break the law. P2P has been around for years, long before illegal sharing of copyrighted content on P2P systems hit the limelight.
Consider: Usenet, 1979.
There's definitely something to be said for a level of confidence, subtle arrogance, and a touch of perseverence (they don't want you to give up, they want you to tag along. It's a reassurance to them that you really want /them/, and not just their body. Of course, slashdotters have trouble between 'tagging along for a bit' and 'stalking'). Honesty's a goodie too.
Of course, being a bastard with a lot of money and a huge knob probably works just as well.
Glasgow uni, Scotland, where I study.
And yes, it's pretty damn cool to see. They have lots of computer graphics/computer vision stuff going on here, some of it's pretty funky.
3D cameras do exist ... though the one that I saw was a fairly substantial beast. About the size of a phone booth, you stand in the middle and well-calibrated cameras all around you take pictures, generating a 3D model of whatever's in there.
It was strange seeing a surprisingly high resolution 3D model of me on screen seconds after I'd stepped out of the thing.