Sorry. By "full range" I meant taking the I and Q signals from their minimum to maximum values and back again. You're right that Q should get 30 cycles in a scan line; on a good day, 40.
For most of that scan line, the colors will be visibly wrong, so you can't really get away with that many color changes per scan line.
VHS clips it even more. It's amazing that this is tolerable visually.
The point about JPEG is that it is limited by the high-frequency artifacts it introduces, not by sheer bandwidth reduction, which would result in simple blurring. Highly compressed JPEG images become blocky, rather than blurry. Humans are far more tolerant of blur than of edge-like artifacts.
NTSC has so little color bandwith that you can only change the color through its full range about ten times horizontally across the screen. Try narrow RGB color bars on an NTSC receiver and see how bad it really is.
JPEG also relies on this. But JPEG could provide considerably more compression if it didn't introduce those highly visible high-frequency artifacts.
Case didn't break it. DARPA took it back, when they lost all their DARPA contracts.
They had a group trying to write a "hardware compiler" (think Verilog, but 25 years too early). They got a PDP-10, an Evans and Sutherland Line Drawing System 1 (hardware wireframe graphics in the 1960s, from a box the size of a mainframe), and an IMP. But they didn't succeed, that was the only DARPA project, and so all the stuff went back, including the ARPANET connection.
I saw one of the originals, at Case, in the 1960s. Case blew it so badly in computer science R&D that they were kicked off the ARPANET for underperforming. Embarassing.
For those who have never seen punched card accounting gear, there was a whole system and process that went with it. Here's a typical billing application:
Punch incoming transactions onto cards. (IBM 26)
Sort transaction cards by customer number. (IBM 82).
Multiply quantity by price to get total and punch into cards. (IBM 602A).
Merge transaction cards with name and address deck and with summary card from last month (IBM 77).
Compute and print bills (IBM 407). Punch new summary card (IBM 514 plugged into IBM 407).
Separate transaction cards, name and address deck, and old summary cards (IBM 77).
Duplicate summary cards for backup (IBM 514).
Move transaction cards to dead storage, mail invoices.
This took a vast amount of card handling, but done competently, you didn't get jams or damaged cards.
The first commercial computer I used, in high school, was an IBM 402 accounting machine, along with an IBM 82 card sorter, an IBM 77 tabulator, and, of course IBM 26 keypunches. (Unfortunately, no IBM 514 summary punch or 602A multiplier.) I was able to get that gear to generate poetry.
Don't forget how much Kazaa does to any machine it's on. If you sign up for Kazaa, Brilliant Digital has the right to run arbitrary distributed apps on your machine. And they do!
There are Kazaa viruses. So far, they've been dumb; they just create infected files shared by Kazaa. They don't exploit the system through which Brilliant can push programs onto client machines. Someday someone will write a worm that does that, and all Kazaa clients online will be infected within hours.
Patching only stops attackers who exploit vulnerabilities found by others. A serious attacker (one with a specific target and some form of gain in mind) may have the ability to find new vulnerabilities. They won't talk about it, so the patchmakers won't know to close the hole.
Finding new vulnerabilities isn't hard. Remember
ntcrash?
Variations on that theme should discover new holes automatically over time.
Here's a start. This is a complete rewrite; only the textual identifiers and numeric values required for backwards compatibility are the same.
/*
POSIX standard error return values.
Modernized descriptions.
*/
enum errno_t {
EOK = 0,/* No error was reported. */
EPERM = 1,/* Permission denied - not the owner */
ENOENT = 2,/* The requested file, directory, device, or socket does not exist. */
ESRCH = 3,/* The requested process does not exist. */
EINTR = 4,/* A system call was interrupted by a signal. */
EIO = 5,/* General I/O error */
ENXIO = 6,/* The requested device or device address does not exist */
E2BIG = 7,/* An argument or argument list was too long. */
ENOEXEC = 8,/* Incorrect call to "exec" function */
EBADF = 9,/* The requested file descriptor is not valid. */
ECHILD = 10,/* This process has no living children. */
EGAGAIN = 11,/* Try again later; resources are tight now. */
ENOMEM = 12,/* Memory is full. */
EACCESS = 13,/* Permission denied - access not allowed. */
EFAULT = 14,/* Bad pointer value passed in a call */
ENOTBLK = 15,/* The requested operation (probably 'seek') is not defined for this non-block device */
EBUSY = 16,/* Some other process is using this resource. */
EEXIST = 17,/* Can't create - file already exists. */
EXDEV = 18,/* Can't link across file systems. Try a symbolic link instead. */
ENODEV = 19,/* The device number is not valid. */
ENOTDIR = 20,/* The requested directory operation is not valid for this non-directory file. */
EISDIR = 21,/* The requested operation (probably 'write') is not allowed on a directory. */
EINVAL = 22,/* General bad argument error. */
ENFILE = 23,/* Too many open files system-wide. */
EMFILE = 24,/* Too many open files for this process. */
ETXTBSY = 26,/* Attempt to install a new program over one that is running. */
EFBIG = 27,/* File too large for the file system type. */
ENOSPC = 28,/* File system full. */
ESPIPE = 29,/* The requested operation (probably 'seek') is not allowed on a pipe or socket. */
EROFS = 30,/* Attempt to write on a read-only file system */
EMLINK = 31,/* Too many links to one file. */
EPIPE = 32,/* Read failed - pipe closed by the writer. */
EDOM = 33,/* Numeric input out of range. */
ERANGE = 34,/* Numeric output out of range. */
ENOMSG = 35,/* General error - no further information */
};
This provides modernized descriptions of the errors, and makes errno an enum, which is still compatible with integer declarations of errno, but cleaner.
The list is not complete, and should be updated with the additional error numbers defined in Linux.
Checking the EULA (in "EULA.TXT") that ships with VC++ 6.0, we find:
8. COPYRIGHT. All title and intellectual property rights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content.
Note that last line.
Nowhere in Microsoft's EULA is there an indemnification clause, in which Microsoft would guarantee to defend the end user against copyright claims by third parties arising out of copyrighted material shipped by Microsoft. IBM's Linux customers now have such contractual protection, but Microsoft customers are out in the cold.
Here's the copyright notice from "errno.h" in Visual C++ 6. Note the lack of a credit to AT&T.
/***
*errno.h - system wide error numbers (set by system calls)
*
* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
* Purpose:
* This file defines the system-wide error numbers (set by
* system calls). Conforms to the XENIX standard. Extended
* for compatibility with Uniforum standard.
* [System V]
*
* [Public]
*
****/
Wired has covered this. The Internet has been banned by the ultra-Orthodox leadership in Israel. They don't like TV, either. (The extreme Muslims, the extreme Christians, and the extreme Jews have rather similar positions on this.)
Kosher elevators
on
USB Menorah
·
· Score: 3, Interesting
There are Kosher elevators. Really. Two features are required, and both operate only on the Shabbat. The elevator runs endlessly, stopping on every floor. No user interaction is allowed.
The other required feature is that regenerative braking isn't allowed to dump power back into the power line. It has to dump it into a resistor bank, so as not to do "work" with the energy of descending riders. This is normally enabled only on the Sabbath.
Of course, these features combine to use far more energy than normal mode, so they don't comply with the spirit of the Shabbat, not to do work. Just the letter.
The biggest challenge to everyone willing to put an H-bomb togther, is to find a test area!
Not really. We still don't know for sure if that detonation in the South Indian Ocean on September 22, 1979 was a South African nuclear test, an Israeli nuclear test, or what. Whatever it was, somebody got away with it.
If you're into this, there's a book, "The H-Bomb Secret", which contains the Progressive article, the story of the lawsuit, and more technical details.
The government embarassment around the story came from the fact that it was put together from unclassified information.
There are ongoing rumors that a way exists to build a fusion bomb without a fission trigger. Efforts were made to develop such a weapon, the "pure fusion" bomb, in the 1950s. The "neutron bomb" was an outgrowth of that effort, although it is not a pure fusion weapon. There's a whole conspiracy theory on this, revolving around Sam Cohen, who developed the neutron bomb, and "red mercury".
The "red mercury" thing is probably disinformation, but given the amount of work LLNL has put into pulsed fusion, there may be a way to do this by now.
But what I'm really looking forward to is a Physics specific processor that sits alongside the graphics processor, and is resposible for collisions detection.
It's been done.
The Havok game physics system is available for the Playstation 2, and the physics is running in the vector processors, where most of the PS2's compute power resides.
Collision detection isn't that CPU-intensive. (This may surprise people not familiar with the field. But it's true. If collision detection is using substantial CPU time, you're doing it wrong.)
Correct collision resolution is where the time goes.
Physics code works better with double-precision FPUs. You need both dynamic range and long mantissas to do it well. Some of the game consoles, and most of the GPUs, only have single-precision FPUs. It's possible to make physics code work in single precision, but fast-moving objects that cover considerable distance may have problems.
We need the plans for the Terminator.
The point about JPEG is that it is limited by the high-frequency artifacts it introduces, not by sheer bandwidth reduction, which would result in simple blurring. Highly compressed JPEG images become blocky, rather than blurry. Humans are far more tolerant of blur than of edge-like artifacts.
For what it's worth, the California Ear Institute at Stanford has a tinnitus treatment in clinical test.
JPEG also relies on this. But JPEG could provide considerably more compression if it didn't introduce those highly visible high-frequency artifacts.
They had a group trying to write a "hardware compiler" (think Verilog, but 25 years too early). They got a PDP-10, an Evans and Sutherland Line Drawing System 1 (hardware wireframe graphics in the 1960s, from a box the size of a mainframe), and an IMP. But they didn't succeed, that was the only DARPA project, and so all the stuff went back, including the ARPANET connection.
Check those links, people.
I've even seen a Pluribus IMP in operation.
Kalunkta-klunk.
Kalunkta-klunk.
Whir
Whir
Whir
Whir
Klunkata-CRASH. (the printer)
Klunkata-CRASH.
For those who have never seen punched card accounting gear, there was a whole system and process that went with it. Here's a typical billing application:
-
Punch incoming transactions onto cards. (IBM 26)
-
Sort transaction cards by customer number. (IBM 82).
-
Multiply quantity by price to get total and punch into cards. (IBM 602A).
-
Merge transaction cards with name and address deck and with summary card from last month (IBM 77).
-
Compute and print bills (IBM 407). Punch new summary card (IBM 514 plugged into IBM 407).
-
Separate transaction cards, name and address deck, and old summary cards (IBM 77).
-
Duplicate summary cards for backup (IBM 514).
-
Move transaction cards to dead storage, mail invoices.
This took a vast amount of card handling, but done competently, you didn't get jams or damaged cards.The first commercial computer I used, in high school, was an IBM 402 accounting machine, along with an IBM 82 card sorter, an IBM 77 tabulator, and, of course IBM 26 keypunches. (Unfortunately, no IBM 514 summary punch or 602A multiplier.) I was able to get that gear to generate poetry.
There are Kazaa viruses. So far, they've been dumb; they just create infected files shared by Kazaa. They don't exploit the system through which Brilliant can push programs onto client machines. Someday someone will write a worm that does that, and all Kazaa clients online will be infected within hours.
Actually, Iraq is now #1 on US foreign aid.
Applying heavy pressure to him to shut up about NTcrash, actually. It's a famous story in the security community.
New York City has a good system of underground conduits and vaults, and everything goes in there.
San Francisco has totally botched this and has cable companies digging all the time.
Finding new vulnerabilities isn't hard. Remember ntcrash? Variations on that theme should discover new holes automatically over time.
POSIX standard error return values.
Modernized descriptions.
*/
enum errno_t {
EOK = 0,
EPERM = 1,
ENOENT = 2,
ESRCH = 3,
EINTR = 4,
EIO = 5,
ENXIO = 6,
E2BIG = 7,
ENOEXEC = 8,
EBADF = 9,
ECHILD = 10,
EGAGAIN = 11,
ENOMEM = 12,
EACCESS = 13,
EFAULT = 14,
ENOTBLK = 15,
EBUSY = 16,
EEXIST = 17,
EXDEV = 18,
ENODEV = 19,
ENOTDIR = 20,
EISDIR = 21,
EINVAL = 22,
ENFILE = 23,
EMFILE = 24,
ETXTBSY = 26,
EFBIG = 27,
ENOSPC = 28,
ESPIPE = 29,
EROFS = 30,
EMLINK = 31,
EPIPE = 32,
EDOM = 33,
ERANGE = 34,
ENOMSG = 35,
};
This provides modernized descriptions of the errors, and makes errno an enum, which is still compatible with integer declarations of errno, but cleaner. The list is not complete, and should be updated with the additional error numbers defined in Linux.
Offered under the GPL by John Nagle, the author.
Slashdot does that to long words. URLs should be expressed in HTML.
-
8. COPYRIGHT. All title and intellectual property rights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants you no rights to use such content.
Note that last line.Nowhere in Microsoft's EULA is there an indemnification clause, in which Microsoft would guarantee to defend the end user against copyright claims by third parties arising out of copyrighted material shipped by Microsoft. IBM's Linux customers now have such contractual protection, but Microsoft customers are out in the cold.
*
* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
* Purpose:
* This file defines the system-wide error numbers (set by
* system calls). Conforms to the XENIX standard. Extended
* for compatibility with Uniforum standard.
* [System V]
*
* [Public]
*
****/
SCOX is down 4% today. The spin isn't working.
The other required feature is that regenerative braking isn't allowed to dump power back into the power line. It has to dump it into a resistor bank, so as not to do "work" with the energy of descending riders. This is normally enabled only on the Sabbath.
Of course, these features combine to use far more energy than normal mode, so they don't comply with the spirit of the Shabbat, not to do work. Just the letter.
Not really. We still don't know for sure if that detonation in the South Indian Ocean on September 22, 1979 was a South African nuclear test, an Israeli nuclear test, or what. Whatever it was, somebody got away with it.
There are ongoing rumors that a way exists to build a fusion bomb without a fission trigger. Efforts were made to develop such a weapon, the "pure fusion" bomb, in the 1950s. The "neutron bomb" was an outgrowth of that effort, although it is not a pure fusion weapon. There's a whole conspiracy theory on this, revolving around Sam Cohen, who developed the neutron bomb, and "red mercury".
The "red mercury" thing is probably disinformation, but given the amount of work LLNL has put into pulsed fusion, there may be a way to do this by now.
More than one in three Harriers has crashed.
No other aircraft crashes as frequently. Stability remains a problem.
It's been done. The Havok game physics system is available for the Playstation 2, and the physics is running in the vector processors, where most of the PS2's compute power resides.
Collision detection isn't that CPU-intensive. (This may surprise people not familiar with the field. But it's true. If collision detection is using substantial CPU time, you're doing it wrong.) Correct collision resolution is where the time goes.
Physics code works better with double-precision FPUs. You need both dynamic range and long mantissas to do it well. Some of the game consoles, and most of the GPUs, only have single-precision FPUs. It's possible to make physics code work in single precision, but fast-moving objects that cover considerable distance may have problems.