Given that disambiguating interaction with humans is likely to require an AI in itself, I wouldn't have thought your idea is workable.
Also, part (most?) of the appeal of having AI is the ability to produce machines that can adapt quickly to ambiguous situations. Ambiguity is imoprtant.
You see, in JSP the crucial, central aspects of presentation and business logic tend to become increasingly intertwined, because there is Java code implementing business logic intertwingled with your presentation HTML, and vice versa contrariwise.
I'll admit my exposure to JSP is limited, but this isn't a problem I had with it when using it.
You just need to think about your application design before sitting down and coding it.
Separation of presentation and logic is simple to achieve using standard practises and commonly available extensions (such as producing an XML document and formatting it through an XSLT or similar stylesheet) without throwing out the entirity of JSP, which is a useful framework for bringing together information from various sources quickly and easily.
PHP is actually even worse, because, although there are template engines for PHP, they lead to spaghetti objects, where a single aspect is smeared over umpty-booty-teen different class files. Good luck maintaining that when the project grows past 10kloc!
I'll admit I've never written a 10kloc PHP project, but my last one reached 6.5k and doesn't suffer from the problems described. I used the following architecture:
- a standardised framework for modules and methods within the modules allowed core site code to call methods without having to know about the module (e.g. by using user provided input). This was guided by a security framework to ensure that only appropriate methods were called
- methods produced data in a standardised format (an associative array of key -> value or key->{array of arrays in the same format}) which could be easily mapped to either XML or encoded through a template engine
- all presentation information was written in a simple templating environmnent.
Not too complex, and achieved what was needed easily. It would also be relatively easy to expand the system further.
Cheap CD-Rs stored incorrectly (e.g. not in a container that shields them from UV radiation) have a lifespan under a decade. Stored in a metal box in even (cool) temperature conditions and only handled infrequently, this is substantially improved. Using high quality media improves this still more. By making multiple copies and incorporating additional error correction information this could be increased beyond the availability of technology to read it.
At this point the problem merely becomes format-shifting it when that particular problem arises.
Re:QT's licence is BAD!
on
A Taste of Qt 4
·
· Score: 4, Interesting
Don't expect to port to Windows without paying the Trolls.
Why on earth not? If you've only ever agreed to the GPL license on their X11 version, there is absolutely nothing they can do to stop you from porting the library, like these people are doing.
Re:Qt is almost a like a language
on
A Taste of Qt 4
·
· Score: 4, Interesting
You could argue that COM teaches bad practice because you never explicitly deallocate a COM object. You just call unlock() on it.
Perhaps using a garbage collector is bad practice, too. We should probably therefore stay away from any project like Boehm GC that provides garbage collection in C and C++.
Or maybe automatic ways of managing object destruction are useful tools that make programming easier... I wonder which?
I've always believed multi-user workstations are a good idea. Unfortunately, Windows licensing renders it too expensive for real use at the moment (as I understand it, you need Windows + 2 client access licenses for it, which is more expensive than 2 windows licenses). I think MS may work out a deal for it in the near future if it takes off though.
The advantages are:
- You need less total processor power: a twin CPU 2GHz desktop machine ought to be capable of giving 4-8 users (depending on usage patterns) almost indistinguishable performance from a single process each, and substantially better at times.
- You need less memory: program code that multiple users are running can be shared
- You need less hard disk space: only one OS / set of apps installation required. A single 40Gb disk ought to be adequate for 8 average users, and you don't seem to be able to buy smaller disks any more.
So, basically a single GBP 1500 machine ought to be able to cope where previously 8 x GBP 500 machines were necessary. It'll also need less maintenance.
Computer code is protected under copyright, every time you run a program, it is being copied from your hard drive (or other storage medium) into the computer memory. So, you are not allowed to do this (you are not the copyright holder) by default, and by agreeing to the license you are allowed to make the copy (just like the GPL, conceptually).
Generally speaking, running a second copy of the same program on a single computer won't make a second copy of its program code in memory, only of the data that it is using. The pages of memory that contain the code are shared between both instances. As the data is not fixed in advance, it is probably not covered by copyright.
RAY: Everything was fine with our system until the power grid was shut off by dickless here. WALTER PECK They caused an explosion! MAYOR: Is this true? VENKMAN: Yes, it's true. This man has no dick.
Did you ever see the censored version? "Dickless" was replaced by some other less "obscene" insult (I can't quite remember which), and Venkman's line was changed to "This man is some kind of rodent, I don't know which". Which made absolutely no sense whatsoever... I wonder who was on what drug when that scene was re-written.
Unicode (or at least UTF8, the type of unicode which would be most applicable for embedding unicode in e-mail headers) is a direct superset of ASCII. So, as long as you stick to only the ASCII characters, you're fine to use unicode.
If your system is secure, why do you care about script kiddies?
In fact, if your system is _really_ secure, appearing to have lots of services would probably be a benefit to the rest of us, because the script kiddies would waste time trying to break into your system that they would otherwise be spending on somebody elses, which probably wouldn't be as secure as your own.
This is great for linux, were things are logged, but does windows have a loging facility of this kind?
Yes, Windows (NT family) has logging that is about as good as linux's.
My concern would be more along the lines that I suspect a raw socket interface is required to implement this, which AFAIK windows doesn't support, so its going to stay a Unix-only feature for the time being.
Obviously network byte order (big endian) would be most sensible.
Am I the only one who's noticed that these perl implementations all contain a bug which the original QBASIC one didn't - if there's an odd number of characters the last one is ignored, whereas it should really be counted somehow.
Although the QBASIC implementation put it in the least significant byte; I'd be tempted to put it into the most significant byte, effectively padding the end of the string with an extra zero.
Largley because the incremental process tends to catch up with it before the new idea becomes commercialised.
That's what happened to all the funky things we tend to hear about. We don't all have massively parallel computers because Intel etc didn't all get stuck at 4-500MHz as was predicted some time in the mid 90s.
We don't have holographic storage because, quite frankly, it just ain't worth it when magnetic storage can pack hundreds of gigabytes in a device that is, honestly, about as small as you really need it to be.
If there was a demand for these items, even a perceived one, they'd get produced. But there isn't.
Now, a 50% solar cell...?
Re:There's spam, then there's the partner in crime
on
Happy Spamiversary!
·
· Score: 1
An interesting comparison.
However, I think one difference should be pointed out - similar statistics apply in the cases you pointed out to the cases that aren't being considered (e.g. non-telemarketing calls). Whereas, if you look at non-spam e-mails only a tiny proportion are relayed through Windows machines on broadband connections.
Not to say that this implies MS is responsible for the spam problem, I blame it more on the idiotic users who will run any executable program that some jerk sends them in an e-mail.
Ctrl + J and Ctrl + K are almost standardised for verical cursor movement. They're embodied in ASCII as 'LINE FEED' and 'VERTICAL TAB' (Vertical Tab being the only vertical movement supported by ASCII other than line feed, which is clearly 'move down', and form feed is the most appropriate code from the standard for a 'line up' command).
There is no other appropriate, internationally recognised standard that I'm aware of. The only other standards are those used by individual applications, such as the Ctrl+E and Ctrl+X that were introduced by WordStar, or Emacs's Ctrl+P and Ctrl+N (difficult to use due to the space between them on the keyboard).
I believe that the Up and Down keys are not available for technical reasons, so what should they have done? I think they've made the best choice possible.
Tracy Hickman (of Dragonlance fame.) has professed to using a "help you write" tool. Despite using what ammounts to a novel-wizard, [...]
Its not as bad as you make it sound. The software in question is essentially a directed brainstorming application that helps authors make sure their ideas for a novel adequately cover the many different levels that many critics think are essential for a 'good book'. It isn't exactly 'point and drool'...
That's what's great about OS X. If you want to install an app and the installer requires admin rights, it prompts you to enter in your user accounts' regular password.
Strangely enough, Windows 2000 does pretty much the same thing for me. Not that the system doesn't have its flaws - it is surprisingly difficult to start control panel applets as a different user, for example, and installing applications off a network drive doesn't work correctly (because the network drive tends not to be mapped for administrator, only the logged in user), but for 99% of things I want to do it works fine.
How many times have you Windows admins had to support a desktop app or driver for a peripheral that REQUIRES admin or power user rights?
'Power user' rights ought to be turned on by default for all new users. Basically, I don't see why you'd want to restrict most of these for anyone you give a desktop account to (debug programs, lock pages in memory, run processes with higher than average priority, stuff like that).
Admin rights - not many left now. I sometimes use 'cdrdao' on my machine, which is a partially ported piece of unix software, and that seems to require admin rights to be able to open raw access to my CD writer. Which it does without locking the device, so if you open an explorer window in the middle of a write it can screw it up. Process Explorer (from www.sysinternals.com) seems to need admin rights too, but that's quite understandable given what it does (snoop around inside other process's private handles).
Doh! should've previewed. Reposting again....
Yeah, a reader 'bluescreen' basically goes like this:
... err trip to bookstore.
Reader: 'What?'
'Huh.'
This is usually followed by an immediate reboot
Given that disambiguating interaction with humans is likely to require an AI in itself, I wouldn't have thought your idea is workable.
Also, part (most?) of the appeal of having AI is the ability to produce machines that can adapt quickly to ambiguous situations. Ambiguity is imoprtant.
You see, in JSP the crucial, central aspects of presentation and business logic tend to become increasingly intertwined, because there is Java code
implementing business logic intertwingled with your presentation HTML, and vice versa contrariwise.
I'll admit my exposure to JSP is limited, but this isn't a problem I had with it when using it.
You just need to think about your application design before sitting down and coding it.
Separation of presentation and logic is simple to achieve using standard practises and commonly available extensions (such as producing an XML document and formatting it through an XSLT or similar stylesheet) without throwing out the entirity of JSP, which is a useful framework for bringing together information from various sources quickly and easily.
PHP is actually even worse, because, although there are template engines for PHP, they lead to spaghetti objects, where a single aspect is smeared over umpty-booty-teen different class files. Good luck maintaining that when the project grows past 10kloc!
I'll admit I've never written a 10kloc PHP project, but my last one reached 6.5k and doesn't suffer from the problems described. I used the following architecture:
- a standardised framework for modules and methods within the modules allowed core site code to call methods without having to know about the module (e.g. by using user provided input). This was guided by a security framework to ensure that only appropriate methods were called
- methods produced data in a standardised format (an associative array of key -> value or key->{array of arrays in the same format}) which could be easily mapped to either XML or encoded through a template engine
- all presentation information was written in a simple templating environmnent.
Not too complex, and achieved what was needed easily. It would also be relatively easy to expand the system further.
I fail to see the problem.
Cheap CD-Rs stored incorrectly (e.g. not in a container that shields them from UV radiation) have a lifespan under a decade. Stored in a metal box in even (cool) temperature conditions and only handled infrequently, this is substantially improved. Using high quality media improves this still more. By making multiple copies and incorporating additional error correction information this could be increased beyond the availability of technology to read it.
At this point the problem merely becomes format-shifting it when that particular problem arises.
Don't expect to port to Windows without paying the Trolls.
Why on earth not? If you've only ever agreed to the GPL license on their X11 version, there is absolutely nothing they can do to stop you from porting the library, like these people are doing.
You could argue that COM teaches bad practice because you never explicitly deallocate a COM object. You just call unlock() on it.
Perhaps using a garbage collector is bad practice, too. We should probably therefore stay away from any project like Boehm GC that provides garbage collection in C and C++.
Or maybe automatic ways of managing object destruction are useful tools that make programming easier... I wonder which?
"cnn.netscape.cnn.com/ns/" ...! How many times do they need to get each organisation's name in there?
there are other times when I really don't want, say, Sisters of Mercy to be followed directly by Tom Lehrer
Despite the contents of my usual playlist this has yet to happen to me. I'll look forward to the experience.
I've always believed multi-user workstations are a good idea. Unfortunately, Windows licensing renders it too expensive for real use at the moment (as I understand it, you need Windows + 2 client access licenses for it, which is more expensive than 2 windows licenses). I think MS may work out a deal for it in the near future if it takes off though.
The advantages are:
- You need less total processor power: a twin CPU 2GHz desktop machine ought to be capable of giving 4-8 users (depending on usage patterns) almost indistinguishable performance from a single process each, and substantially better at times.
- You need less memory: program code that multiple users are running can be shared
- You need less hard disk space: only one OS / set of apps installation required. A single 40Gb disk ought to be adequate for 8 average users, and you don't seem to be able to buy smaller disks any more.
So, basically a single GBP 1500 machine ought to be able to cope where previously 8 x GBP 500 machines were necessary. It'll also need less maintenance.
Computer code is protected under copyright, every time you run a program, it is being copied from your hard drive (or other storage medium) into the computer memory. So, you are not allowed to do this (you are not the copyright holder) by default, and by agreeing to the license you are allowed to make the copy (just like the GPL, conceptually).
Generally speaking, running a second copy of the same program on a single computer won't make a second copy of its program code in memory, only of the data that it is using. The pages of memory that contain the code are shared between both instances. As the data is not fixed in advance, it is probably not covered by copyright.
RAY: Everything was fine with our system until the power grid was shut off by dickless here.
WALTER PECK They caused an explosion!
MAYOR: Is this true?
VENKMAN: Yes, it's true. This man has no dick.
Did you ever see the censored version? "Dickless" was replaced by some other less "obscene" insult (I can't quite remember which), and Venkman's line was changed to "This man is some kind of rodent, I don't know which". Which made absolutely no sense whatsoever... I wonder who was on what drug when that scene was re-written.
Unicode (or at least UTF8, the type of unicode which would be most applicable for embedding unicode in e-mail headers) is a direct superset of ASCII. So, as long as you stick to only the ASCII characters, you're fine to use unicode.
I tend to find all the porn spam in a block at the end of my mailbox because its been sent with a date somewhere about 3 weeks in the future...
Damnit! I just used my last mod point and spot the funniest post from the last week labelled as 'informative'! :)
If your system is secure, why do you care about script kiddies?
In fact, if your system is _really_ secure, appearing to have lots of services would probably be a benefit to the rest of us, because the script kiddies would waste time trying to break into your system that they would otherwise be spending on somebody elses, which probably wouldn't be as secure as your own.
This is great for linux, were things are logged, but does windows have a loging facility of this kind?
Yes, Windows (NT family) has logging that is about as good as linux's.
My concern would be more along the lines that I suspect a raw socket interface is required to implement this, which AFAIK windows doesn't support, so its going to stay a Unix-only feature for the time being.
Obviously network byte order (big endian) would be most sensible.
Am I the only one who's noticed that these perl implementations all contain a bug which the original QBASIC one didn't - if there's an odd number of characters the last one is ignored, whereas it should really be counted somehow.
Although the QBASIC implementation put it in the least significant byte; I'd be tempted to put it into the most significant byte, effectively padding the end of the string with an extra zero.
Largley because the incremental process tends to catch up with it before the new idea becomes commercialised.
That's what happened to all the funky things we tend to hear about. We don't all have massively parallel computers because Intel etc didn't all get stuck at 4-500MHz as was predicted some time in the mid 90s.
We don't have holographic storage because, quite frankly, it just ain't worth it when magnetic storage can pack hundreds of gigabytes in a device that is, honestly, about as small as you really need it to be.
If there was a demand for these items, even a perceived one, they'd get produced. But there isn't.
Now, a 50% solar cell...?
An interesting comparison.
However, I think one difference should be pointed out - similar statistics apply in the cases you pointed out to the cases that aren't being considered (e.g. non-telemarketing calls). Whereas, if you look at non-spam e-mails only a tiny proportion are relayed through Windows machines on broadband connections.
Not to say that this implies MS is responsible for the spam problem, I blame it more on the idiotic users who will run any executable program that some jerk sends them in an e-mail.
Ctrl + J and Ctrl + K are almost standardised for verical cursor movement. They're embodied in ASCII as 'LINE FEED' and 'VERTICAL TAB' (Vertical Tab being the only vertical movement supported by ASCII other than line feed, which is clearly 'move down', and form feed is the most appropriate code from the standard for a 'line up' command).
There is no other appropriate, internationally recognised standard that I'm aware of. The only other standards are those used by individual applications, such as the Ctrl+E and Ctrl+X that were introduced by WordStar, or Emacs's Ctrl+P and Ctrl+N (difficult to use due to the space between them on the keyboard).
I believe that the Up and Down keys are not available for technical reasons, so what should they have done? I think they've made the best choice possible.
For a little anti-slashdot-effect help, I've stuck this in my gnutella shared folder.
Gnutella & G2 users Click here; ED2K users here.
But if it this approach catches on significantly, the more sophisticated spammers will just build their URLs in scripts.
And the rest of us will just block all e-mail that contains scripts. Yeah, I can't wait for that to happen...
Tracy Hickman (of Dragonlance fame.) has professed to using a "help you write" tool. Despite using what ammounts to a novel-wizard, [...]
Its not as bad as you make it sound. The software in question is essentially a directed brainstorming application that helps authors make sure their ideas for a novel adequately cover the many different levels that many critics think are essential for a 'good book'. It isn't exactly 'point and drool'...
That's what's great about OS X. If you want to install an app and the installer requires admin rights, it prompts you to enter in your user accounts' regular password.
Strangely enough, Windows 2000 does pretty much the same thing for me. Not that the system doesn't have its flaws - it is surprisingly difficult to start control panel applets as a different user, for example, and installing applications off a network drive doesn't work correctly (because the network drive tends not to be mapped for administrator, only the logged in user), but for 99% of things I want to do it works fine.
How many times have you Windows admins had to support a desktop app or driver for a peripheral that REQUIRES admin or power user rights?
'Power user' rights ought to be turned on by default for all new users. Basically, I don't see why you'd want to restrict most of these for anyone you give a desktop account to (debug programs, lock pages in memory, run processes with higher than average priority, stuff like that).
Admin rights - not many left now. I sometimes use 'cdrdao' on my machine, which is a partially ported piece of unix software, and that seems to require admin rights to be able to open raw access to my CD writer. Which it does without locking the device, so if you open an explorer window in the middle of a write it can screw it up. Process Explorer (from www.sysinternals.com) seems to need admin rights too, but that's quite understandable given what it does (snoop around inside other process's private handles).