By using a non-software-based, outside source of entropy. Send up a weather baloon connected to your serial/parallel port. Retrieve real-time data, disgard a few of the most significant figures, and use the rest.
One time pads are not uncrackable by definition. They have two weak points.
1) The generation of the pads.
One time pads are as crackable as your method for generating the pads. If your pad is TRULY random than it can't be cracked via statistics and probability. You must also be sure that no one else saw the pads or had access to the same entropy pool you used to generate the pads.
2) The distribution of the pads.
Both parties need a copy of the pad for it to work. How do the parties get the pads? Is this process secure? If not, than the quality of the pad is moot.
Low-end laptop from company is lower-end than the high-end models!
READ ALL ABOUT IT!
People with over-priced processors running at insane speeds trying to justify purchases by mocking those will lower-clocked but still completely sufficient processors!
READ ALL ABOUT IT!
Big Bear: He's iron tough. Big Bear: He don't take no guff. He's BIG BEAR.
I was familiar with incf, but just never realized that it had to be implemented as a macro. Your reasoning makes sense, and I tested it and you are right.
I should never evangelize when I'm tired. My #3 stuff should probably have been listed under #4 instead.
There are two reasons off-hand that I can think of for autoboxing or whatever the hell name they gave it.
1) So you can pass-by-reference.
You can't pass primitives by reference in Java so the function:
void increment(int i) { }
is impossible to write. This is solved by wrapping the int in an Integer, because all objects are automatically passed by reference.
This feature is, of course, free in Lisp since everything is, in effect, passed by reference.
(defun increment (i) (setf i (+1 i)))
That works just fine in Lisp.
2) Autoboxing for collections, as they only take Objects.
This, however much I dislike it, will be solved by templates.
The variables and values with types stuff should have been listed under number 4, I believe, as it does apply with regard to templates and Collections.
In C++ and Java, crap like templates are necessary because the language will just take your word that a value has whatever type you say it has.
So, without templates, you have a LinkedList of what? void pointers?
So, now, whenever you iterate a collection you are getting void pointers. What type are they for real? Who knows. You'll just have to either guess, assume, or do lots of typeid() checks, because the language won't figure it out for you.
Given:
void foo(Object o); void foo(Integer o);
Iterator i = c.iterator(); foo( i.next() );
It will call the first foo, because regardless of what value you put in the Collection, the Variable inside the collection that is holding it is of type Object. So, rather than the value specifying the type, it's the variable.
With templates this is "fixed" because it "remembers" what type your values were, assuming a homogeneous collection.
With real generics, like CLOS, this was never a problem to begin with as:
This is because in Lisp a list is just a list. They could be anything. The list doesn't specify what type's the values are. The value's have their own types.
This is probably a poor explanation. I can try and do better when I wake up tomorrow if this made no sense.
1) C-style enums, because Java is too weak to support a true symbol type.
2) Enhanced for-loop for iterations.
So:
for (String s : c) {... }
Is now shorthand for:
for (Iterator i = c.iterator(); i.hasNext(); ) {
String s = i.next();... }
They did this, of course, because it was the least obvious, most ugly way possible to add this to the language.
They said that it seemed "too late" to add a new keyboard to the language, but apparently not too late to add new syntax.
The principle of least surprise tells me that something along the lines of:
foreach (String s, myStringCollection) { }
might be a bit easier to read than their seemingly random for( : ) syntax.
3) Autoboxing to automate the wrapping of Java primitives in classes.
This seems to be because Java didn't want to go pure OO. They wanted to keep their primitives, and yet be mostly OO, which turns out to just be a pain in the ass and gives rise to classes like Integer and Double.
4) C++-Style Templates, because Java would now like to get even closer to their goal of being "Almost all the power of C++, without any of the speed." Templates are pretty much a bad idea in any language. They are a work-around for a bad type system.
But then, what the hell do I know. I'm just a Lisp junky.
For the curious, the Lisp solutions to these problems are, in order:
1) Symbols. 2) Too numerous to count. First, the (loop...) construct. Second, (dolist...). Third, (mapcar...) and family. Four, defmacro, which makes these superficial things all seem kinda silly. 3) What? Variables with types? I don't understand! Variables don't have types, values have types! 4) See #3, plus true generics in CLOS.
I have a Mac and a PC. I have an Apple mouse (1-button) and a Logitech USB mouse (6-button if you count the wheel as three (up, down, click)).
As the Mac is my primary machine, my first instinct was the Logitech on the Mac and the Apple on the PC. Hated it. It's a pain in the butt to use Windows with only one button. So many things scream at you to be right-clicked on, not out of necessity, but out of efficiency.
Want to get to network preferences? You can go through the amazing jouney of Start -> Settings -> Control Panels -> Network -> Local Area Network 1 -> Properties -> TCP/IP -> Properties, or you can go the comparatively easy route of Network Neighborhood -> Properties -> Local Area Connection 1 ->....
On my Mac I click on System Preferences -> Network and I'm there. No need for a right-click. It would barely save me anything.
This is true of most actions on PC's vs Mac's. So, I've switched. Apple mouse on the Mac, and Logitech on the PC. My PC thanks me for giving it the right-mouse button it craves, and my Mac barely notices.
Once a day or so I'll realize I only have one-button, chuckle, and then move along with my life, happy in the knowledge that one is enough for OS X. I do wish it had a wheel though; I miss that sometimes. I'm sure I'll spring for an extra Logitech at somepoint.
BTW, the Logitech Cordless MouseMan Optical is the best mouse I've ever used. Accuracy is great. Batteries last forever. And the mouse just feels so good in my hand. It's amazingly ergonomic (unless you're a lefty).
This wouldn't be a problem if they'd ditch their other old technology, PS/2 ports.
If they'd move to USB for keyboards and mice, as apple did several years ago, then there would be USB ports out the wazoo. Such as the two on my Apple keyboard, which is a USB hub.
Now, THAT would be convenient. A PC without PS/2 or floppies, and they all support USB-based storage devices and have a spare USB port on the keyboard.
Now I just have to convince PC manufacturers that, no, most people really DON'T need a pair of serial ports and a parallel port. New printers are almost invariably USB, Firewire or Ethernet. Normally USB, as the latter two are more expensive. I mean, how many PC users really NEED that serial port for.... uhhh... communications with a handyboard or... a SLIP interface or... a serial-line tty.
I'm sure there are a few of you that use them regularly, and that's fine, you can have them. But for the rest of us, they seem to be a waste of space.
Justin Dubs
Re:And the first title will be....
on
Infinite Games?
·
· Score: 1
I loved that book. In fact, I loved all of Neal Stephenson's books.
To anyone out there who has read Snow Crash and The Diamond Age and enjoyed them (how could it be any other way?):
You NEED to read Cryptonomicon.
My god, it was fabulous. A much more complex narrative than any of his previous books. As soon as I finish my current novel, I'll be re-reading Cryptonomicon.
What the hell are you yelling at him for? He told you it was in Flash. You said it was cool. He said he agreed. At what point did he become a jerk?
When he said, "pretty nifty, no?" was that what made you mad? That phrase doesn't mean that he thought the site was not nifty. It meant "pretty nifty, don't you agree?"
Haha... You get off on trying to condescend to kids half your age and yet twice as smart as you. Good luck with that, Doctor. Haha.
Mine delusions aquainted Bubbles erotica Plutonium wedding rings Icicle stretchings Bicycle shoe-strings One flag, flaggy but one Painting the paintings of the alive I-E-A-I-A-I-O
Yes, oh wise one, they are all turing complete. So is Basic. So is assembler. So is binary. So are Fortran and Cobol. But I wouldn't want to write AI in them.
If you do, than that's your business, but you won't find many people agreeing with you.
Languages have domains. C is good at system programming. Perl is good at manipulating strings. Lisp is good at AI. You can use Perl for systems programming and Lisp to manipulate strings, but your code will be a lot longer and harder write.
Or, can I assume that you know more computer languages than I do (28), have been programming longer than I have (10 years), or have some other quality which would make your opinion anything other than dumb.
Amazing. They are having an AI tournament, and their supported language list includes C, C++, Java, Perl, Mathematica, and something called the Gambit Command Language.
Where the hell are the good AI languages? Functional languages? Lisp? Scheme? Caml? SML? Hell, I'd settle for Python.
Graffiti-ing the inside of the store would entail obtaining access to that store. If we further complicate this horrible metaphor by changing it to "spray-painting the inside of a store, after the store is closed" then the intent of my comment should become more clear.
Wow, I'm glad scientists have finally found a way around that pesky problem of not being able to prove negatives.
Now we can finally prove that:
a) There does not exist a species that we haven't found. b) God does not exist.
These scientists seem to be morons if the slashdot headline is accurate (that'll be the day). An ambitious undertaking would have been to catalog 10x as many species next year as most years, and to continue doing so until we think we have them all. An impossible undertaking is to show that we haven't missed any in the process.
blackhole's don't "suck" anything in. anything with a gravitational field "bends" light, or acts like as a lens because light has mass.
light traveling at c across the void of space and light orbiting a super-dense mass at c are still both moving at c. it's just that the latter will never leave the "event horizon" of the black hole. still the same speed.
FYI, repeating a search in VI could easier be done by pressing 'n' from command-mode. 'n' moves forward to the next search result and 'N' moves backwards.
If the original search was using ? rather than/, than 'n' is the next search result, moving up the page, and 'N' is the next search result moving down the page.
This saves the Enter key pressing and is faster to press than / for most people.
There are an infinite number of real numbers between 0 and 1. That set doesn't include 2 or 3. But, it's still endless.
Infinite is not the same as all-encompassing.
There are infinite counting numbers (integers >= 1), but they don't include the negatives or 0, but they are still endless.
Anyway, you can see my point. Just because you can name two or three things that our not in a given set, doesn't make that set finite.
To take it even further. thet set of all possible numbers is also not all-encompassing. It doesn't include the letter 'A'. So, it's still a matter of domain. The possibilities can only be infinite, or endless, within their domain.
Oh, I thought they were just implying that the CD's used to be in Finland.
Get it... finnish-ed.... hahaha!
Justin Dubs
Re:Should there be a GNU-Google?
on
Google vs. Evil
·
· Score: 2
The GPL is no more a promise than that you are saying about google. The thing about licenses is that you are allowed to change them whenever you want. Yes, you can be guaranteed to always be able to use your current version of software under the GPL, but the FSF could suddenly decide to do all new development under a different license and you'd be left with obsolete free software.
By using a non-software-based, outside source of entropy. Send up a weather baloon connected to your serial/parallel port. Retrieve real-time data, disgard a few of the most significant figures, and use the rest.
In other words, there are many ways.
Justin Dubs
One time pads are not uncrackable by definition. They have two weak points.
1) The generation of the pads.
One time pads are as crackable as your method for generating the pads. If your pad is TRULY random than it can't be cracked via statistics and probability. You must also be sure that no one else saw the pads or had access to the same entropy pool you used to generate the pads.
2) The distribution of the pads.
Both parties need a copy of the pad for it to work. How do the parties get the pads? Is this process secure? If not, than the quality of the pad is moot.
Justin Dubs
Low-end laptop from company is lower-end than the high-end models!
READ ALL ABOUT IT!
People with over-priced processors running at insane speeds trying to justify purchases by mocking those will lower-clocked but still completely sufficient processors!
READ ALL ABOUT IT!
Big Bear: He's iron tough. Big Bear: He don't take no guff. He's BIG BEAR.
Justin Dubs
Thank you.
I was familiar with incf, but just never realized that it had to be implemented as a macro. Your reasoning makes sense, and I tested it and you are right.
Thanks again, I love learning new things.
Justin
I should never evangelize when I'm tired. My #3 stuff should probably have been listed under #4 instead.
There are two reasons off-hand that I can think of for autoboxing or whatever the hell name they gave it.
1) So you can pass-by-reference.
You can't pass primitives by reference in Java so the function:
void increment(int i) { }
is impossible to write. This is solved by wrapping the int in an Integer, because all objects are automatically passed by reference.
This feature is, of course, free in Lisp since everything is, in effect, passed by reference.
(defun increment (i) (setf i (+1 i)))
That works just fine in Lisp.
2) Autoboxing for collections, as they only take Objects.
This, however much I dislike it, will be solved by templates.
The variables and values with types stuff should have been listed under number 4, I believe, as it does apply with regard to templates and Collections.
In C++ and Java, crap like templates are necessary because the language will just take your word that a value has whatever type you say it has.
So, without templates, you have a LinkedList of what? void pointers?
So, now, whenever you iterate a collection you are getting void pointers. What type are they for real? Who knows. You'll just have to either guess, assume, or do lots of typeid() checks, because the language won't figure it out for you.
Given:
void foo(Object o);
void foo(Integer o);
Iterator i = c.iterator();
foo( i.next() );
It will call the first foo, because regardless of what value you put in the Collection, the Variable inside the collection that is holding it is of type Object. So, rather than the value specifying the type, it's the variable.
With templates this is "fixed" because it "remembers" what type your values were, assuming a homogeneous collection.
With real generics, like CLOS, this was never a problem to begin with as:
(defmethod foo (i) 'Unknown)
(defmethod foo ((i integer)) 'Integer)
(mapcar #'foo '(3 4.2)) => ('Integer 'Unknown)
This is because in Lisp a list is just a list. They could be anything. The list doesn't specify what type's the values are. The value's have their own types.
This is probably a poor explanation. I can try and do better when I wake up tomorrow if this made no sense.
Have a good night/day/morning/whatever,
Justin Dubs
So, to summarize the changes:
...
...
...) construct. Second, (dolist ...). Third, (mapcar ...) and family. Four, defmacro, which makes these superficial things all seem kinda silly.
1) C-style enums, because Java is too weak to support a true symbol type.
2) Enhanced for-loop for iterations.
So:
for (String s : c) {
}
Is now shorthand for:
for (Iterator i = c.iterator(); i.hasNext(); ) {
String s = i.next();
}
They did this, of course, because it was the least obvious, most ugly way possible to add this to the language.
They said that it seemed "too late" to add a new keyboard to the language, but apparently not too late to add new syntax.
The principle of least surprise tells me that something along the lines of:
foreach (String s, myStringCollection) { }
might be a bit easier to read than their seemingly random for( : ) syntax.
3) Autoboxing to automate the wrapping of Java primitives in classes.
This seems to be because Java didn't want to go pure OO. They wanted to keep their primitives, and yet be mostly OO, which turns out to just be a pain in the ass and gives rise to classes like Integer and Double.
4) C++-Style Templates, because Java would now like to get even closer to their goal of being "Almost all the power of C++, without any of the speed." Templates are pretty much a bad idea in any language. They are a work-around for a bad type system.
But then, what the hell do I know. I'm just a Lisp junky.
For the curious, the Lisp solutions to these problems are, in order:
1) Symbols.
2) Too numerous to count. First, the (loop
3) What? Variables with types? I don't understand! Variables don't have types, values have types!
4) See #3, plus true generics in CLOS.
Justin
Funny, but raises an interesting point.
....
I have a Mac and a PC. I have an Apple mouse (1-button) and a Logitech USB mouse (6-button if you count the wheel as three (up, down, click)).
As the Mac is my primary machine, my first instinct was the Logitech on the Mac and the Apple on the PC. Hated it. It's a pain in the butt to use Windows with only one button. So many things scream at you to be right-clicked on, not out of necessity, but out of efficiency.
Want to get to network preferences? You can go through the amazing jouney of Start -> Settings -> Control Panels -> Network -> Local Area Network 1 -> Properties -> TCP/IP -> Properties, or you can go the comparatively easy route of Network Neighborhood -> Properties -> Local Area Connection 1 ->
On my Mac I click on System Preferences -> Network and I'm there. No need for a right-click. It would barely save me anything.
This is true of most actions on PC's vs Mac's. So, I've switched. Apple mouse on the Mac, and Logitech on the PC. My PC thanks me for giving it the right-mouse button it craves, and my Mac barely notices.
Once a day or so I'll realize I only have one-button, chuckle, and then move along with my life, happy in the knowledge that one is enough for OS X. I do wish it had a wheel though; I miss that sometimes. I'm sure I'll spring for an extra Logitech at somepoint.
BTW, the Logitech Cordless MouseMan Optical is the best mouse I've ever used. Accuracy is great. Batteries last forever. And the mouse just feels so good in my hand. It's amazingly ergonomic (unless you're a lefty).
Justin Dubs
This wouldn't be a problem if they'd ditch their other old technology, PS/2 ports.
If they'd move to USB for keyboards and mice, as apple did several years ago, then there would be USB ports out the wazoo. Such as the two on my Apple keyboard, which is a USB hub.
Now, THAT would be convenient. A PC without PS/2 or floppies, and they all support USB-based storage devices and have a spare USB port on the keyboard.
Now I just have to convince PC manufacturers that, no, most people really DON'T need a pair of serial ports and a parallel port. New printers are almost invariably USB, Firewire or Ethernet. Normally USB, as the latter two are more expensive. I mean, how many PC users really NEED that serial port for.... uhhh... communications with a handyboard or... a SLIP interface or... a serial-line tty.
I'm sure there are a few of you that use them regularly, and that's fine, you can have them. But for the rest of us, they seem to be a waste of space.
Justin Dubs
I loved that book. In fact, I loved all of Neal Stephenson's books.
To anyone out there who has read Snow Crash and The Diamond Age and enjoyed them (how could it be any other way?):
You NEED to read Cryptonomicon.
My god, it was fabulous. A much more complex narrative than any of his previous books. As soon as I finish my current novel, I'll be re-reading Cryptonomicon.
Justin Dubs
What the hell are you yelling at him for? He told you it was in Flash. You said it was cool. He said he agreed. At what point did he become a jerk?
When he said, "pretty nifty, no?" was that what made you mad? That phrase doesn't mean that he thought the site was not nifty. It meant "pretty nifty, don't you agree?"
Justin Dubs
Good to see you spent so much time experimenting with Chimera. You seem to know it inside and out.
By the way, you can close a tab by pressing Apple+W (like you would normally close a window). Genius.
Justin Dubs
There is no general rule against it in theory, but there is in practice.
To prove a negative that uses the existential qualifier, such as:
There does not exist an x such that f(x).
You must prove:
For every x, not f(x).
And the problem then becomes one of showing that you have truly tested every x, because if you've missed just one it invalidates the results.
So, theoretically, no problem. Practically, good luck.
Justin Dubs
Haha... You get off on trying to condescend to kids half your age and yet twice as smart as you. Good luck with that, Doctor. Haha.
Mine delusions aquainted
Bubbles erotica
Plutonium wedding rings
Icicle stretchings
Bicycle shoe-strings
One flag, flaggy but one
Painting the paintings of the alive
I-E-A-I-A-I-O
Congrajulations! You are now officially an idiot!
Yes, oh wise one, they are all turing complete. So is Basic. So is assembler. So is binary. So are Fortran and Cobol. But I wouldn't want to write AI in them.
If you do, than that's your business, but you won't find many people agreeing with you.
Languages have domains. C is good at system programming. Perl is good at manipulating strings. Lisp is good at AI. You can use Perl for systems programming and Lisp to manipulate strings, but your code will be a lot longer and harder write.
Or, can I assume that you know more computer languages than I do (28), have been programming longer than I have (10 years), or have some other quality which would make your opinion anything other than dumb.
Justin Dubs
Amazing. They are having an AI tournament, and their supported language list includes C, C++, Java, Perl, Mathematica, and something called the Gambit Command Language.
Where the hell are the good AI languages? Functional languages? Lisp? Scheme? Caml? SML? Hell, I'd settle for Python.
Justin Dubs
But, again, there'd be no way to prove the absence of life after the nuke-fest has ended.
Conversely, we can just let the boy bands run rampant, and everyone will have sex, and there will be LOTS of life. But none of it will be intelligent.
Oh well, I tried.
Justin
Graffiti-ing the inside of the store would entail obtaining access to that store. If we further complicate this horrible metaphor by changing it to "spray-painting the inside of a store, after the store is closed" then the intent of my comment should become more clear.
Justin Dubs
The graffiti analogy works out fine if you change it so that they are spray-painting the inside of the store rather than the outside. :-)
Justin Dubs
Wow, I'm glad scientists have finally found a way around that pesky problem of not being able to prove negatives.
Now we can finally prove that:
a) There does not exist a species that we haven't found.
b) God does not exist.
These scientists seem to be morons if the slashdot headline is accurate (that'll be the day). An ambitious undertaking would have been to catalog 10x as many species next year as most years, and to continue doing so until we think we have them all. An impossible undertaking is to show that we haven't missed any in the process.
Justin Dubs
wtf?
blackhole's don't "suck" anything in. anything with a gravitational field "bends" light, or acts like as a lens because light has mass.
light traveling at c across the void of space and light orbiting a super-dense mass at c are still both moving at c. it's just that the latter will never leave the "event horizon" of the black hole. still the same speed.
justin dubs
FYI, repeating a search in VI could easier be done by pressing 'n' from command-mode. 'n' moves forward to the next search result and 'N' moves backwards.
/, than 'n' is the next search result, moving up the page, and 'N' is the next search result moving down the page.
If the original search was using ? rather than
This saves the Enter key pressing and is faster to press than / for most people.
Justin Dubs
You seem to not have a firm grasp of mathematics.
Endless could be read as "infinite."
There are an infinite number of real numbers between 0 and 1. That set doesn't include 2 or 3. But, it's still endless.
Infinite is not the same as all-encompassing.
There are infinite counting numbers (integers >= 1), but they don't include the negatives or 0, but they are still endless.
Anyway, you can see my point. Just because you can name two or three things that our not in a given set, doesn't make that set finite.
To take it even further. thet set of all possible numbers is also not all-encompassing. It doesn't include the letter 'A'. So, it's still a matter of domain. The possibilities can only be infinite, or endless, within their domain.
Justin Dubs
What is wrong with all of you idiots.
Oh, this other guy flew a glider off a big hill and crashed into some bushes, so that means the Wright brothers weren't the first to fly.
Oh, Benjamin Franklin flew a kite, and that pre-dates the Wright brothers, therefore they weren't the first.
Oh, and some other guy jumped out of his fucking window and fell 10 feet, and I think he flapped his arms, so that is like flying, so he was first.
The Wright brothers weren't the first to fly. That's not what they are famous for. They were the first to have sustained, powered, controlled flight.
Justin Dubs
Oh, I thought they were just implying that the CD's used to be in Finland.
Get it... finnish-ed.... hahaha!
Justin Dubs
The GPL is no more a promise than that you are saying about google. The thing about licenses is that you are allowed to change them whenever you want. Yes, you can be guaranteed to always be able to use your current version of software under the GPL, but the FSF could suddenly decide to do all new development under a different license and you'd be left with obsolete free software.
Justin Dubs