I had no doubt that more recent Gnutella clients had made great strides in improving the scalability of the network. No doubt, most of the "Gnutella doesn't scale" papers, besides being written by biased authors (like, say, a Napster software engineer), analyze the protocol as it was implemented in Justin Frankel's pre-alpha client, which was only available in binary format on Nullsoft's web site for less than a day before AOL-TW higher-ups told him to remove it. Actually, Justin's client was quite impressive--the binary was only about 50k IIRC and had a lot of functionality, but it was not intended to be used on a large scale.
Unfortunately, the person I was responding to seemed to think that because he had seen reports that Gnutella could not scale up to 100,000 clients, it was impossible for any network to scale up to 100,000 clients. My intent was to point out the gap in his logic, not that Gnutella is fatally flawed.
I bet that, over the next ten years, operating systems from Microsoft will become bigger, slower, more invasive, and less secure than ever before. Anyone want to take me up on that bet?:-p
I don't need a self-healing computer nearly as much as I need a self-painting house and a self-mowing lawn. And my wife could sure as heck use a self-fueling car.
Fsck all that, I just want self-washing dishes...some self-laundering clothes (and/or money) might be nice too...;-)
The potential pitfalls of 100,000 computers trying to access each other across the same network gives me headaches just thinking about it.
The number of machines on the network isn't the issue--an AC's tongue-in-cheek response to this comment pointed out that by that logic the Internet shouldn't work--but the bandwidth requirements and network architecture do matter. Gnutella's problem is that it requires a LOT of bandwidth and it is easily bogged down by slow (i.e. modem) connections. A well-designed protocol and architecture (i.e. not an pre-alpha binary posted on the web for less than 24 hours;-) ) would probably be up to the task. Of course, knowing Microsoft, they'd probably ship a protocol and architecture that scales worse than Gnutella...:-p
What would the volume of 10% of all DVDs rented in the U.S. be? I imagine it's probably quite a bit. In any case, the environmental argument doesn't apply for me because my apartment complex is across the street from a video store...:-p
Wouldn't that make Nitrogen gas illegal under the DMCA as a circumvention [device]?
What are they going to do, hold me in contempt for breathing? Arrest me for being under the influence of N2? (For those who don't know, the atmosphere is roughly 70% nitrogen)
P.S. Love the handle...too bad most/.ers don't know much about physics...
I imagine you know this, but for the benefit of others I'll speak my piece anyway. Trying to catalog algorithms as disparate as the examples you give for the variety of backgrounds that programmers come from would be very difficult.
Designing a scalable peer-to-peer network architecture would probably require background in graph theory and topology. (For reasons why such background would be helpful, try using Gnutella...;-) )
An mp3 codec requires understanding of the discrete Fourier transform, i.e. a digital signal processing course, which in turn requires a engineering background in signals and systems, which in turn requires several years of college-level math, probably beyond the level required by many undergraduate computer science programs.
I don't know what the prerequisites would be for writing a spell checker or regex engine, but my intuition is that the algorithms behind both are probably quite similar--this is the one you're most likely to find the building blocks for in an algorithms book like Rivest or Sedgewick.
A Civ-like game AI is really too specific to include in an encyclopedia of algorithms, although the closest analog I can think of is maybe control theory, which again assumes more of an engineering background than a programming background.
I empathize with your complaints, but there's a much better chance of finding each algorithm in a separate book than finding them all cataloged in one book. A book along these lines that I would like to see is a pseudo-code Numerical Recipes book, rather than the Numerical Recipes books which claim to be for C or whatnot but are written with Fortan's feature set (or lack thereof) in mind. (I should disclaim this remark by noting that it's based on heresay; I've glanced at Numerical Recipes in C but not really read or studied it) I imagine such books are out there, but they're not nearly as well known as the Numerical Recipes books.
P.S. My intuition is that DivX;-) probably boils down to DSP, but I'm just a undergrad who knows just enough to hurt myself so I'm probably wrong...;-)
I think the F-104 had an ejection seat that went out the bottom of the aircraft. In any case, I remember reading in The Right Stuff by Tom Wolfe about a test pilot who was killed by such an ejection seat because he had to bail out on takeoff. IIRC, he tried to turn the airplane upside down so the seat wouldn't pile-drive him into the ground, but ended up going out sideways and the chute didn't deploy...:-(
Despite having gone skydiving once when I was younger and more brash, I still think there's something unnatural about expecting a thin piece of fabric to keep you from becoming a red splotch on the ground...
I think you misunderstand what VMWare does. My understanding is that VMWare is a thin emulation layer that emulates your physical x86 machine on itself so that you can run Linux/*BSD under Windows or Windows/*BSD under Linux. Seeing as how AmigaOS was designed for a completely different platform and, according to the article, a fairly exotic architecture that is difficult to emulate, I don't see how VMWare would help in this case.
CPUs are the exception in this case. In general, you don't want solid-state electronics running so hot that fatigue due to thermal expansion is a factor.
P.S. Nice attempt to make the RAM a moving part, but that doesn't mean it has moving parts...:-p
The OEM's to whom CPUs and DRAM are usually sold to know that 99.9% of parts are going to fail in 30 days--there's no point in trying to sway them with a longer warranty...
RAM is a mechanical device; even though it doesn't have joints and piviot points, the parts it does have do move and do wear out.
RAM is not mechanical, it's capacitive, i.e. it operates by storing charge. One of the advantages of semiconductor, or solid-state, electronics over pre-transistor electromechanical relays and vacuum tubes is that they require no moving parts, making them more rugged and reliable.
Defects usually show up on the initial test, though some don't show up for a few years.
A curious thing about solid-state electronics is that a large number of parts fail initially, then the failure rate is constant for several years, and then the failure rate increases again. This is why electronics like CPUs and DRAM usually have a warranty of 30 days, because 99.9% of parts that are going to fail do so in 30 days. Contrast this with mechanical failure, which continually increases with time.
For people like me who had no idea what coltan is, see this article. The short version is that columbite-tantalite (coltan) is an ore than can be refined into tantalum, which apparently is a very good dielectric for making capacitors. This means that it's not just in cell phones but probably in every electronic device you own.
The controversy over coltan and the Congo seems to revolve around two issues. One is that Congo's neighbors seem to be exploiting its coltan resources, i.e. smuggling coltan and exporting it as their own product. Another is the environmental impact, since illegal mining operations probably care as much about the environmental impact they have as they do about the law.
All of this so far is off-topic, but if rf MEMs could replace capacitive filters and resonators, it could help reduce the demand for coltan. This feeble attempt to be on-topic is purely speculative, though, as I am not a wireless engineer and the NYT article lacks details about the materials being used in these devices.
Well technically an AU is an Astronomical Unit, which is 149598550000 meters or 1.495 x 10^21 angstroms. I made my parent calculation multiplying 93 million miles x 1600 meters/mile x 10^10 angstroms/meter in my head and still managed to be within 2 orders of magnitude. As an engineer, I consider that to be pretty good, especially since once in introductory physics I got an answer off by 68 orders of magnitude. A note to aspiring scientists and engineers: don't leave out negative signs, expecially ones like in h = 6.626 x 10^-34 J-s...;-)
It follows that slashdot is more efficient at generating black holes than nature, since a server somewhere in the world goes down every time a link is posted...;-)
Of course, the speed of light (or photons, or EM waves) in a copper wire is somewhat less than that of light in free space (but, interestingly, somewhat more that that in glass fiber, despite claims that fiber optics is "networking at the speed of light").
Two responses:
Fiber optics is networking at the speed of light--it's just the speed of light in glass, which is ~2/3 the speed of light in vacuum.
Photonic bandgap fiber uses a hole in the center of a glass fiber to confine the light. Since this hole is presumably filled with air, which has a refractive index very close to 1, such fiber would be networking very close to the speed of light in vacuum.
Wow, you must be really unsure about anything you say? ;-)
Yeah, but that doesn't help if you want one child in as little time as possible. See my journal for background information regarding this quote.
I thought both the Java compiler and the JVM were written in C.
I had no doubt that more recent Gnutella clients had made great strides in improving the scalability of the network. No doubt, most of the "Gnutella doesn't scale" papers, besides being written by biased authors (like, say, a Napster software engineer), analyze the protocol as it was implemented in Justin Frankel's pre-alpha client, which was only available in binary format on Nullsoft's web site for less than a day before AOL-TW higher-ups told him to remove it. Actually, Justin's client was quite impressive--the binary was only about 50k IIRC and had a lot of functionality, but it was not intended to be used on a large scale.
Unfortunately, the person I was responding to seemed to think that because he had seen reports that Gnutella could not scale up to 100,000 clients, it was impossible for any network to scale up to 100,000 clients. My intent was to point out the gap in his logic, not that Gnutella is fatally flawed.
I bet that, over the next ten years, operating systems from Microsoft will become bigger, slower, more invasive, and less secure than ever before. Anyone want to take me up on that bet? :-p
Anyhow, the parent post's concern is well-founded, since patents used to be valid for only 17 years, as is explained in this comment.
What would the volume of 10% of all DVDs rented in the U.S. be? I imagine it's probably quite a bit. In any case, the environmental argument doesn't apply for me because my apartment complex is across the street from a video store... :-p
P.S. Love the handle...too bad most
As far as I'm concerned, the concept is flawed, and I will vote against it with my dollars.
Welcome to Dubya's America?
A technology flops, and companies try to resurrect it nonetheless. Don't they remember Circuit City's Divx fiasco?
- Designing a scalable peer-to-peer network architecture would probably require background in graph theory and topology. (For reasons why such background would be helpful, try using Gnutella...
;-) ) - An mp3 codec requires understanding of the discrete Fourier transform, i.e. a digital signal processing course, which in turn requires a engineering background in signals and systems, which in turn requires several years of college-level math, probably beyond the level required by many undergraduate computer science programs.
- I don't know what the prerequisites would be for writing a spell checker or regex engine, but my intuition is that the algorithms behind both are probably quite similar--this is the one you're most likely to find the building blocks for in an algorithms book like Rivest or Sedgewick.
- A Civ-like game AI is really too specific to include in an encyclopedia of algorithms, although the closest analog I can think of is maybe control theory, which again assumes more of an engineering background than a programming background.
I empathize with your complaints, but there's a much better chance of finding each algorithm in a separate book than finding them all cataloged in one book. A book along these lines that I would like to see is a pseudo-code Numerical Recipes book, rather than the Numerical Recipes books which claim to be for C or whatnot but are written with Fortan's feature set (or lack thereof) in mind. (I should disclaim this remark by noting that it's based on heresay; I've glanced at Numerical Recipes in C but not really read or studied it) I imagine such books are out there, but they're not nearly as well known as the Numerical Recipes books.P.S. My intuition is that DivX
I think the F-104 had an ejection seat that went out the bottom of the aircraft. In any case, I remember reading in The Right Stuff by Tom Wolfe about a test pilot who was killed by such an ejection seat because he had to bail out on takeoff. IIRC, he tried to turn the airplane upside down so the seat wouldn't pile-drive him into the ground, but ended up going out sideways and the chute didn't deploy... :-(
Despite having gone skydiving once when I was younger and more brash, I still think there's something unnatural about expecting a thin piece of fabric to keep you from becoming a red splotch on the ground...
I think you misunderstand what VMWare does. My understanding is that VMWare is a thin emulation layer that emulates your physical x86 machine on itself so that you can run Linux/*BSD under Windows or Windows/*BSD under Linux. Seeing as how AmigaOS was designed for a completely different platform and, according to the article, a fairly exotic architecture that is difficult to emulate, I don't see how VMWare would help in this case.
CPUs are the exception in this case. In general, you don't want solid-state electronics running so hot that fatigue due to thermal expansion is a factor.
:-p
P.S. Nice attempt to make the RAM a moving part, but that doesn't mean it has moving parts...
The OEM's to whom CPUs and DRAM are usually sold to know that 99.9% of parts are going to fail in 30 days--there's no point in trying to sway them with a longer warranty...
For people like me who had no idea what coltan is, see this article. The short version is that columbite-tantalite (coltan) is an ore than can be refined into tantalum, which apparently is a very good dielectric for making capacitors. This means that it's not just in cell phones but probably in every electronic device you own.
The controversy over coltan and the Congo seems to revolve around two issues. One is that Congo's neighbors seem to be exploiting its coltan resources, i.e. smuggling coltan and exporting it as their own product. Another is the environmental impact, since illegal mining operations probably care as much about the environmental impact they have as they do about the law.
All of this so far is off-topic, but if rf MEMs could replace capacitive filters and resonators, it could help reduce the demand for coltan. This feeble attempt to be on-topic is purely speculative, though, as I am not a wireless engineer and the NYT article lacks details about the materials being used in these devices.
Well technically an AU is an Astronomical Unit, which is 149598550000 meters or 1.495 x 10^21 angstroms. I made my parent calculation multiplying 93 million miles x 1600 meters/mile x 10^10 angstroms/meter in my head and still managed to be within 2 orders of magnitude. As an engineer, I consider that to be pretty good, especially since once in introductory physics I got an answer off by 68 orders of magnitude. A note to aspiring scientists and engineers: don't leave out negative signs, expecially ones like in h = 6.626 x 10^-34 J-s... ;-)
The average distance from the sun to the earth is 1.5 x 10^23 angstroms, plus or minus a whole lot of angstroms.
It follows that slashdot is more efficient at generating black holes than nature, since a server somewhere in the world goes down every time a link is posted... ;-)