Its not quite like a cluster. There's something like 100 million neurons in your brain. Each is multiply-connected to other neurons. That's billions upon billions of connections.
However, each neuron itself is quite dump. It is the connections of neurons that create the power of the brain. Yes, things occur in parallel, but the parallelness itself is not the power. If you can understand the power of a simple (say, 10-100) neuron neural network, and multiply the complexity of what you get to the number of neurons in the brain, you will begin to fathom the depth of the brain's power.
As for compiling, what exactly are you doing? Java now ships with JIT compilers that convert bytecode to native code on-the-fly. Of course you have little control over this process, so it's still not as optimal as hand-optimized C, but hey, what is.
Sure, you don't have control over the final native code produced by JIT, but neither do you have evidence that it isn't optimized. But beyond that, you have Hotspot which C/C++ just doesn't have.
Ant sucks. But its the least sucky option. The syntax is very inconsistent, and there's a lot of things you can't do easily (i.e. control flow). But for 90% of a build process, Ant will do what you need out of the box. Everything else you have to cusotmize, build custom, or just skip Ant altogether.
Still, I have high hopes for the next big version of Ant where they plan to fix a lot of these problems.
No, the thing ran Linux. A friend of mine got it at JavaOne at a discount price, and it came with some Java stuff on it. But the Java stuff was was just a gimick for the convention. It was an honest-to-god Linux computer sitting in his hand. My Sony Clie ran circles around it in PDA functions, but I'm sure he could've whipped out a C compiler and made me shut up. He eventually sold the thing because he had no use for it and the cash he got for it exceeded the price he paid (discounted at the convention).
Last I saw a Sharp linux-based PDA, it wasn't a PDA, but a pocket-based computer. You still had to partition the RAM between execution and storage, funny ways of launching apps, etc.
Palm has a very elegant PDA solution. And its very difficult to bend it to do non-PDA things (i.e. play MP3s, movies, etc.) SOny is doing a good job, and PalmOS 5 shoudl make things even easier. Then there is this other way where you try to mimick a PDA out of a computer. You lose the simplicity of the PDA but gain the power of a computer.
Is there a ahppy medium, or should we just stop trying to cram the two into one package?
Great, now all we need is for it to have the one feature that Outlook still has over it. No, not Exchange integration. I mean running on Windows. I'll stick with my Microsoft utlook (*sigh*) fo rnow.
I'm not alone! Not being able to rename/alias buddies was my NUMBER ONE reason for trying to find an alternative to AOL's clientfor AIM(since I'm lcoked in by my buddies using it). I sent three separate feature requests through proper and improper channels, and instead they add crap like "rate your buddy".
If they have any qualms about programs like Trillian tapping into their network, then they should be relocated to oblivian. I did everything but hold them hostage to get themto add something truly useful whilst they tried to block competing clients.
If you accept that the copyright holders have the right to make their copyrighted materials "uncopyable", then DRM is a god solution up front. But how will Microsoft's Pal.ladium initiative, or any other DRM scheme, handle the expiration of copyrights? For example, I might not be able to copy Steamboat Willie today, but suppose the Supreme Court strikes down the latest copyright extension thrusting Willie into the Public Domain. Would Palladium allow me to then do as I please with the flick sincle DRM would no longer apply?
could understanding why cells die when they do help create ways to make us live longer?
Certainly. For example, there is a theory that free radicals (oxygen atoms sometimes released during the fuel generation accomplished by our mitochondria) cause damage to the DNA of a cell. There are "sweepers" in our cells that are supposed to suck up these free radicals, but som get away and damage our cells.
Studies have shown in laboratory animals that high-antioxidant diets extend the lifetime of animals. In one particular test, a very simple worm's life was DOUBLED compared ot the control population when a special, synthetic anti-oxidant was fed to it.
I don't know how related, if at all, programmed cell death is to free radicals and antioxidants, but as you suggested, once you figure out an effect, you can try to figure out a way to prevent or reverse the effect.
What was it G.I. Joe said? Knowng is half the battle
Abrubt climate changes aren't new. In 1816, there was no summer. Volcanic side effects from the year before blotted out enough light to cause a winterry year.
Java-bashing aside, you've missed the point. The point was "why not check all buffer writes/reads in Microsoft code?"
Microsoft has so many layers of API's and othe rlegacy crap that even their C code is slower (just look at how fast a clean OS written in C is comapred to Windows). Why not at least incur a slowdown for soemthing useful like security. If instead of using unchecked buffers, they used safe buffer code, they wouldn't have this problem.
One particular Outlooke xploit I recall used an overflow in the timezone field. So, instea dof "GMT+500", someone might but "GMT+505005050505050505...". Because Microsoft made an array of 4 bytes to hold the timezone offset, but didnt' stop reading until teh end of the string... someone could overwrite memory space.
Now, I'd accept slightly-slower timezone parsing if it meant some thug couldn't take control of my compter by sending me an e-mail!
I'd be curious to know how many are buffer overflows. Seems like at least 50% are. What would it take for Microsot to incur the overhead of checking array bounds? Java seems to do this implicitly, and it works OK for tons of applications. Ever heard of a buffer overflow EXPLOIT in Java (sure, you could get an ArrayIndexOutOfBoundsException, but it wouldn't let arbitrary code run).
A co-worker and I just discussed this very thing yesterday! However, we defaulted to a hardware device that you would carry with you (quite possibly a PDA), then when you log into a machine, would have your preferences wirelessly available. Not just a desktop, but your cell phoen could wirelessly use teh address book for making calls, etc. I personally like the hardware solution best because then no one owns the cetral store of your personal data & preferences but you.
But, hardware or software, the only way this would be useful is if there was a standard for these major classes of data so multiple devices and applications could read, and in some case modify, the data. Your cell phone might not only want to use your existing numbers,but add a number when you receive a call from a never-before-seen number.
Who would make such standards? Surely Microsoft could give it a stab, and then extend it beyond usefulness. Maybe some of the existing standards are good enough, or could be extended (vCard, vCal, etc.).
The thing that struck me here is that you chose the 57 attributes up front and determine the value of these attributes for each spam. These values are then the input to the spam.
How did you arrive that these attributes? Are there any others you considered but didn't include?
Is there any way a nueral network, or somethng else, perhaps could b used to determine other, less-obvious attributes? For example, Paul's filter found that the color #ff0000 (bright red) was a high indicator for spam. While that is the value of an an attribute (value = red, attriibute = color) that is the sort of unanticipated tell-tale sign of spam I'm referring to, except I wonder if there are unanticipated attributes to be found.
I've been increasingly troubled that I perhaps was alone in thnking textual representation fo source code is silly. As a Java programmer, every IDE under the sun ahs a little side panel where the structure ofyour class is represented as a tree, and as you clickon elements in the tree, the file jumps to that delcaration.
Turns out, though, that it doesn't really matter that method A appears before method B in the file. Code folding is a very simple step in this direction. And all of this arguing over tabs vs. spaces, curly-braces on their own line, etc. would be obliterated if code were stored in some other, unformatted manner.
I know IBM's alphaWorks has a project that transforms Java into XML and back. Once in unformatted XML, it is easier to see if a file changed functioanlly whereas typical diff programs would higlight a curly brace being moved to its own line.
Re:IM in companies: a bad idea
on
Gaim For Windows
·
· Score: 5, Insightful
If you want to send code snippets, or need to transfer information that is somewhat complicated, use e-mail
Didn't you just say you might not get an instant reply? So what if you need to show someone a code snippet but DO need an instant reply?
archive the message for later retrieval.
Don't know what IM client you used, but I use Trillian, and it does archive things for me.
If you want an instant reply, because you need to discuss something, USE THE PHONE. It is much faster than typing, no matter how fast you type
OK, I have a little exercise for you. Read the following out loud on th ephone, and imagine someone on th other end trying to transpose this back into text:
for(int index = 0; index < list.length; index ++) {
x &= ((Integer)list.get(index)) << index; }
Do you seriously think saying "curly-brace", "binary shift to the left", and "cast to Integer class" are easier to say than type/read?
And what of presence? Do you have some way of known if the person you immediately need is available on the other end? Suppose there were three people who could answer your question... you might have to call all three to determine that no one is available, or sometimes at least more than one if the first guy isn't available. With IM presence, you ca see that immediately befoerehand.
Especially in combination of a tool like VNC
So you want people to mix-and-mach tools to try and come close to something that a new paradigm, IM, does perfectly well? Why even use a phone when you could use a telegraph? Why use a computer when you could use an abacus and some paper?
Within weeks, the IT guys were chatting for hours per day with the girls in the office
And they never did this with the phone? Or send each other e-mails? IM just made it so convenient that they started doing something they had so little drive to do before IM lowered the hurdle? Or maybe they're sepdning less time sending frivilous e-mail and using a more efficient conversational medium, saving disk sapce on the corporate mail server and gaining productivity?
Now, for some business cases that DO work!
Tier-3 support in city A conversing with Tier-2 support in city B, cutting out long distance costs.
Tier-3 support being able to participate in multiple conversations with Tier-2 simulatenously.
Completely tele-commuting-based company keeping their phone lines free for important calls while cutting&pasting code snippets back and forth.
Development office in city A conversing with development office in city B to get information immediately to anser the customer's question on the phone without perceived iterruption.
I don't know why everyone thinks IM is so teenagers can ask each for age/sex/location checks. It is a communication tool, and a very fast, conversational convenient one at that. People can use any conversation medium for good or bad (i.e. e-mail is getting overwhelmed with spam!) Don't chuck out the whole medium just because you've found one malignant thing growing in it. Just use your own judgement, and rules in the case of the fomer poster who works at a company where teh employees have no ethical control over their use of their work time (and the big bosses don't have thecalls to fire them).
how many users have communicated with people outside of work
And that is counter-productive? I have a close circle of personal friends who are all programming gurus. I consult with them about work problems all the time. And, I also BS with them.
Take away one and you take away the other. My gains in productivity from talking with them will be gone along with the time I waste communicating with them for recreation (or, maybe I'd just resort to e-mail or telephone calls instead).
Whatever happened to the aim-t probelms? The last part of the saga I remember is that instead of making up new FLAP codes, AOL just started looking for large quantities of signon from the same IP indicating a possible Jabber server running aim-t and just blocked its entire class C (so as to prevent the server moving to a new IP in the same class C). Has that ceased, os has there been soe other workaround?
Coming from AIM as my primary chat medium, that was ahuge hurdle to adopting Jabber personally. Now, I'm using Trillian Pro 1.0, happily.
Sure, I'm agitated by the short-sighted legislation sucking away our rights, our myopic foreign policies, go-it-yourself tactics as a nation, etc... But, you know what? My actual life is unchanged. No one I knew died in the terrorist attacks. The lesser freedoms haven't had an inkling of impact on what I do. I don't feel any more safe (the security changes are pointless). I don't feel any less safe either, though. I don't even feel more patriotic. It's just the same. Maybe I'm lucky?
BRB, John Ashcroft is at my door with a one-way ticket to Camp X-Ray...
I did look into Echidna some time ago. It looks as though development has stopped on it. A couple of things could be done to improve it because it still ain't easy.
A multi-process JVM should basicallya llow you to run as many Java applications as you want in a single VM, and the ability to kill any particular one. They should be as easy to start as executing a normal Java program (mostly execcutable jars).
One thing I know Echidna lacks that should be in a multi-process JVM is the concept of partitioning some things on a process boundary. System properties are for the system, but a process should be able to have properties as well, to possibly override some system properties, or have some private properties for the process to use without other processes seeing/manipulating them.
Its not quite like a cluster. There's something like 100 million neurons in your brain. Each is multiply-connected to other neurons. That's billions upon billions of connections.
However, each neuron itself is quite dump. It is the connections of neurons that create the power of the brain. Yes, things occur in parallel, but the parallelness itself is not the power. If you can understand the power of a simple (say, 10-100) neuron neural network, and multiply the complexity of what you get to the number of neurons in the brain, you will begin to fathom the depth of the brain's power.
As for compiling, what exactly are you doing? Java now ships with JIT compilers that convert bytecode to native code on-the-fly. Of course you have little control over this process, so it's still not as optimal as hand-optimized C, but hey, what is.
Sure, you don't have control over the final native code produced by JIT, but neither do you have evidence that it isn't optimized. But beyond that, you have Hotspot which C/C++ just doesn't have.
So I can convert to a Mac for $999? How much does it cost me to not convert to a Mac? $0.
'nuff said.
Ant sucks. But its the least sucky option. The syntax is very inconsistent, and there's a lot of things you can't do easily (i.e. control flow). But for 90% of a build process, Ant will do what you need out of the box. Everything else you have to cusotmize, build custom, or just skip Ant altogether.
Still, I have high hopes for the next big version of Ant where they plan to fix a lot of these problems.
No, the thing ran Linux. A friend of mine got it at JavaOne at a discount price, and it came with some Java stuff on it. But the Java stuff was was just a gimick for the convention. It was an honest-to-god Linux computer sitting in his hand. My Sony Clie ran circles around it in PDA functions, but I'm sure he could've whipped out a C compiler and made me shut up. He eventually sold the thing because he had no use for it and the cash he got for it exceeded the price he paid (discounted at the convention).
Last I saw a Sharp linux-based PDA, it wasn't a PDA, but a pocket-based computer. You still had to partition the RAM between execution and storage, funny ways of launching apps, etc.
Palm has a very elegant PDA solution. And its very difficult to bend it to do non-PDA things (i.e. play MP3s, movies, etc.) SOny is doing a good job, and PalmOS 5 shoudl make things even easier. Then there is this other way where you try to mimick a PDA out of a computer. You lose the simplicity of the PDA but gain the power of a computer.
Is there a ahppy medium, or should we just stop trying to cram the two into one package?
Great, now all we need is for it to have the one feature that Outlook still has over it. No, not Exchange integration. I mean running on Windows. I'll stick with my Microsoft utlook (*sigh*) fo rnow.
I'm not alone! Not being able to rename/alias buddies was my NUMBER ONE reason for trying to find an alternative to AOL's clientfor AIM(since I'm lcoked in by my buddies using it). I sent three separate feature requests through proper and improper channels, and instead they add crap like "rate your buddy".
If they have any qualms about programs like Trillian tapping into their network, then they should be relocated to oblivian. I did everything but hold them hostage to get themto add something truly useful whilst they tried to block competing clients.
I'd also be interested to know what the runner up was. ASP? JSP? Perl? .HTML :)
Seriously, what were your criteria, and what were your rankings ofthe various technologies based on those criteria?
If you accept that the copyright holders have the right to make their copyrighted materials "uncopyable", then DRM is a god solution up front. But how will Microsoft's Pal.ladium initiative, or any other DRM scheme, handle the expiration of copyrights? For example, I might not be able to copy Steamboat Willie today, but suppose the Supreme Court strikes down the latest copyright extension thrusting Willie into the Public Domain. Would Palladium allow me to then do as I please with the flick sincle DRM would no longer apply?
could understanding why cells die when they do help create ways to make us live longer?
Certainly. For example, there is a theory that free radicals (oxygen atoms sometimes released during the fuel generation accomplished by our mitochondria) cause damage to the DNA of a cell. There are "sweepers" in our cells that are supposed to suck up these free radicals, but som get away and damage our cells.
Studies have shown in laboratory animals that high-antioxidant diets extend the lifetime of animals. In one particular test, a very simple worm's life was DOUBLED compared ot the control population when a special, synthetic anti-oxidant was fed to it.
I don't know how related, if at all, programmed cell death is to free radicals and antioxidants, but as you suggested, once you figure out an effect, you can try to figure out a way to prevent or reverse the effect.
What was it G.I. Joe said? Knowng is half the battle
BeOS
BeOS' OpenGL imlementation was may times faster than Windows, for example. They cut out all of the crap.
Abrubt climate changes aren't new. In 1816, there was no summer. Volcanic side effects from the year before blotted out enough light to cause a winterry year.
Java-bashing aside, you've missed the point. The point was "why not check all buffer writes/reads in Microsoft code?"
Microsoft has so many layers of API's and othe rlegacy crap that even their C code is slower (just look at how fast a clean OS written in C is comapred to Windows). Why not at least incur a slowdown for soemthing useful like security. If instead of using unchecked buffers, they used safe buffer code, they wouldn't have this problem.
One particular Outlooke xploit I recall used an overflow in the timezone field. So, instea dof "GMT+500", someone might but "GMT+505005050505050505...". Because Microsoft made an array of 4 bytes to hold the timezone offset, but didnt' stop reading until teh end of the string... someone could overwrite memory space.
Now, I'd accept slightly-slower timezone parsing if it meant some thug couldn't take control of my compter by sending me an e-mail!
I'd be curious to know how many are buffer overflows. Seems like at least 50% are. What would it take for Microsot to incur the overhead of checking array bounds? Java seems to do this implicitly, and it works OK for tons of applications. Ever heard of a buffer overflow EXPLOIT in Java (sure, you could get an ArrayIndexOutOfBoundsException, but it wouldn't let arbitrary code run).
A co-worker and I just discussed this very thing yesterday! However, we defaulted to a hardware device that you would carry with you (quite possibly a PDA), then when you log into a machine, would have your preferences wirelessly available. Not just a desktop, but your cell phoen could wirelessly use teh address book for making calls, etc. I personally like the hardware solution best because then no one owns the cetral store of your personal data & preferences but you.
But, hardware or software, the only way this would be useful is if there was a standard for these major classes of data so multiple devices and applications could read, and in some case modify, the data. Your cell phone might not only want to use your existing numbers,but add a number when you receive a call from a never-before-seen number.
Who would make such standards? Surely Microsoft could give it a stab, and then extend it beyond usefulness. Maybe some of the existing standards are good enough, or could be extended (vCard, vCal, etc.).
Probably all just a pipe dream anyways.
The thing that struck me here is that you chose the 57 attributes up front and determine the value of these attributes for each spam. These values are then the input to the spam.
How did you arrive that these attributes? Are there any others you considered but didn't include?
Is there any way a nueral network, or somethng else, perhaps could b used to determine other, less-obvious attributes? For example, Paul's filter found that the color #ff0000 (bright red) was a high indicator for spam. While that is the value of an an attribute (value = red, attriibute = color) that is the sort of unanticipated tell-tale sign of spam I'm referring to, except I wonder if there are unanticipated attributes to be found.
I've been increasingly troubled that I perhaps was alone in thnking textual representation fo source code is silly. As a Java programmer, every IDE under the sun ahs a little side panel where the structure ofyour class is represented as a tree, and as you clickon elements in the tree, the file jumps to that delcaration.
Turns out, though, that it doesn't really matter that method A appears before method B in the file. Code folding is a very simple step in this direction. And all of this arguing over tabs vs. spaces, curly-braces on their own line, etc. would be obliterated if code were stored in some other, unformatted manner.
I know IBM's alphaWorks has a project that transforms Java into XML and back. Once in unformatted XML, it is easier to see if a file changed functioanlly whereas typical diff programs would higlight a curly brace being moved to its own line.
If you want to send code snippets, or need to transfer information that is somewhat complicated, use e-mail
Didn't you just say you might not get an instant reply? So what if you need to show someone a code snippet but DO need an instant reply?
archive the message for later retrieval.
Don't know what IM client you used, but I use Trillian, and it does archive things for me.
If you want an instant reply, because you need to discuss something, USE THE PHONE. It is much faster than typing, no matter how fast you type
OK, I have a little exercise for you. Read the following out loud on th ephone, and imagine someone on th other end trying to transpose this back into text:
for(int index = 0; index < list.length; index ++) {
x &= ((Integer)list.get(index)) << index;
}
Do you seriously think saying "curly-brace", "binary shift to the left", and "cast to Integer class" are easier to say than type/read?
And what of presence? Do you have some way of known if the person you immediately need is available on the other end? Suppose there were three people who could answer your question... you might have to call all three to determine that no one is available, or sometimes at least more than one if the first guy isn't available. With IM presence, you ca see that immediately befoerehand.
Especially in combination of a tool like VNC
So you want people to mix-and-mach tools to try and come close to something that a new paradigm, IM, does perfectly well? Why even use a phone when you could use a telegraph? Why use a computer when you could use an abacus and some paper?
Within weeks, the IT guys were chatting for hours per day with the girls in the office
And they never did this with the phone? Or send each other e-mails? IM just made it so convenient that they started doing something they had so little drive to do before IM lowered the hurdle? Or maybe they're sepdning less time sending frivilous e-mail and using a more efficient conversational medium, saving disk sapce on the corporate mail server and gaining productivity?
Now, for some business cases that DO work!
I don't know why everyone thinks IM is so teenagers can ask each for age/sex/location checks. It is a communication tool, and a very fast, conversational convenient one at that. People can use any conversation medium for good or bad (i.e. e-mail is getting overwhelmed with spam!) Don't chuck out the whole medium just because you've found one malignant thing growing in it. Just use your own judgement, and rules in the case of the fomer poster who works at a company where teh employees have no ethical control over their use of their work time (and the big bosses don't have thecalls to fire them).
how many users have communicated with people outside of work
And that is counter-productive? I have a close circle of personal friends who are all programming gurus. I consult with them about work problems all the time. And, I also BS with them.
Take away one and you take away the other. My gains in productivity from talking with them will be gone along with the time I waste communicating with them for recreation (or, maybe I'd just resort to e-mail or telephone calls instead).
Yeah, I read that paper... A co-worker of mine IM'ed it to me today.
Whatever happened to the aim-t probelms? The last part of the saga I remember is that instead of making up new FLAP codes, AOL just started looking for large quantities of signon from the same IP indicating a possible Jabber server running aim-t and just blocked its entire class C (so as to prevent the server moving to a new IP in the same class C). Has that ceased, os has there been soe other workaround?
Coming from AIM as my primary chat medium, that was ahuge hurdle to adopting Jabber personally. Now, I'm using Trillian Pro 1.0, happily.
Sure, I'm agitated by the short-sighted legislation sucking away our rights, our myopic foreign policies, go-it-yourself tactics as a nation, etc... But, you know what? My actual life is unchanged. No one I knew died in the terrorist attacks. The lesser freedoms haven't had an inkling of impact on what I do. I don't feel any more safe (the security changes are pointless). I don't feel any less safe either, though. I don't even feel more patriotic. It's just the same. Maybe I'm lucky?
BRB, John Ashcroft is at my door with a one-way ticket to Camp X-Ray...
You just have 72oz of ice in the thing leaving you with the same, paltry 80z we started with decades ago.
I did look into Echidna some time ago. It looks as though development has stopped on it. A couple of things could be done to improve it because it still ain't easy.
A multi-process JVM should basicallya llow you to run as many Java applications as you want in a single VM, and the ability to kill any particular one. They should be as easy to start as executing a normal Java program (mostly execcutable jars).
One thing I know Echidna lacks that should be in a multi-process JVM is the concept of partitioning some things on a process boundary. System properties are for the system, but a process should be able to have properties as well, to possibly override some system properties, or have some private properties for the process to use without other processes seeing/manipulating them.