You mention capitalism. It might interest you to know that intellectual property laws and copyright exist and are enforced in communist countries as well. Apparently because of the WTO. Not the RIAA. The merchant's lobby has become far too great for us to control.
Re:It reminds me the Hello World joke...
on
CIOs Looking At OSS
·
· Score: 1
Actually,
char *x="string"
creates a TERMINATED string constant. This is the case for whenever you use the "" delimiters.
Erm, for routing you don't need triangulation. There is a *very* frequent beacon singal sent by the mobile phone (1/s perhaps) - just to tell the network that it is still there.
Triangulation is also easy. By using the beacon. It does not matter if you are talking to somebody or not. All the time your phone is talking to the antennas. If there is a large number of stations that can receive you, your location can be known very accurately. I guess this however would require a special setup for your particular phone - otherwise only one station would be locked on to you. The others would ignore you. But I think this is something managed through guess what, SNMP in the station network.
The sidebands would have been infinitely wide if the channel would have infinite bandwidth:) - now they are filtered by the channel characteristics. Bah. Not that it matters.
XOR operations for moving sprites had been done in a very large number of spectrum games, and also a lot of arcade games.It offers the advantage that you don't have to buffer what lies behind the sprite. Speaking, of which, there are three main methods of sprite movement:
1. Background redraw
In this case, the background is redrawn at each frame and all sprites are drawn over it.
1.1. Partial redraw
Same as 1. but the only areas redrawn are those that where written over via sprite drawing operations
2. Reversible operations
2.1. XOR.
XOR a shape, reverse the operation by XORing it.
2.2. Buffers.
Copy the area that you are writing to into a buffer. Write. Reverse the operation by copying the buffer back. Note that this is different from 1.1, since *each and every* opearation is reversible. In 1.1. you go back to a 'blank' state by redrawing. Also, for a large number of shapes methods 1. and 1.1. can be much faster than reversible operations.
XOR operations for moving sprites had been done in a very large number of spectrum games, and also a lot of arcade games.It offers the advantage that you don't have to buffer what lies behind the sprite. Speaking, of which, there are three main methods of sprite movement:
1. Background redraw
In this case, the background is redrawn at each frame and all sprites are drawn over it.
1.1. Partial redraw
Same as 1. but the only areas redrawn are those that where written over via
Truly, and anywy you cannot see MS code. Well, you sort of can nowadays. I know that even in sys-critical applications proprietary code can be EVIL SPAGHETTI OF HELL. Of course, because of the nature of the applications there code might not have any (perceptible) bugs, since it is tested quite a bit, but.. it can be a design nightmare frequently.
At the ISP level it should be pretty easy. The same spam is going to reach a large number of people. I mean, even if the content of a spam message has never been seen before, the fact that the exact same message is being sent to a few thousand users simultaneously should be enough to trigger the filters.
There is a problem with 'simultaneously' of course. It would be required to tracking the document distances between all recently received emails, form clusters and discard the biggest clusters... can be pretty hairy computationally.
Yeah, if you modulate a 1.5gig signal with a half frequency sinewave, you get two sidebands. If you turn the carrier on and off at half-freq you get full spectrum coverage in the 1.5 +/- 0.75 range. If you carrier on/off is random (which you assume it will be if you are carrying any sort of information) , with a switch frequency of 0.75, then you spread the spectrum even more and take up 0-3.0Ghz. Of course, as you said, the +1.5Ghz frequencies are just mirrors, so they can be filtered out at least partially.
>Consider this, most cellphones around the world >operate at 1500MHZ and so have a seemingly >impressive maximum THEORECTICAL data transfer
>rate of 750Mbits/sec.
So what if they operate at 1500MHz? It is the bandwidth that is important. Example: Radio stations operate at 90-110MHz range. But each one has a bandwidth of around 30Khz.
So, first of all, the cellphones have a bandwidth allocated within a frequency range around 1.5Ghz. Let's take GSM, which is the most widely used standard:
The International Telecommunication Union (ITU), which manages the international allocation of radio spectrum (among other functions) allocated the bands 890-915 MHz for the uplink (mobile station to base station) and 935-960 MHz for the downlink (base station to mobile station) for mobile networks in Europe. Since this range was already being used in the early 1980s by the analog systems of the day, the CEPT had the foresight to reserve the top 10 MHz of each band for the GSM network that was still being developed. Eventually, GSM will be allocated the entire 2x25 MHz bandwidth.
In case you don't understand, it is simple. If you have a single signal at 1.5Ghz frequency, you could get a data rate equalling half the frequency. However when you transmit data you basically cause side-frequencies to appear in your spectrum. Do not assume that just because the system transmits at the base frequency of 1.5Ghz that the signal spectrum will be just a point at 1.5Ghz and 0 everywhere else. The spectrum will spread. If you use up all your possible bandwidth the spectrum will take up all the frequencies from 0 to 1.5Ghz.
Furthermore, consider the fact that there are many cellphones, sharing infrastructure. The protocol does both time-division and frequency-division multiplexing. While a *single* cellphone could perhaps work with a station at.75Gbit, this ceases to be the case when you add a few thousand cellphones. The band is subdivided to a pre-specified number of sub-bands - not only that, but there is also some time-division multiplexing going on, with each cellphone only doing rx/tx at a fraction of the total time.
Of course, the same is true for all electromagnetic wave devices.
In a nutshell: You don't need to write different code for different cards. Your program will work everywhere. You might improve the performance if you write special code. But that should be handled by the directx driver, so you would not have to.
Carnack is doing a bit deeper programming than just using the top-level opengl API, he's actually coding shaders and stuff.. I guess in that case you might need to go do vendor-specific stuff. But the top-level API is the top-level API You just use it and it's the same for all cards, the driver inbetween does its job and you dont need to write extra code.
Bah, I mean.. wait.. reading a resource of non-guaranteed length is when you start checking for buffer overflows, isn't that right? The preview pane is just one exploit. Bah.
Erm, why would that be? If you are reading 8-bit numbers those would be stored 'packed' into memory, i.e. 8 bytes for each 64-bit word. This is certainly how it is done now that we have 32-bit architectures. Guess what? Each 32-bit word can store 4 bytes.
The pointers, yes, they might be 64-bit each. So what? The machine has a lot of registers, the locally used pointers kept there, not even in the cache. The only case where this might be imoprtant would be when using stuff with a lot of pointers, like linked lists for example. But you also forget one thing:
Unless the system uses up more cycles to read a 64-bit value than to read a 32-bit value there is no point. And do not forget that using absolute addressing (or full range relative adressing) is the *only* case in which you'd need 32 bits for your pointers. I would expect that in most cases you have instructions that are encoded so the entire instruction and relative pointer fit in 64 bits. If not less. (I guess it depends on how pure RISC the design is).
I think there had been even more interesting experiments regarding infrasound. One of them was related to temporary hallucinations that would induce the image of 'ghosts' at the periphery of your vision. This was actually confirmed experimentally iirc.
The other interesting thing was that it is possible to use infrasound to create the effect of a noise that is coming from behind you. A noise coming from behind you naturally gets you 'anxious' and 'worried' because of the implications. (And yes, it is possible to make a sound coming from anywhere to sound as if it is coming from anywhere else - there are standard filtering techniques for that). Anyway, there are some particular infrasound frequences that have the 'behind you' effect I think.
I am sorry, but this is absolutely true. The BIOS only exists as a concept on the PC. I like to give the Amiga OS as an example in this case. (It was a single-user Multitasking, 32-bit OS, in late 80s to mid-90s. Last significant version was 3.1 in 1992 iirc, though 3.9 was released in 2001).
Let's take my A1200. What did it consist of? Well, it had the CPU, a custom chipset on the mainboard with DMA-accessible 2MB of RAM and an expansion slot. As you will see, there was hardware support for some things and then everything else was part of the OS:
Hardware-wise a number of protocols were supported, most importantly the mouse and AutoConfig. The mouse was simple. But AutoConfig was the plug'n'play of the 80s. (Introduced with Amiga3000 I think). It scanned the expansion bus (Think PCI bus). No, I should not say scan. It makes everything seem like windows scanning for hardware. It just sent a couple of signals on the bus and any devices that were there responded to acknowledge their presence, then the AutoConfig would ask them some stuff, like, if they had any ROM.
Now, what was interesting was that the A1200 itself had a (512k?) ROM, which contained basically the Kickstart and a large part of the OS (the kernel, disk operations and basic windowing system). The main part of the kickstart was the bootloader. Now, I don't see anything related to BIOS here. The sequence was basically
autoconfig->kickstart->kernel->?
Another interesting thing that hapenned around the same time that the kernel was loaded was what happenned to the ROMs that other devices that were connected on the bus declared. For example, my A1200 had a SCSI card addeed. The drivers for the OS were actually on a ROM on the SCSI card. When AutoConfig asked the card, it said it had a ROM. The same type of rom filesystem was used for the SCSI ROM and the Motherboard ROM. So, basically the ROM was looked at via the ROM filesystem and any libraries in there (the driver was just a shared library and shared device) were added to the system. Very simple.
So, I dunno if you would call AutoConfig a BIOS in itself. Or if you would call the ROM FileSystem part of a BIOS. In any case, the FileSystem concept was part of the OS, which used it to access all kinds of devices. The AutoConfig was an extremely simple protocol that could be done with a minimal amount of hardware. I think the specs are less than 20 pages in the Amiga Hardware Manual.
Anyway, all I see here is the hardware, some *standard protocols* that were implemented on the hardware itself, the bootloader and then the operating system itself.
BTW, Linux systems just ignore the BIOS completely, don't they?
I have to insert a comment here on the type of CPUs that were benchmarked. They were all x86 compatible CPUs. The flaws of the x86:
Limited, assymetric instruction set. Small number of registers. Also assymetric in their use. Adding new features usually meant extending the instruction set in strange ways, adding even more 'special case' registers.
What I'd like to see would be a good benchmark comparison between other similarly sucessful CPUs.
The 68k and PowerPC series come to mind. Curiously, although the 68k had a much cleaner architecture (at least conceptually) the designers never managed to make it run significantly fast (went up to 60Mhz bus-speed. I think internal speed was 120Mhz).
I thought the google submissions were only for the open directory, no the search engine itself. Perhaps also for web-page removals.
This is completely unrelated
on
Going Cyberpunk
·
· Score: 1
The Neurochip does not have anything to do with the article about sensing criminals.
Let us see... first of all the neurochip is based on technology developed in caltech 5-10 years ago. What does it do? It allows single (or a small number of) neurons to connect to the chip, so that their signals can be accurately measured. Now, everyone, remember how many neurons there are in the brain. Alright? Measuring a bunch of neurons does not help a lot really. It does not have anything to do with 'reading your mind'. Especially when the part of the mind that is being 'read' is only one part in a billion. So, why is the neurochip important? Because it allows to measure and send signals to neurons without using electrodes. In fact, instead of putting an electrode in the brain, you take a slice of the brain and put it in the chip. They used SLUG BRAINS, for gods sake. This is not an implantable chip! It is the reverse! It is about studying neurons in an isolated environment.
The temperature-reading implantable chip is basically just a digital thermometer with a radio! It is a device for animals! It is an implantable device, but does not have anything to do with the brain.
The guy that did the criminal analysis research used a very well known mechanism whereby there is a particular spike in activity whenever someone sees something that he recognizes. Again, this has nothing to do with implantable devices and especially nothing to do with temperature. It is a short-time-scale electric potential.
This story really really sucks. It presents three completely unrelated links that it somehow glues together. Get a grip!
Yup an os is necessary and it is usually a multi-threaded multi-processor OS and in case you didn't know, even your car might have an OS. VxWorks tends to be a top-seller (or was a few years back) though some companies have their own OS for their products. Do a search on the web for embedded OS.
The fact that the US does have mandatory universal free education and the fact that a large percentage of adults remains uneducated means that the educational system does not work.
I said the solution is to provide education. The educational system, while it exists, does not seem to provide any education. The US is not the only country that provides a universal educational system that fails to meet its goals, you know.
You mention capitalism. It might interest you to know that intellectual property laws and copyright exist and are enforced in communist countries as well. Apparently because of the WTO. Not the RIAA. The merchant's lobby has become far too great for us to control.
Actually,
char *x="string"
creates a TERMINATED string constant.
This is the case for whenever you use the "" delimiters.
On the other hand,
char x[] = {'s','t','r','i','n','g'};
is not terminated.
.
Erm, for routing you don't need triangulation. There is a *very* frequent beacon singal sent by the mobile phone (1/s perhaps) - just to tell the network that it is still there.
Triangulation is also easy. By using the beacon. It does not matter if you are talking to somebody or not. All the time your phone is talking to the antennas. If there is a large number of stations that can receive you, your location can be known very accurately. I guess this however would require a special setup for your particular phone - otherwise only one station would be locked on to you. The others would ignore you. But I think this is something managed through guess what, SNMP in the station network.
Erm, I thought these events are sufficient proof. Swiss mobile pholes, conversations picked up by echelon - info goes back from echelon to US. Neat.
invade your privacy? The privacy laws are made by the same people that invade your privacy. Erm. Damn.
The sidebands would have been infinitely wide if the channel would have infinite bandwidth :) - now they are filtered by the channel characteristics. Bah. Not that it matters.
XOR operations for moving sprites had been done in a very large number of spectrum games, and also a lot of arcade games.It offers the advantage that you don't have to buffer what lies behind the sprite. Speaking, of which, there are three main methods of sprite movement:
1. Background redraw
In this case, the background is redrawn at each frame and all sprites are drawn over it.
1.1. Partial redraw
Same as 1. but the only areas redrawn are those that where written over via sprite drawing operations
2. Reversible operations
2.1. XOR.
XOR a shape, reverse the operation by XORing it.
2.2. Buffers.
Copy the area that you are writing to into a buffer. Write. Reverse the operation by copying the buffer back. Note that this is different from 1.1, since *each and every* opearation is reversible. In 1.1. you go back to a 'blank' state by redrawing. Also, for a large number of shapes methods 1. and 1.1. can be much faster than reversible operations.
XOR operations for moving sprites had been done in a very large number of spectrum games, and also a lot of arcade games.It offers the advantage that you don't have to buffer what lies behind the sprite. Speaking, of which, there are three main methods of sprite movement:
1. Background redraw
In this case, the background is redrawn at each frame and all sprites are drawn over it.
1.1. Partial redraw
Same as 1. but the only areas redrawn are those that where written over via
Truly, and anywy you cannot see MS code. Well, you sort of can nowadays. I know that even in sys-critical applications proprietary code can be EVIL SPAGHETTI OF HELL. Of course, because of the nature of the applications there code might not have any (perceptible) bugs, since it is tested quite a bit, but.. it can be a design nightmare frequently.
At the ISP level it should be pretty easy. The same spam is going to reach a large number of people. I mean, even if the content of a spam message has never been seen before, the fact that the exact same message is being sent to a few thousand users simultaneously should be enough to trigger the filters.
There is a problem with 'simultaneously' of course. It would be required to tracking the document distances between
all recently received emails, form clusters and discard the biggest clusters... can be pretty hairy computationally.
Yeah, if you modulate a 1.5gig signal with a half frequency sinewave, you get two sidebands. If you turn the carrier on and off at half-freq you get full spectrum coverage in the 1.5 +/- 0.75 range. If you carrier on/off is random (which you assume it will be if you are carrying any sort of information) , with a switch frequency of 0.75, then you spread the spectrum even more and take up 0-3.0Ghz. Of course, as you said, the +1.5Ghz frequencies are just mirrors, so they can be filtered out at least partially.
So what if they operate at 1500MHz? It is the bandwidth that is important. Example: Radio stations operate at 90-110MHz range. But each one has a bandwidth of around 30Khz.
So, first of all, the cellphones have a bandwidth allocated within a frequency range around 1.5Ghz. Let's take GSM, which is the most widely used standard:
In case you don't understand, it is simple. If you have a single signal at 1.5Ghz frequency, you could get a data rate equalling half the frequency. However when you transmit data you basically cause side-frequencies to appear in your spectrum. Do not assume that just because the system transmits at the base frequency of 1.5Ghz that the signal spectrum will be just a point at 1.5Ghz and 0 everywhere else. The spectrum will spread. If you use up all your possible bandwidth the spectrum will take up all the frequencies from 0 to 1.5Ghz.
Furthermore, consider the fact that there are many cellphones, sharing infrastructure. The protocol does both time-division and frequency-division multiplexing. While a *single* cellphone could perhaps work with a station at .75Gbit, this ceases to be the case when you add a few thousand cellphones. The band is subdivided to a pre-specified number of sub-bands - not only that, but there is also some time-division multiplexing going on, with each cellphone only doing rx/tx at a fraction of the total time.
Of course, the same is true for all electromagnetic wave devices.
In a nutshell: You don't need to write different code for different cards. Your program will work everywhere. You might improve the performance if you write special code. But that should be handled by the directx driver, so you would not have to.
Carnack is doing a bit deeper programming than just using the top-level opengl API, he's actually coding shaders and stuff.. I guess in that case you might need to go do vendor-specific stuff. But the top-level API is the top-level API You just use it and it's the same for all cards, the driver inbetween does its job and you dont need to write extra code.
Correct me if I'm wrong.
Bah, I mean.. wait.. reading a resource of non-guaranteed length is when you start checking for buffer overflows, isn't that right? The preview pane is just one exploit. Bah.
Erm, why would that be? If you are reading 8-bit numbers those would be stored 'packed' into memory, i.e. 8 bytes for each 64-bit word. This is certainly how it is done now that we have 32-bit architectures. Guess what? Each 32-bit word can store 4 bytes.
The pointers, yes, they might be 64-bit each. So what? The machine has a lot of registers, the locally used pointers kept there, not even in the cache. The only case where this might be imoprtant would be when using stuff with a lot of pointers, like linked lists for example. But you also forget one thing:
Unless the system uses up more cycles to read a 64-bit value than to read a 32-bit value there is no point. And do not forget that using absolute addressing (or full range relative adressing) is the *only* case in which you'd need 32 bits for your pointers. I would expect that in most cases you have instructions that are encoded so the entire instruction and relative pointer fit in 64 bits. If not less. (I guess it depends on how pure RISC the design is).
Well, if no-body links to your page I guess it is crap :P
I wonder if posting articles on slashdot counts towards your pagelinks. It probably does.
Currently the best email provider that is free is "myrealbox".
Thank you.
I think there had been even more interesting experiments regarding infrasound. One of them was related to temporary hallucinations that would induce the image of 'ghosts' at the periphery of your vision. This was actually confirmed experimentally iirc.
The other interesting thing was that it is possible to use infrasound to create the effect of a noise that is coming from behind you. A noise coming from behind you naturally gets you 'anxious' and 'worried' because of the implications. (And yes, it is possible to make a sound coming from anywhere to sound as if it is coming from anywhere else - there are standard filtering techniques for that). Anyway, there are some particular infrasound frequences that have the 'behind you' effect I think.
I am sorry, but this is absolutely true. The BIOS only exists as a concept on the PC. I like to give the Amiga OS as an example in this case.
(It was a single-user Multitasking, 32-bit OS, in late 80s to mid-90s. Last significant version was 3.1 in 1992 iirc, though 3.9 was released in 2001).
Let's take my A1200. What did it consist of? Well, it had the CPU, a custom chipset on the mainboard with DMA-accessible 2MB of RAM and an expansion slot. As you will see, there was hardware support for some things and then everything else was part of the OS:
Hardware-wise a number of protocols were supported, most importantly the mouse and AutoConfig. The mouse was simple. But AutoConfig was the plug'n'play of the 80s. (Introduced with Amiga3000 I think). It scanned the expansion bus (Think PCI bus). No, I should not say scan. It makes everything seem like windows scanning for hardware. It just sent a couple of signals on the bus and any devices that were there responded to acknowledge their presence, then the AutoConfig would ask them some stuff, like, if they had any ROM.
Now, what was interesting was that the A1200 itself had a (512k?) ROM, which contained basically the Kickstart and a large part of the OS (the kernel, disk operations and basic windowing system). The main part of the kickstart was the bootloader. Now, I don't see anything related to BIOS here. The sequence was basically
autoconfig->kickstart->kernel->?
Another interesting thing that hapenned around the same time that the kernel was loaded was what happenned to the ROMs that other devices that were connected on the bus declared. For example, my A1200 had a SCSI card addeed. The drivers for the OS were actually on a ROM on the SCSI card. When AutoConfig asked the card, it said it had a ROM. The same type of rom filesystem was used for the SCSI ROM and the Motherboard ROM. So, basically the ROM was looked at via the ROM filesystem and any libraries in there (the driver was just a shared library and shared device) were added to the system. Very simple.
So, I dunno if you would call AutoConfig a BIOS in itself. Or if you would call the ROM FileSystem part of a BIOS. In any case, the FileSystem concept was part of the OS, which used it to access all kinds of devices. The AutoConfig was an extremely simple protocol that could be done with a minimal amount of hardware. I think the specs are less than 20 pages in the Amiga Hardware Manual.
Anyway, all I see here is the hardware, some *standard protocols* that were implemented on the hardware itself, the bootloader and then the operating system itself.
BTW, Linux systems just ignore the BIOS completely, don't they?
I have to insert a comment here on the type of CPUs that were benchmarked. They were all x86 compatible CPUs. The flaws of the x86:
Limited, assymetric instruction set.
Small number of registers. Also assymetric in their use.
Adding new features usually meant extending the instruction set in strange ways, adding even more 'special case' registers.
What I'd like to see would be a good benchmark comparison between other similarly sucessful CPUs.
The 68k and PowerPC series come to mind. Curiously, although the 68k had a much cleaner architecture (at least conceptually) the designers never managed to make it run significantly fast (went up to 60Mhz bus-speed. I think internal speed was 120Mhz).
I thought the google submissions were only for the open directory, no the search engine itself. Perhaps also for web-page removals.
The Neurochip does not have anything to do with the article about sensing criminals.
Let us see... first of all the neurochip is based on technology developed in caltech 5-10 years ago. What does it do? It allows single (or a small number of) neurons to connect to the chip, so that their signals can be accurately measured. Now, everyone, remember how many neurons there are in the brain. Alright? Measuring a bunch of neurons does not help a lot really. It does not have anything to do with 'reading your mind'. Especially when the part of the mind that is being 'read' is only one part in a billion. So, why is the neurochip important? Because it allows to measure and send signals to neurons without using electrodes. In fact, instead of putting an electrode in the brain, you take a slice of the brain and put it in the chip. They used SLUG BRAINS, for gods sake. This is not an implantable chip! It is the reverse! It is about studying neurons in an isolated environment.
The temperature-reading implantable chip is basically just a digital thermometer with a radio! It is a device for animals! It is an implantable device, but does not have anything to do with the brain.
The guy that did the criminal analysis research used a very well known mechanism whereby there is a particular spike in activity whenever someone sees something that he recognizes. Again, this has nothing to do with implantable devices and especially nothing to do with temperature. It is a short-time-scale electric potential.
This story really really sucks. It presents three completely unrelated links that it somehow glues together. Get a grip!
*Wrong*
(Non-)linear programming, dynamic programming, finite-element methods (and numerical approximation), algorithmic complexity theory, compession, cryptography, image processing, probabilistic models and statistical estimation, machine learning, optimisation, simulation of complex systems.
Just algebra? Give me a break!
Yup an os is necessary and it is usually a multi-threaded multi-processor OS and in case you didn't know, even your car might have an OS. VxWorks tends to be a top-seller (or was a few years back) though some companies have their own OS for their products. Do a search on the web for embedded OS.
The fact that the US does have mandatory universal free education and the fact that a large percentage of adults remains uneducated means that the educational system does not work.
I said the solution is to provide education. The educational system, while it exists, does not seem to provide any education. The US is not the only country that provides a universal educational system that fails to meet its goals, you know.