This is the book I pull out every time I need to teach or tutor something in math below about linear algebra, calculus, or about half of college algebra: Mathematics From the Birth of Numbers
It has a few mistakes due to lack of imagination, for example the proposed number system for the caveman is more capable than the author imagines. Anyway it's a fabulous teaching tool and a fairly fun read besides.
It took me forever to find a copy of Beyond Good and Evil. It was a great idea for a game, but unfortunately it wasn't actually playable. A couple hours in I reached a point with infinite enemy spawns and a way forward that had to be opened by the AI partner. Even if I killed all the present enemies and told the AI partner to open the way forward he would, instead, attack the next enemy to spawn.
Try this on for size. Additionally when making this I noticed a few quirks in the protocol: VARINT available at wire level, not in definitions, ENUMs capped a 2^31-1, VARINT at wire level, Field numbers capped at 2048? VARINT at wire level. These seem like imlementation limitations. The uint64s below should probably be a new VARINT type.
What can I do? My representative voted against it. One of my senators is one if its most successful detractors. The rest of you need to get your people in line and stop messing up America for those of us who already have.
The fraction of repeats is the same as the fraction of the population being incorrectly marked dead, and since the latter is a tiny fraction the former is extremely tiny, and is almost certainly dominated by other errors, so I didn't bother removing it. Besides, the headache of dying twice while you're alive should count double! I presume that the Social Security Administration is at least competent enough to prevent such obvious errors as recording the death of an unissued SSN or a SSN that has already died. All I was attempting to do was point out the relative magnitude of the supposed error rate. There's nothign I can do about it not being the actual error rate.
35 errors per day is actually a pretty significant error rate. There are about (8.26 / 1000 / year * 301,139,947 * 1 day) = 6810 deaths per day in the US, so they are entering or receiving about one out of every 200 records incorrectly. This means that about ((35 / day) / 301,139,947 * 77.8 year) =.0033 or one in every three hundred people will be incorrectly marked dead during their lifetime if this error rate continues.
There's nothing novel here. This differs by the no-longer novel method of making a patent claim by asserting that you have "invented" using someone else's broad and univerally applicable method in a specific instance.
Yes. It's also possible, and probably cheaper (in the long run) to queue up the video you want to rip and sniff the wires coming out of the drive. If the data on the drive was actually encrypted it would require no special mechanism in the drive to protect it. The host that accesses it either has the secret and thus the authentication to decrypt it, or it doesn't.
Correction/clarification: It's vulnerable to a man in the middle attack to gain authorization and access data, but not to access the responder's authentication secret, which is what needs protection to present a nuisance.
The claim in the patent is simply using one of many man-in-the-middle resistant challenge/response methods to avoid exactly this. A much more interesting attack is to emulate the environment of the host, and get it to unlock the disk for you, or to sniff the unencrypted actual data off the wire. This is more an obstacle of convenience than one of actual security. They don't want one person finding the key and using it to write computer software so you can toss your drive from the DVR right into the computer to rip video without special hardware.
Essentially they are claiming: Using a wire-secure challenge system between a hard drive and a host.
In the text they mention prior art of both: 1. Using a challenge system between a hard drive and a host 2. a wire-secure challenge system
Even if no one has ever put cryptographic functions into a hard drive (I'd be surprised) virtually every cryptography paper talks about all of the communications in the only meaningful terms, abstract ones, implying in a way obvious to non-experts that it can be used between any equipment.
This, like many other bad patents, is at best a land-grab for a specific piece of territory so well discovered, mapped, and understood that claiming a portion of it is just ridiculous.
I toyed with all sorts of verifiable communication systems, and there is something in having messages that can withstand more error than all previous message sizes combined plus something bigger than k, but there is difficulty in transitioning between pairs of talking prisoners. There needs to be some sort of "bell ringining" (a broadcast by constantly flipping the challice) which is dificult to negotiate responses to. So here's something unbelievably simple that works:
Let's add one simplification, the king gets k = (k in original puzzle) + 1 flips because he gets an extra flip from the challice's undefined initial state. We'll be generous and assume this could cause an error the king desires anywhere and not just at the start.
Prisoners are numbered p0 through pn. (Here n is one less than in the original puzzle.) They choose a number f discussed below. Here are their strategies:
p0: sees a challice up - turns it down counts turns, once he or she has flipped it more than the numebr of time discussed bellow, tells the king "Yes"
p1 through pn: sees a challice down - turns it up counts turns, once he's done it f times he stops (no longer turns challice)
Notice that these messages can not interfere with each other.
The king's flips can either add to the number counted by p0 (by flipping it down before showing p0) or subtract from it (by flipping it up before showing any other prisoner). All of the flips will be eventually recorder because every prisoner is shown the challice after any other prisoner and thus after any transition (thanks AC). The number of up flips fated to be made by prisoners is fn. The king can adjust this as low as fn - k or as high as fn + k. The most that the challice could possibly be flipped without all the prisoners entering the room is f(n-1) times. So when not all the prisoners have been in the room the total number of flips is 2k. Now the first prisoner, once he or she flips the challice more than fn - f + k times, knows that all the prisoners are accounted for and can tell the king "Yes". Don't be surprised if I'm off by +/- 1 total; the prisoners would be wise to use a bigger f to absorb any fencepost errors.
First, here is a proof by counterexample that there is no general solution to this problem. The problem has 3 parameters, n the number of prisoners, k the number of allowed flips, and a, the arbitrary number of times the king must call each prisoner.
Proof: no solution for k > n * a
Let k > n * a
This means the king can flip the challice once for every time a prisoner is called in to see him. So he can, for example, always turn the challice up before each prisoner is called in. He will select a permutation S of the prisoners, and call each of them in a times before calling the next. Each prisoner will see a string of a UP challices. They will have no way of knowing whether they are the first or last in the permutation S.
Proof there is no "watcher" solution:
let w be a prisoner who watches for a solution and answers yes when everyone has been in the room.
The king overhears the prisoners planning, and so knows w. He selects S, a permutation of the prisoners, such that it maps w to 1. He calls each of them in a times before calling the next. The watcher, w, can never answer yes because no other prisoners have ever been in the room when the watcher is.
In fact, for any number of "watchers" up to n-1 the king can beat the strategy by knowing who the only non-decider is and showing that prisoner the challice last.
So here are some hints for you: First, get Brian to either give you adequate constraints on k before starting or rephrase and expand the question so that he also asks what constraints on k need to be placed.
Secondly, the algorithm used by the prisoners will be symetrical, though they might assign themselves an asymmetry in the form of keys used to labels the prisoners.
Let the edges of the data be accessible data themselves (I.e. let a formula use not only the data but the key)
Allow for non right-rectangular data (i.e. sparse data regions)
Allow for non integrably divisible scales. (i.e a continuous instead of discreet dimension) This is easy if you require the existance of a unique key.
Add transformations from one sheet to another. Simple examples would be wrapping and unwrapping time scales (going between Year, Month, Day and day since an epoch), adding and removing structure from data for views, and inverting functions.
Get rid of Improv's formulas and only use caching transformations. Make it work exactly the same way.
Get rid of Improv's views and only use non-caching transformations. Make it work exactly the same way.
Make the language of the implementation of the spreadsheet and the language used in the formulas, the macros, and transformations be the same. You're going to need a sane term rewriting language (doesn't exist yet).
Use a language that proves things about itself. This will let transformations prove some answers before an input to the transformation is provided. (I.e. any term rewriting language)
Have limited invertibilty of transformations and newtons method type methods used to seek out solutions.
Make it work across networks. Make a web-based ui. Make permissions on cells. Manage permissions in the same way.
Make anova statistic the most brainless simple thing ever (this is easy given the above spreadsheet)
All you really need to make this is a good term rewriting language (think the good parts of Q, Stratego, and the one that starts with an m mixed together) tied in a sane manner to a good user interface library (most of this is UI).
This is really just a ui on an optionally distributed database with pretty transformations, written in a good term rewriting language, and a library of code for the rewriter that does everything programs like Maxima do, just better.
Not sure what these 3d sheets from Stories are (is it a way of vieing data?). Spreadsheets in Improv were 12 dimensional, and that was only an artificial limitation. It was the only hard limit that ever got in my way, and then not very much. I personally never got close to the 2^32 (4 billion) cells per sheet limit, or the 2^32 sheets per file, views per sheet, and presentations per sheet limits. Admittedly trying to see more than about 10 dimensions to a sheet all at once started to squeeze the data area of a view pretty small.
Now lets see how to get a bunch of dimensions quickly, with a little ag example:
Time Fertilizer treatement (phosphourus rate) Fertilizer treatment (nitrogen rate) Straw treatment Replicate Observation (this is realy a structure of different types of data for each observation. Structures being indistinguishile from dimensions is nice. In Improv you had to use a dimension to get a struct.)
Maybe a buisness overview example would be better: Year Month Office (Baker, LaGrande, Downtown Ontario, Ontario Outskirts, Fruitland, etc..) Section (Apple, Microsoft, Linux, PICs) Department (Sales, Parts, Repairs, Service, Custom Programming, Custom Equipment) Observations (Income, Expenses, Recievables, Payables, Capital, Liabilities) and Calculations (Profit, Net worth, Capital Gains)
Hmm.. can't stretch either of these to 13. It's tough. You need something like an anova experiment with 12 groups of classes x an observation structure. Anyone want to try?
Rundll is excellent, anyone know something similar like runso for Linux? I know I could toss one together with forth, but it should already be there somewhere.
I purchased an Olympus camera last fall after trying out an identical model (C-U725) which took very satisfactory photographs. The photographs taken by the purchased camera are terrible, random noise added to the images has a standard deviation of about 8 in each channel - using averaging to reduce noise on the camera does not make the noise disappear until the image is about 256*256 pixels (i.e averaging about 64 pixels to produce one). I contacted Olympus technical support, and they agreed to repair the camera under waranty. I shipped the camera to them, at my expense, along with the forms they asked me to fill out and a copy of the sales reciept. The camera was returned to me in a different box, completely untouched without any notice of the reason for lack of service. Olympus has refused to deal with me further in repairing the camera.
The Pentagon is not blurred out, but the tops of the white house and both neighboring buildings are coloured in with light green and light brown squares. This is to hide the classified (read small surface-to-air heat-seeking missile, mortar, and gun turret) armament installations. They were sidewinders last time I saw photographs of the top of the whitehouse (mid to late 90's). I'm guessing the pentagon is not blurred out because the armaments for it are provided by ground forces.
It isn't news when I donate $2.50 to something, which is the same fraction of my annual income.
This is the book I pull out every time I need to teach or tutor something in math below about linear algebra, calculus, or about half of college algebra:
Mathematics From the Birth of Numbers
It has a few mistakes due to lack of imagination, for example the proposed number system for the caveman is more capable than the author imagines. Anyway it's a fabulous teaching tool and a fairly fun read besides.
It took me forever to find a copy of Beyond Good and Evil. It was a great idea for a game, but unfortunately it wasn't actually playable. A couple hours in I reached a point with infinite enemy spawns and a way forward that had to be opened by the AI partner. Even if I killed all the present enemies and told the AI partner to open the way forward he would, instead, attack the next enemy to spawn.
Try this on for size. Additionally when making this I noticed a few quirks in the protocol: VARINT available at wire level, not in definitions, ENUMs capped a 2^31-1, VARINT at wire level, Field numbers capped at 2048? VARINT at wire level. These seem like imlementation limitations. The uint64s below should probably be a new VARINT type.
FUCK THE LAMENESS FILTER:
message Proto { optional string package = 1; repeated string import = 2; repeated Proto imported = 3; repeated Message message = 5; repeated Extension extension = 6; repeated Enumerator enumerator = 7; repeated Option option = 8; repeated Service service = 9; } message Message { required string name = 1; repeated ScalarField scalar_field = 2; repeated EnumeratedField enumerated_field = 3; repeared MessageField message_field = 4; repeated Message message = 5; repeated Extension extension = 6; repeated Enumerator enumerator = 7; optional ExtensionRange extension_range = 16; } enum ScalarType { DOUBLE = 0; FLOAT = 1; INT32 = 2; INT64 = 3; UINT32 = 4; UINT64 = 5; SINT32 = 6; SINT64 = 7; FIXED32 = 8; FIXED64 = 9; SFIXED32 = 10; SFIXED64 = 11; BOOL = 12; STRING = 13; BYTES = 14; } enum FieldRule { REQUIRED = 0; OPTIONAL = 1; REPEATED = 2; } message ScalarField { required string name = 1; required ScalarType type = 2; optional FieldRule field_rule = 3; optional uint64 field_number = 4; optional string default = 5; } message EnumeratedField { required string name = 1; required string enumerator = 2; optional FieldRule field_rule = 3; optional uint64 field_number = 4; optional string default = 5; } message Enumerator { required string name = 1; repeated EnumeratorConstant constant = 2; } message EnumeratorConstant { required string name = 1; required uint64 value = 2; } message MessageField { required string name = 1; required string message = 2; optional FieldRule field_rule = 3; optional uint64 field_number = 4; optional string default = 5; } message ExtensionRange { required uint64 min = 1; optional uint64 max = 1; } message Extension { required Message extension = 1; } message Service { required string name = 1; repeated RPC rpc = 2; } message RPC { required string name = 1; optional string takes = 2; optional string returns = 3; } message Option { required string name = 1; optional string value = 2; }
What can I do? My representative voted against it. One of my senators is one if its most successful detractors. The rest of you need to get your people in line and stop messing up America for those of us who already have.
The fraction of repeats is the same as the fraction of the population being incorrectly marked dead, and since the latter is a tiny fraction the former is extremely tiny, and is almost certainly dominated by other errors, so I didn't bother removing it. Besides, the headache of dying twice while you're alive should count double!
I presume that the Social Security Administration is at least competent enough to prevent such obvious errors as recording the death of an unissued SSN or a SSN that has already died. All I was attempting to do was point out the relative magnitude of the supposed error rate. There's nothign I can do about it not being the actual error rate.
Yeah, I saw that before I finished writing this post. I just thought the magnitude of the error rate itself was still interesting.
35 errors per day is actually a pretty significant error rate. There are about (8.26 / 1000 / year * 301,139,947 * 1 day) = 6810 deaths per day in the US, so they are entering or receiving about one out of every 200 records incorrectly. This means that about ((35 / day) / 301,139,947 * 77.8 year) = .0033 or one in every three hundred people will be incorrectly marked dead during their lifetime if this error rate continues.
It would seem less that way if you stopped reading slashdot...
There's nothing novel here. This differs by the no-longer novel method of making a patent claim by asserting that you have "invented" using someone else's broad and univerally applicable method in a specific instance.
Yes. It's also possible, and probably cheaper (in the long run) to queue up the video you want to rip and sniff the wires coming out of the drive. If the data on the drive was actually encrypted it would require no special mechanism in the drive to protect it. The host that accesses it either has the secret and thus the authentication to decrypt it, or it doesn't.
Correction/clarification: It's vulnerable to a man in the middle attack to gain authorization and access data, but not to access the responder's authentication secret, which is what needs protection to present a nuisance.
Nope, no encryption; just hash-based Challenge-response authentication.
The claim in the patent is simply using one of many man-in-the-middle resistant challenge/response methods to avoid exactly this. A much more interesting attack is to emulate the environment of the host, and get it to unlock the disk for you, or to sniff the unencrypted actual data off the wire. This is more an obstacle of convenience than one of actual security. They don't want one person finding the key and using it to write computer software so you can toss your drive from the DVR right into the computer to rip video without special hardware.
Essentially they are claiming: Using a wire-secure challenge system between a hard drive and a host.
In the text they mention prior art of both:
1. Using a challenge system between a hard drive and a host
2. a wire-secure challenge system
Even if no one has ever put cryptographic functions into a hard drive (I'd be surprised) virtually every cryptography paper talks about all of the communications in the only meaningful terms, abstract ones, implying in a way obvious to non-experts that it can be used between any equipment.
This, like many other bad patents, is at best a land-grab for a specific piece of territory so well discovered, mapped, and understood that claiming a portion of it is just ridiculous.
The invention described is nothing more than salt and hash.
Thanks slashdot, for eating everything between a greater than and a less than sign on a plain text post. Just like .
I toyed with all sorts of verifiable communication systems, and there is something in having messages that can withstand more error than all previous message sizes combined plus something bigger than k, but there is difficulty in transitioning between pairs of talking prisoners. There needs to be some sort of "bell ringining" (a broadcast by constantly flipping the challice) which is dificult to negotiate responses to. So here's something unbelievably simple that works:
Let's add one simplification, the king gets k = (k in original puzzle) + 1 flips because he gets an extra flip from the challice's undefined initial state. We'll be generous and assume this could cause an error the king desires anywhere and not just at the start.
Prisoners are numbered p0 through pn. (Here n is one less than in the original puzzle.) They choose a number f discussed below. Here are their strategies:
p0: sees a challice up - turns it down
counts turns, once he or she has flipped it more than the numebr of time discussed bellow, tells the king "Yes"
p1 through pn: sees a challice down - turns it up
counts turns, once he's done it f times he stops (no longer turns challice)
Notice that these messages can not interfere with each other.
The king's flips can either add to the number counted by p0 (by flipping it down before showing p0) or subtract from it (by flipping it up before showing any other prisoner). All of the flips will be eventually recorder because every prisoner is shown the challice after any other prisoner and thus after any transition (thanks AC). The number of up flips fated to be made by prisoners is fn. The king can adjust this as low as fn - k or as high as fn + k. The most that the challice could possibly be flipped without all the prisoners entering the room is f(n-1) times. So when not all the prisoners have been in the room the total number of flips is 2k. Now the first prisoner, once he or she flips the challice more than fn - f + k times, knows that all the prisoners are accounted for and can tell the king "Yes". Don't be surprised if I'm off by +/- 1 total; the prisoners would be wise to use a bigger f to absorb any fencepost errors.
First, here is a proof by counterexample that there is no general solution to this problem. The problem has 3 parameters, n the number of prisoners, k the number of allowed flips, and a, the arbitrary number of times the king must call each prisoner.
Proof: no solution for k > n * a
Let k > n * a
This means the king can flip the challice once for every time a prisoner is called in to see him. So he can, for example, always turn the challice up before each prisoner is called in. He will select a permutation S of the prisoners, and call each of them in a times before calling the next. Each prisoner will see a string of a UP challices. They will have no way of knowing whether they are the first or last in the permutation S.
Proof there is no "watcher" solution:
let w be a prisoner who watches for a solution and answers yes when everyone has been in the room.
The king overhears the prisoners planning, and so knows w. He selects S, a permutation of the prisoners, such that it maps w to 1. He calls each of them in a times before calling the next. The watcher, w, can never answer yes because no other prisoners have ever been in the room when the watcher is.
In fact, for any number of "watchers" up to n-1 the king can beat the strategy by knowing who the only non-decider is and showing that prisoner the challice last.
So here are some hints for you:
First, get Brian to either give you adequate constraints on k before starting or rephrase and expand the question so that he also asks what constraints on k need to be placed.
Secondly, the algorithm used by the prisoners will be symetrical, though they might assign themselves an asymmetry in the form of keys used to labels the prisoners.
All you really need to make this is a good term rewriting language (think the good parts of Q, Stratego, and the one that starts with an m mixed together) tied in a sane manner to a good user interface library (most of this is UI).
This is really just a ui on an optionally distributed database with pretty transformations, written in a good term rewriting language, and a library of code for the rewriter that does everything programs like Maxima do, just better.
Not sure what these 3d sheets from Stories are (is it a way of vieing data?). Spreadsheets in Improv were 12 dimensional, and that was only an artificial limitation. It was the only hard limit that ever got in my way, and then not very much. I personally never got close to the 2^32 (4 billion) cells per sheet limit, or the 2^32 sheets per file, views per sheet, and presentations per sheet limits. Admittedly trying to see more than about 10 dimensions to a sheet all at once started to squeeze the data area of a view pretty small.
.. can't stretch either of these to 13. It's tough. You need something like an anova experiment with 12 groups of classes x an observation structure. Anyone want to try?
Now lets see how to get a bunch of dimensions quickly, with a little ag example:
Time
Fertilizer treatement (phosphourus rate)
Fertilizer treatment (nitrogen rate)
Straw treatment
Replicate
Observation (this is realy a structure of different types of data for each observation. Structures being indistinguishile from dimensions is nice. In Improv you had to use a dimension to get a struct.)
Maybe a buisness overview example would be better:
Year
Month
Office (Baker, LaGrande, Downtown Ontario, Ontario Outskirts, Fruitland, etc..)
Section (Apple, Microsoft, Linux, PICs)
Department (Sales, Parts, Repairs, Service, Custom Programming, Custom Equipment)
Observations (Income, Expenses, Recievables, Payables, Capital, Liabilities) and Calculations (Profit, Net worth, Capital Gains)
Hmm
Try these to get rid of all that Internet exploder crud:
/user:Administrator@domain "RUNDLL32.EXE SHELL32.DLL,Control_RunDLL MAIN.CPL @2"
/user:Administrator@domain "RUNDLL32.EXE SHELL32.DLL,SHHelpShortcuts_RunDLL PrintersFolder"
runas
Windows 2000:
runas
Rundll is excellent, anyone know something similar like runso for Linux? I know I could toss one together with forth, but it should already be there somewhere.
I purchased an Olympus camera last fall after trying out an identical model (C-U725) which took very satisfactory photographs. The photographs taken by the purchased camera are terrible, random noise added to the images has a standard deviation of about 8 in each channel - using averaging to reduce noise on the camera does not make the noise disappear until the image is about 256*256 pixels (i.e averaging about 64 pixels to produce one). I contacted Olympus technical support, and they agreed to repair the camera under waranty. I shipped the camera to them, at my expense, along with the forms they asked me to fill out and a copy of the sales reciept. The camera was returned to me in a different box, completely untouched without any notice of the reason for lack of service. Olympus has refused to deal with me further in repairing the camera.
The Pentagon is not blurred out, but the tops of the white house and both neighboring buildings are coloured in with light green and light brown squares. This is to hide the classified (read small surface-to-air heat-seeking missile, mortar, and gun turret) armament installations. They were sidewinders last time I saw photographs of the top of the whitehouse (mid to late 90's). I'm guessing the pentagon is not blurred out because the armaments for it are provided by ground forces.
Are you saying that Bob's sister and John's sister, are, err, easier than my sister?