IIRC, the protagonist in Neal Stephenson's Cryptonomicon was given his laptop back while in jail due to a setup. They spied on the EMF emissions of his computer to catch him decrypting some files in the laptop.
In spite of that, he managed to create a covert channel between himself and the computer using the space bar and the keyboard LEDs to communicate in Morse code.
Something similar could be done to bypass a keyboard sniffer, perhaps?
>Intel IA-32 (i386 through Pentium III) doesn't >work that way. In the Pentium Pro and later, >there are branch prediction bits in the cache, >set as the code >executes.
x86 (and Alpha and SPARC and MIPS) have branch predictors but the prediction history bits are stored in on-chip prediction tables. NOT in the instruction cache. Keeping them in the cache is not unreasonable though and may be an interesting research topic since you do not have to keep a big on-chip table that suffers aliasing and capacity problems.
>When Tux is located, he will be hustled into the >parking lot where John Carmack will be waiting to >speed away to safety at speeds well in excess of >140 mph.
Dude, you forget: - Carmack will come in a special Year-2000 limited-edition Ferrari Quakemobile
- Ultra-secret virtual reality technology and some bad Hollywood movie producers will be used to bring to life the Doom Marine, the Quake guy, a few cyberdemons and imps and maybe Sarge and Slash for some Q3A action. And of course, they will run in Nightmare mode with cheats disabled.
- Epic have promised to provide some Unreal engine leg-ups so that we can watch the whole thing in 32-bit color, 4096x3276@100fps
- John Romero will provide backup as long as he can find that goddamn katana-sword-thing that he lost in his hair 3 years ago.
- We are trying to contact friends at 3D Realms to ask our friend Duke to help in the ass-kicking ceremonies at Redmond. On a related note, Bruce Campbell will take some time out of his busy schedule to call up BillG from the M$ front gate and ask him to "come get some."
A previous poster already mentioned a few links to "open-source" hardware (Sun giving away picoJava(?) and microSPARC descriptions, Xilinx FPGA descriptions etc).
A few more links: The Freedom CPU and Free-IP: ASIC and FPGA cores for the masses. There is also an EETimes article (by the Free-IP site owner) about the benefits of open-source hardware IP.
Given the recent change in the editorial board of India Today, it is not surprising that socialism gets a little bashed. The editor is Prabhu Chawla, a registered member of the currently-in-power Bharatiya Janata Party (BJP) which the non-Indian press loves to refer to as a right-wing Hindu nationalist party. The second-in-command is Swapan Dasgupta (I think) who is also apparently a well-known right-wing sympathizer. India Today is not exactly in love with socialism or Marxism (not that I am either) and probably has its own agenda.
I will agree with your point though that Marxism is fashionable in certain academic circles. But it's not socialism, Marxism or democracy that's the cause for India's woes. It's corruption, ignorance and apathy.
This is a quote from the linuxtoday article (emphasis mine):
>The encryption would allow the industry to put >regional codes into DVDs, preventing American >DVDs from running in Europe (where movies come >out several months later and at higher >prices), or preventing Indian DVDs (which cost >less since India has less money) from >running in America.
Huh? Indian DVDs cost less because India has less money? Y.
There's a famous quote in computer architecture folklore: "A supercomputer is a device which converts a computation problem into an I/O problem."
BTW, this is not completely a joke, since a big problem with supercomputers is that since they can chew on data faster than anything else, they need to be fed with large amounts of data at very high rates.
There's an article on NEWS.com (via Reuters) that claims that this is bogus. Of course, it is only a statement by an MS spokesperson and not an official statement by the Chinese Govt.
Even more reason to use Freedom from Zero-Knowledge at www.zeroknowledge.com. The product is not out yet, it's in beta testing stage. It supports you having multiple anonymous pseudonyms, works at the IP layer (I think) and filters all identifying information that it can find from your packets and ties them in with the pseudonym you select. Cookies go into separate cookie jars for each pseudonym. Quite cool.
I have a beta evaluation copy: haven't used it too much, though it does slow down surfing a bit over a 56K modem connection.
I agree that software guys should take some tips from the hardware people. However:
1. Hardware is not easily changeable after release. That is probably why so much time and effort is invested in testing and verification. If software remains easily patchable, it will reduce the pressure to iron out all the bugs.
2. Hardware testing is slightly easier than software testing I think (yeah let the flamewars begin:). In hardware, the inputs are reducible to a set of wires and the signals which come along those wires. Lots of research done on creating test vectors for feeding circuits so as to cover all the gates and so on. Gets more complicated of course when doing processor verification (especially multiprocessor and I/O configs). The inputs are not delineated that easily in the software world. There are a zillion ways for a software program to receiving input from the external world and it may interact with a zillion OS/other-program/device configurations. Lot harder to ensure that no bug exists. Software test case coverage tools do exist but I think the field is a lot less developed compared to VLSI testing.
A long while ago (either in a.plan update or in an interview, I can't rremember), Carmack had mentioned that he was waiting for the last Quake engine licensee to get their game out of the door so that he could release the Quake source code. That's good though the puzzling thing is that he refers to John Romero/Ion Storm's Daikatana as this last licensee. I thought that they were using the Quake ][ engine.
Check out the Decompilation Page at http://www.csee.uq.edu.au/~csmweb/ decompilation/. These guys have published papers on decompiling programs back into semi-readable C code. I'm not sure how well it worked on "real-world" programs. Also, do a search for "binary editors" or "executable editors" (e.g., EEL, ATOM/Alto, Etch for SPARC, Alpha and x86 respectively). These tools edit binaries and have to do some form of decompilation to figure out control flow and so on. But they were not designed for reverse engineering. You could use them for making small tweaks to a binary for which you have no source (or optimizing it).
Agreed, but that is not consistent with saying "most PhDs take less than 4 years" or "bachelor+PhD = 7 yrs." So I will stick my head out and say that a CS PhD will take on average 5 years to finish and your age will be 27 on average. For an average, a year more or less does make a difference. Ask the people who are in the process of graduating!
You claim that the time period for a PhD is usually less than 4 years?? And that a bachelor+PhD should take 7 yrs total normally?? "Most people" get their PhDs by the time they're 26 or 27?
Frankly, I do not know which planet you live on but here on Earth, I doubt if you can make such sweeping generalizations. I do not know exactly what the scene is like in the humanities or in Physics/Chemistry/Biology but speaking for Computer Science, the average would be around 5 yrs after bachelor's (speaking both from what I've seen after 3 yrs of grad school as well as from www.cra.org). If you're in theory, you tend to finish a little faster than in Systems, where you have to spend more time actually building something to evaluate. It also varies a lot from field to field (within CS) and from school to school. E.g., Out here in Wisconsin-Madison, a computer architecture PhD will easily take around 6 yrs on average. People at MIT take forever to graduate:) [ok there is some truth in that last bit]
Have you tried MediaRing? It's free but runs only on Windows IIRC and is not open-source either. I've used it for international calls (MidWest to India) and so the lag I experienced was understandable (happens on normal phone calls too). Dunno how good it is for long-distance calls within the US. Give it a try.
On a related note, China has informed the top brass of the national airlines that they WILL be in a plane on the night of Dec 31, 1999. Now that should get squash some Y2K bugs
GCC is portable to many architectures, but it lags behind in optimizations for a specific architecture.
A while back, I had heard of an unofficial comparison of various vendor compilers with GCC for various architectures with the SPECINT95 benchmark suite. GCC was quite a bit slower.
There are also quite a few third-party C/C++ compilers being sold out there e.g., KAI or the Edison Group's C++ front end. These are sold mostly on the basis of better feature support, error checking, development environments and so on, I think.
A while back (last summer I think), I had heard/read about an effort to show ads in the blank edges around the monitor image.
I'm not sure about the technical details here. I had presumed that the limits of the monitor image define the range of the electron guns and that this could only be changed by the physical monitor controls. This scheme probably needs a software-changeable range or something like that.
Yup, the company is Kryotech (http://www.kryotech.com)
Also, see http://www.kryotech.com/articles/chess_release.a sp
for the details on how they cooled a 333MHz K6-2 to -40, clocked it to 450MHz and then ran a chess program called "Rebel" to beat World#2 Vishwanathan Anand 5-3.
Currently they provide a PC with a 600MHz K6-3 CPU. So, I wonder why they don't try this on an Alpha:). Or maybe Alphas can't be overclocked so easily as Intel's chips?
Some comments in this thread mentioned that it is difficult for Linux volunteers to find the expensive hardware required to conduct benchmarking tests. It might be a good idea to let a few of these consulting/analysis agencies sponsor a "bake-off": a benchmarking contest between interested groups. They provide the hardware, the participants bring software and perhaps some of their own hardware and we have a head-to-head contest. Media attendance might keep matters above board.
This has been done recently (last month) for Web proxy servers. NLANR (the makers of the Squid web proxy) sponsored a bake-off. See this link for more information.
It would have to implement some restrictions (e.g., total budget) for fair comparisons, since companies can easily afford to bring their expensive hardware while academic/non-profit groups will have to skimp.
>All of you CS graduate students out there.. don't you realize that you would be grant-less without the industry connection?
Umm, as a CS grad student, I should reply that the government (NSF, DARPA/ARPA etc) provides a major chunk of university funding. Industrial funding IS substantial, but I think that most of this is from hardware companies (Intel/IBM/SGI/HP/Compaq) providing machines rather than software companies (with the exception of Microsoft and database companies such as Oracle).
Assuming that having free software does not affect the goverment budget or the revenue or stock value of the hardware companies, then US universities should have no problem with research funding. Sure, you may have less money to make fancy-looking buildings with polished-metal elevators (Berkeley Soda Hall or Stanford's Bill Gates Bldg or MIT Staten Bldg), but you can live without this, right:) There are a lot of universities with plain-looking facilities that do good research.
BTW, I do not have hard numbers here. I speak from 3 years of experience in grad school. Correct me if I'm wrong.
I guess what I was really objecting to in this thread was that being inconsistent or ambiguous in variable naming should not have anything to do with your native tongue. The way you put your last paragraph seems to imply that a native English speaker would understand the value of consistent, concise variable names, while non-native speakers would not. I do not think that is true.
Of course that is a bit simplistic: I'm forgetting that all programming languages use English keywords (except languages like APL that use the Martian alphabet:). It all depends on how well you can use English and whether you "think" in English while programming. My 2 cents.
IIRC, the protagonist in Neal Stephenson's
Cryptonomicon was given his laptop back while
in jail due to a setup. They spied on the EMF
emissions of his computer to catch him decrypting
some files in the laptop.
In spite of that, he managed to create a covert
channel between himself and the computer using
the space bar and the keyboard LEDs to communicate
in Morse code.
Something similar could be done to bypass a keyboard sniffer, perhaps?
Y.
>Intel IA-32 (i386 through Pentium III) doesn't
>work that way. In the Pentium Pro and later,
>there are branch prediction bits in the cache,
>set as the code >executes.
x86 (and Alpha and SPARC and MIPS) have branch
predictors but the prediction history bits are
stored in on-chip prediction tables. NOT in the
instruction cache. Keeping them in the cache is not
unreasonable though and may be an interesting
research topic since you do not have to keep
a big on-chip table that suffers aliasing and
capacity problems.
Y.
http://www.research.digital.com/SRC/pjb
Y.
>When Tux is located, he will be hustled into the
... :)
>parking lot where John Carmack will be waiting to
>speed away to safety at speeds well in excess of
>140 mph.
Dude, you forget:
- Carmack will come in a special Year-2000
limited-edition Ferrari Quakemobile
- Ultra-secret virtual reality technology
and some bad Hollywood movie producers will
be used to bring to life the Doom Marine,
the Quake guy, a few cyberdemons and imps
and maybe Sarge and Slash for some Q3A
action. And of course, they will run in
Nightmare mode with cheats disabled.
- Epic have promised to provide some Unreal
engine leg-ups so that we can watch the
whole thing in 32-bit color, 4096x3276@100fps
- John Romero will provide backup as long as he
can find that goddamn katana-sword-thing that
he lost in his hair 3 years ago.
- We are trying to contact friends at 3D Realms
to ask our friend Duke to help in the
ass-kicking ceremonies at Redmond. On a
related note, Bruce Campbell will take some
time out of his busy schedule to call up
BillG from the M$ front gate and ask him
to "come get some."
As much as I could manage
Y.
A few more links: The Freedom CPU and Free-IP: ASIC and FPGA cores for the masses. There is also an EETimes article (by the Free-IP site owner) about the benefits of open-source hardware IP.
Yumpee
Given the recent change in the editorial board of India Today, it is not surprising that socialism gets a little bashed. The editor is Prabhu Chawla, a registered member of the currently-in-power Bharatiya Janata Party (BJP) which the non-Indian press loves to refer to as a right-wing Hindu nationalist party. The second-in-command is Swapan Dasgupta (I think) who is also apparently a well-known right-wing sympathizer. India Today is not exactly in love with socialism or Marxism (not that I am either) and probably has its own agenda.
I will agree with your point though that Marxism is fashionable in certain academic circles. But it's not socialism, Marxism or democracy that's the cause for India's woes. It's corruption, ignorance and apathy.
Y.
>The encryption would allow the industry to put
>regional codes into DVDs, preventing American
>DVDs from running in Europe (where movies come
>out several months later and at higher
>prices), or preventing Indian DVDs (which cost
>less since India has less money) from
>running in America.
Huh? Indian DVDs cost less because India has less money? Y.
BTW, this is not completely a joke, since a big problem with supercomputers is that since they can chew on data faster than anything else, they need to be fed with large amounts of data at very high rates.
Yumpee
Microsoft denies China ban on Windows 2000
Yumpee
Even more reason to use Freedom from Zero-Knowledge at www.zeroknowledge.com. The
product is not out yet, it's in beta testing stage. It supports you having multiple anonymous
pseudonyms, works at the IP layer (I think) and filters all identifying information that it can find from your packets and ties them in with the pseudonym you select. Cookies go into separate cookie jars for each pseudonym. Quite cool.
I have a beta evaluation copy: haven't used
it too much, though it does slow down surfing a bit over a 56K modem connection.
Yumpee
I agree that software guys should take some tips from the hardware people. However:
:). In hardware, the inputs are reducible to a set of wires and the signals which come along those wires. Lots of research done on creating test vectors for feeding circuits so as to cover all the gates and so on. Gets more complicated of course when doing processor verification (especially multiprocessor and I/O configs). The inputs are not delineated that easily in the software world. There are a zillion ways for a software program to receiving input from the external world and it may interact with a zillion OS/other-program/device configurations. Lot harder to ensure that no bug exists. Software test case coverage tools do exist but I think the field is a lot less developed compared to VLSI testing.
1. Hardware is not easily changeable after release. That is probably why so much time and effort is invested in testing and verification. If software remains easily patchable, it will reduce the pressure to iron out all the bugs.
2. Hardware testing is slightly easier than software testing I think (yeah let the flamewars begin
A long while ago (either in a .plan update or in an interview, I can't rremember), Carmack had mentioned that he was waiting for the last Quake engine licensee to get their game out of the door so that he could release the Quake source code. That's good though the puzzling thing is that he refers to John Romero/Ion Storm's Daikatana as this last licensee. I thought that they were using the Quake ][ engine.
Check out the Decompilation Page at http://www.csee.uq.edu.au/~csmweb/ decompilation/. These guys have published papers on decompiling programs back into semi-readable C code. I'm not sure how well it worked on "real-world" programs. Also, do a search for "binary editors" or "executable editors" (e.g., EEL, ATOM/Alto, Etch for SPARC, Alpha and x86 respectively). These tools edit binaries and have to do some form of decompilation to figure out control flow and so on. But they were not designed for reverse engineering. You could use them for making small tweaks to a binary for which you have no source (or optimizing it).
Agreed, but that is not consistent with saying "most PhDs take less than 4 years" or "bachelor+PhD = 7 yrs." So I will stick my head out and say that a CS PhD will take on average 5 years to finish and your age will be 27 on average. For an average, a year more or less does make a difference. Ask the people who are in the process of graduating!
Yumpee
You claim that the time period for a PhD is usually less than 4 years?? And that a bachelor+PhD should take 7 yrs total normally?? "Most people" get their PhDs by the time they're 26 or 27?
:) [ok there is some truth in that last bit]
Frankly, I do not know which planet you live on but here on Earth, I doubt if you can make such sweeping generalizations. I do not know exactly what the scene is like in the humanities or in Physics/Chemistry/Biology but speaking for Computer Science, the average would be around 5 yrs after bachelor's (speaking both from what I've seen after 3 yrs of grad school as well as from www.cra.org). If you're in theory, you tend to finish a little faster than in Systems, where you have to spend more time actually building something to evaluate. It also varies a lot from field to field (within CS) and from school to school. E.g., Out here in Wisconsin-Madison, a computer architecture PhD will easily take around 6 yrs on average. People at MIT take forever to graduate
Yumpee
Have you tried MediaRing? It's free but runs only on Windows IIRC and is not open-source either. I've used it for international calls (MidWest to India) and so the lag I experienced was understandable (happens on normal phone calls too). Dunno how good it is for long-distance calls within the US. Give it a try.
http:/ /ftp.digital.com/pub/Digital/info/semiconductor/li terature/cmpwrgd.pdf
The pa rent web page also has a bunch of data sheets, manuals and handbooks.
Enjoy (and don't ask me about the space in the link above, I don't know how that happened).
On a related note, China has informed the top brass of the national airlines that they WILL be in a plane on the night of Dec 31, 1999. Now that should get squash some Y2K bugs
http://www.research.digital.com/SRC/personal/Kris
(Don't know why a space got inserted in the link, just remove the space after you get the 404 error. Sorry!)
Also from Compaq (DEC) SRC:
Web Archeology
Mercator Web Crawler
GCC is portable to many architectures, but it lags behind in optimizations for a specific architecture.
A while back, I had heard of an unofficial comparison of various vendor compilers with GCC for various architectures with the SPECINT95 benchmark suite. GCC was quite a bit slower.
There are also quite a few third-party C/C++ compilers being sold out there e.g., KAI or
the Edison Group's C++ front end. These are sold mostly on the basis of better feature support, error checking, development environments and so on, I think.
A while back (last summer I think), I had heard/read about an effort to show ads in the
blank edges around the monitor image.
I'm not sure about the technical details here.
I had presumed that the limits of the monitor
image define the range of the electron guns
and that this could only be changed by the physical monitor controls. This scheme probably needs a software-changeable range or something like that.
Yumpee
Yup, the company is Kryotech (http://www.kryotech.com)
a sp
:). Or maybe Alphas can't be overclocked so easily as Intel's chips?
Also, see
http://www.kryotech.com/articles/chess_release.
for the details on how they cooled a 333MHz K6-2 to -40, clocked it to 450MHz and then ran a chess program called "Rebel" to beat World#2 Vishwanathan Anand 5-3.
Currently they provide a PC with a 600MHz K6-3 CPU. So, I wonder why they don't try this on
an Alpha
Yumpee
Some comments in this thread mentioned that it is
difficult for Linux volunteers to find the expensive hardware required to conduct benchmarking tests. It might be a good idea to let
a few of these consulting/analysis agencies sponsor a "bake-off": a benchmarking contest between interested groups. They provide the hardware, the participants bring software and perhaps some of their own hardware and we have a head-to-head contest. Media attendance might keep matters above board.
This has been done recently (last month) for Web proxy servers. NLANR (the makers of the Squid web proxy) sponsored a bake-off. See this link for more information.
It would have to implement some restrictions (e.g., total budget) for fair comparisons, since companies can easily afford to bring their expensive hardware while academic/non-profit groups will have to skimp.
Yumpee
>All of you CS graduate students out there.. don't you realize that you would be grant-less without the industry connection?
:)
Umm, as a CS grad student, I should reply
that the government (NSF, DARPA/ARPA etc)
provides a major chunk of university funding.
Industrial funding IS substantial, but I
think that most of this is from hardware
companies (Intel/IBM/SGI/HP/Compaq) providing
machines rather than software companies (with
the exception of Microsoft and database
companies such as Oracle).
Assuming that having free software does not
affect the goverment budget or the revenue
or stock value of the hardware companies, then
US universities should have no problem
with research funding. Sure, you may have less
money to make fancy-looking buildings with
polished-metal elevators (Berkeley Soda Hall
or Stanford's Bill Gates Bldg or MIT Staten
Bldg), but you can live without this, right
There are a lot of universities with plain-looking facilities that do good research.
BTW, I do not have hard numbers here. I speak
from 3 years of experience in grad school. Correct me if I'm wrong.
Yumpee
I guess what I was really objecting to in this
:). It all depends on how well you can use English and whether you "think" in English while programming. My 2 cents.
thread was that being inconsistent or ambiguous in variable naming should not have anything to do with your native tongue. The way you put your last paragraph seems to imply that a native English speaker would understand the value of consistent, concise variable names, while non-native speakers would not. I do not think that is true.
Of course that is a bit simplistic: I'm forgetting that all programming languages use English keywords (except languages like APL that use the Martian alphabet