..the Three Laws of Robotics:
A robot may not injure a human being, or, through inaction, allow a human being to come to harm.
A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
I realize that it's a sci-fi reference, but just for discussion purposes, I can't imagine how these laws would be implemented. Not that I'm well read in current AI, but I haven't heard of any advancements that allow a machine to be truely self aware and perceptive enough to understand high level concepts like humans being harmed or existence.
Hell I'd be happy if robots scrapped these laws and simply learned how to do my dishes, clean up around the house, or even just filter out my spam.
I know that some of you would balk at the thought of this, but would insurance be a possible solution? Customers could pay some fee (depending on certain factors...there are rating engines for doing just this) and could make claims for DOS, spam, and other abuse. Are there companies out there that can insure this sort of thing?
Actually, states would do well to partner with banks to put the lottery in bank ATM machines. When you go to withdraw cash, you have the option to buy so many lottery tickets, using funds from your account. If you lose, too bad. But if you win, instant payout.
I don't know much about the lottery-ticket buying demographic, but I'd bet that the target audience isn't of the ATM-card carrying, bank-account-in-good-standing type. No offense to those of you out there who do actually buy lottery tickets. I just don't think that there would be a significant increase in lottery players if ATMs dispensed tickets/winnings.
I never used it when I was there, but I assumed that the benefit of Andrew Linux was that it came with everything needed to be "on Andrew". I never really saw the point really, since it was dead simple to just open up an xterm off one of the andrew servers to do any work.
Further, I don't see how a single class of substances can be linked to brain development.
That wasn't his point. And it would be ridiculous to claim that the ingestion of any chemical could boost an individual's cognitive capabilities (no, not even coffee, although it might feel that way).
What the poster was suggesting was that psychedelics could have induced creative awakening among individuals. This isn't an uncommon effect of magic mushrooms, although I would argue that this effect occurs with people who are creative to begin with. Some people just take them and say they see pretty lights.
There is significant evidence that mushrooms were the first intoxicants used by humans, and there are definitely shamanistic traditions associated with the controlled use of mushrooms. Now I'm not an expert in this sort of thing but I do find the topic interesting.
Basically I think the poster meant that a few dudes took 'shrooms, got some pretty radical ideas (90% of which are complete BS, but whatever...interesting for conversation's sake) and decided to tell other people about what they thought.
I've never heard of any American college or university offering such a course, and no one I've interviewed ever had such a course. That's not to say that it's not offered somewhere, but it just doesn't seem all that common. And that's a real shame.
Check out Carnegie Mellon's CS program, as well as their Software Engineering dept. There are a few courses offered to undergrads which pace students through the full blown software development process. The Software Engineering masters courses are even more rigourous. And this was a few years ago.
That said, I would hope that students obtain this sort of experience through jobs/internships.
Example [rhythm.cx]. Try viewing that page in Mozilla or IE, and then in Lynx. Works fine in all those browsers. And it is always exactly the same HTML & CSS.
I perked up for a second when I saw someone post evidence. I'll have to say that I was quite dissapointed. The page you sent out is adequate, but let's be honest, the requirements for the page isn't exhausting.
If you're writing solid HTML, then no, you should never need to write different versions of the same page for compliant browsers.
If you have more advanced layout/navigation requirements, it can be extremely hard to simply write "solid html" and be done with it. Hence branching HTML layouts based on User-Agent.
Re:Outside of radio markets (Score:1)
by sdcharle (631718) on Mon Jan 20, '03 11:30 AM (#5119477)
When "XM kills off" (as you say) Howard Stern completely in the morning drive, I'll personally be happy to drop a 50 pound brick onto my genitals. Why? Cause I'm 100% sure that'll never happen.
It's an interesting paradox you present. If Howard Stern goes off the air, he won't be able to have you on the show to drop a 50 lb brick on your genitals.
Wrong show...in fact wrong medium. That's what Jackass is for.
If companies like IBM have their way with autonomic computing and self-healing systems (http://www-1.ibm.com/servers/autonomic/)then you may find tech support to be a once-in-blue-moon kinda thing.
Don't get me wrong though. I read the Autonomic Computing white paper a while ago and it sounds like a solid idea. I just get a little skeptical when I hear silver bullet statements like that. I don't work in tech support nor do I even doing any sort of system administration (besides my own dev environment) so I don't have a job security bias. But getting autonomic computing to the point where it works will take time (years, decades?) and in the meantime businesses don't need all their employees taking time to complete understand how to maintain their computers. Even after we have solid advancements in autonomic computing we still have plenty of other problems, namely figuring out ways to make computers useful (and not just a pain in the ass) from a business and functional point of fiew.
Java, technically,has had the capibility to serve as the runtime for many different languages since its inception. There are compilers for several different languages that all compile to "Java the Platform" and run just fine on it.
This is actually a very common assignment for college CS classes (Programming Languages or some theory class). Basically kids come up with a new language spec and writing a compiler that compiles to JVM bytecode. Pretty cool way to learn all that stuff.
Of course I have no idea what's going on in college courses now. Hopefully something harder.
...and the power of the Iridigm PR department derives from the ingestion of some of Mother Nature's most bodacious plants...
Actually, although it may sound like BS, it seems like the R&D team is the one that may have ingested bodacious plants. Whatever works to spark creativity, technical or otherwise.
hahaha....i remember lerchey. he busted me for mp3 distribution and pulled my network connection. he definitely didn't take any bullshit from me when I tried to justify my actions.
no network for 2 months (rest of sem.) sucked, but it wasn't too hard to find a workaround.
hah...lerchey.
I don't know what slashdot you're thinking about, but I'm reading the version where no one reads the article.
Hell he mentioned X and Y in his post somewhere, so it MUST be insightful. I didn't even bother reading his whole post, I'm too busy playing flash adventure to care.
After reading this page on complexity of games and puzzles, it almost seems like all the games that have stood the test of time have a very NP-complete aspect to it. I guess this is pretty obvious, since it's intuitively easy to observe that easy games get boring after awhile.
I'm curious whether people hundreds of years from now will still be playing Tetris (I would bet that they will be). I've been playing Tetris on the game boy for over 10 years now and it's still fun.
Interestingly enough, the paper also notes that Minesweeper is NP-hard...
Related work: other games and puzzles. A number of other popular one-player com-
puter games have been shown to be NP-hard, most notably Minesweeper, or more precisely,
the Minesweeper \consistency" problem [6]. See the survey of the first author [3] for a summary of
other games and puzzles that have been studied from the perspective of computational complexity.
These results form the emerging area of algorithmic combinatorial game theory, in which many new
results have been established in the past few years.
... because object recognition is hard for computers? Tetris is all about putting things where they fit, not some grand master strategy. And us biological constructs have an advantage, where we can more or less decide on the fly if X piece will fit decently enough in Y hole without having to go through a bajillion IF-THEN logic loops.
How is this modded up as insightful??? Object recognition has nothing to do with this being hard. Read what it says on the bottom of page 2:
Our results. We introduce the natural full-information (offline) version of Tetris: we have a
deterministic, finite piece sequence, and the player knows the identity and order of all pieces that
will be presented. We study the offine version because its hardness captures much of
the difficulty of playing Tetris; intuitively, it is only easier to play Tetris with complete knowledge
of the future, so the difficulty of playing the offine version suggests the diffculty of playing the
online version. It also naturally generalizes the one-piece lookahead of implemented versions of
Tetris.
The Fujitsu P2000 [fujitsupc.com] has one major advantage over Sony's PCG-U1.
I happen to own the Fujitsu P2010. It's a decent machine, does exactly what I want, and is a great size (I carry it around in protective sleeve inside my bookbag -- none of those ugly targus bags for me).
But...the TM5800 (867 mhz) Crusoe processor leaves a bit to be desired in terms of performance. My friend's ThinkPad 600X (P3-600 I believe) blows away the Fujitsu P2010. XP Home seems especially sluggish. Upgrading the RAM to 256MB helps. Also, the battery is a little skimpy. I get about an hour and a half. Sometimes this can bump up to 2 hours if I'm not doing anything crazy.
Now that said, I still feel pretty happy about my purchase, since I pretty much just use the machine for sitting around with 802.11b at cafes or at home. I pretty much just browse the web, check email, write up documents, read PDFs, and burn CDs on the go with the built in DVD/CDRW. There is enough battery in the standard model to play back a whole DVD (good for plane rides).
The machine is pretty much my leisure/play machine, and I carry it around wherever I go.
For those that are thinking of purchasing the P2010, just know that you're going to sacrificing performance for convenience and form factor. I highly recommend a) maxing out the RAM b) buy the high performance battery.
The Model-View-Controller design pattern mentioned is a good start, although I'm not sure how well it scales to larger, more complex programs.
What do you define as a large, complex program? A lot of enterprise software work done for F500 companies are built as web applications (Struts-esque) using the MVC pattern. These applications scale to 10,000 users (and more) and obviously run on some serious hardware setups. Most of the applications aren't that sexy...they really just streamline business processes and help (hopefully, but the cynic in me says doubtfully) save money.
Anyway, back to the original question by the OP, there really is a dearth of information on the areas between architectural level patterns(MVC, blah blah blah) and the high level interaction-design/usability/experience world. I've found that in the software industry most of the nuts and bolts tend to be one-offs and specialized solutions, sort of whatever-it-takes-to-build-the-bridge. There are definitely existing toolkits, but when in comes down to it there's a buttload of unrefined work that needs to be done. Of course this is the case in any part of a significantly complex application.
In my experience I've built some pretty nifty ways of building UIs and in some cases I've abstracted out a lot of the nitty-gritty. The interesting part, though, is that most of the clever stuff I came up with was already pretty much expressed in existing design patterns (GOF) or done the same way decades ago, just with different paradigms (web vs. mainframe, which addmitedly aren't too different). I guess my point is that these problems have been repetitively solved over time, but so little of it has been truely formalized in the same manner that other aspects of computer science and software engineering have.
But honestly speaking user interfaces have really taken 2nd (or 3rd, or 4th, or -gasp- Nth) place to other topics in the ivory tower of computer science. Most kids coming out of CS undergrad programs are more excited about things like optimization, scalability, or building complex software like OSes and databases. After all, these are the hardcore, tried and true, well formalized product hallmarks of computer science.
To get back on topic again, the OP mentioned being reluctant to wade through the source of KWord. It's a tedious activity, but studying how existing or even historical applications were designed can be highly beneficial. As I said above I've invented a new wheel quite a few times only to find out that it only mirrored a previously built solution.
Just to piggy-back on the parent...
Whenever you are visually representing data, and providing a means by which to manipulate the representation, consistency is paramount. If you have three object types: A, B, C that are represented in the same visual space, an action on A should have an equivalent effect if taken on B or C.
Jef Raskin (who wrote the Humane Interface) referred to this as using "modes". He strongly recommends that modes should be *avoided*. A lot of software developers build UIs that *wrongly* expose the internal representations of the data used by the application.
In the Vegas Video example obviously sound and video are quite different types of data. To users, however, both are just media that they want to string together in some dramatic order. Users don't want to worry about whether they're in Audio Mode or Video Mode.
I saw a few posts above that mentioned Raskin's The Humane Interface, and I strongly recommend the book. Some of the book can get a bit dry (particularly the usability testing methodology) but the higher level conceps are very sound.
A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
I realize that it's a sci-fi reference, but just for discussion purposes, I can't imagine how these laws would be implemented. Not that I'm well read in current AI, but I haven't heard of any advancements that allow a machine to be truely self aware and perceptive enough to understand high level concepts like humans being harmed or existence.
Hell I'd be happy if robots scrapped these laws and simply learned how to do my dishes, clean up around the house, or even just filter out my spam.
Nice sig. Haven't heard that track in a while.
I know that some of you would balk at the thought of this, but would insurance be a possible solution? Customers could pay some fee (depending on certain factors...there are rating engines for doing just this) and could make claims for DOS, spam, and other abuse. Are there companies out there that can insure this sort of thing?
I don't know much about the lottery-ticket buying demographic, but I'd bet that the target audience isn't of the ATM-card carrying, bank-account-in-good-standing type. No offense to those of you out there who do actually buy lottery tickets. I just don't think that there would be a significant increase in lottery players if ATMs dispensed tickets/winnings.
I never used it when I was there, but I assumed that the benefit of Andrew Linux was that it came with everything needed to be "on Andrew". I never really saw the point really, since it was dead simple to just open up an xterm off one of the andrew servers to do any work.
That wasn't his point. And it would be ridiculous to claim that the ingestion of any chemical could boost an individual's cognitive capabilities (no, not even coffee, although it might feel that way).
What the poster was suggesting was that psychedelics could have induced creative awakening among individuals. This isn't an uncommon effect of magic mushrooms, although I would argue that this effect occurs with people who are creative to begin with. Some people just take them and say they see pretty lights.
There is significant evidence that mushrooms were the first intoxicants used by humans, and there are definitely shamanistic traditions associated with the controlled use of mushrooms. Now I'm not an expert in this sort of thing but I do find the topic interesting.
Basically I think the poster meant that a few dudes took 'shrooms, got some pretty radical ideas (90% of which are complete BS, but whatever...interesting for conversation's sake) and decided to tell other people about what they thought.
Check out Carnegie Mellon's CS program, as well as their Software Engineering dept. There are a few courses offered to undergrads which pace students through the full blown software development process. The Software Engineering masters courses are even more rigourous. And this was a few years ago.
That said, I would hope that students obtain this sort of experience through jobs/internships.
I perked up for a second when I saw someone post evidence. I'll have to say that I was quite dissapointed. The page you sent out is adequate, but let's be honest, the requirements for the page isn't exhausting.
If you're writing solid HTML, then no, you should never need to write different versions of the same page for compliant browsers.
If you have more advanced layout/navigation requirements, it can be extremely hard to simply write "solid html" and be done with it. Hence branching HTML layouts based on User-Agent.
Wrong show...in fact wrong medium. That's what Jackass is for.
If companies like IBM have their way with autonomic computing and self-healing systems (http://www-1.ibm.com/servers/autonomic/)then you may find tech support to be a once-in-blue-moon kinda thing.
Don't get me wrong though. I read the Autonomic Computing white paper a while ago and it sounds like a solid idea. I just get a little skeptical when I hear silver bullet statements like that. I don't work in tech support nor do I even doing any sort of system administration (besides my own dev environment) so I don't have a job security bias. But getting autonomic computing to the point where it works will take time (years, decades?) and in the meantime businesses don't need all their employees taking time to complete understand how to maintain their computers. Even after we have solid advancements in autonomic computing we still have plenty of other problems, namely figuring out ways to make computers useful (and not just a pain in the ass) from a business and functional point of fiew.
This is actually a very common assignment for college CS classes (Programming Languages or some theory class). Basically kids come up with a new language spec and writing a compiler that compiles to JVM bytecode. Pretty cool way to learn all that stuff.
Of course I have no idea what's going on in college courses now. Hopefully something harder.
Actually, although it may sound like BS, it seems like the R&D team is the one that may have ingested bodacious plants. Whatever works to spark creativity, technical or otherwise.
schizophrenia is _not_ multiple personality disorder. schizophrenia is a reality-distortion.
And neither multiple personality disorder nor schizophrenia have much to do with the left and right hemispheres of the brain.
hahaha....i remember lerchey. he busted me for mp3 distribution and pulled my network connection. he definitely didn't take any bullshit from me when I tried to justify my actions. no network for 2 months (rest of sem.) sucked, but it wasn't too hard to find a workaround. hah...lerchey.
now this is funny.
Someone mod this guy up for Realistic :)
I'm curious whether people hundreds of years from now will still be playing Tetris (I would bet that they will be). I've been playing Tetris on the game boy for over 10 years now and it's still fun.
How is this modded up as insightful??? Object recognition has nothing to do with this being hard. Read what it says on the bottom of page 2:
Noisy computer? I just turn my speakers off.
I happen to own the Fujitsu P2010. It's a decent machine, does exactly what I want, and is a great size (I carry it around in protective sleeve inside my bookbag -- none of those ugly targus bags for me).
But...the TM5800 (867 mhz) Crusoe processor leaves a bit to be desired in terms of performance. My friend's ThinkPad 600X (P3-600 I believe) blows away the Fujitsu P2010. XP Home seems especially sluggish. Upgrading the RAM to 256MB helps. Also, the battery is a little skimpy. I get about an hour and a half. Sometimes this can bump up to 2 hours if I'm not doing anything crazy.
Now that said, I still feel pretty happy about my purchase, since I pretty much just use the machine for sitting around with 802.11b at cafes or at home. I pretty much just browse the web, check email, write up documents, read PDFs, and burn CDs on the go with the built in DVD/CDRW. There is enough battery in the standard model to play back a whole DVD (good for plane rides). The machine is pretty much my leisure/play machine, and I carry it around wherever I go.
For those that are thinking of purchasing the P2010, just know that you're going to sacrificing performance for convenience and form factor. I highly recommend a) maxing out the RAM b) buy the high performance battery.
What do you define as a large, complex program? A lot of enterprise software work done for F500 companies are built as web applications (Struts-esque) using the MVC pattern. These applications scale to 10,000 users (and more) and obviously run on some serious hardware setups. Most of the applications aren't that sexy...they really just streamline business processes and help (hopefully, but the cynic in me says doubtfully) save money.
Anyway, back to the original question by the OP, there really is a dearth of information on the areas between architectural level patterns(MVC, blah blah blah) and the high level interaction-design/usability/experience world. I've found that in the software industry most of the nuts and bolts tend to be one-offs and specialized solutions, sort of whatever-it-takes-to-build-the-bridge. There are definitely existing toolkits, but when in comes down to it there's a buttload of unrefined work that needs to be done. Of course this is the case in any part of a significantly complex application.
In my experience I've built some pretty nifty ways of building UIs and in some cases I've abstracted out a lot of the nitty-gritty. The interesting part, though, is that most of the clever stuff I came up with was already pretty much expressed in existing design patterns (GOF) or done the same way decades ago, just with different paradigms (web vs. mainframe, which addmitedly aren't too different). I guess my point is that these problems have been repetitively solved over time, but so little of it has been truely formalized in the same manner that other aspects of computer science and software engineering have.
But honestly speaking user interfaces have really taken 2nd (or 3rd, or 4th, or -gasp- Nth) place to other topics in the ivory tower of computer science. Most kids coming out of CS undergrad programs are more excited about things like optimization, scalability, or building complex software like OSes and databases. After all, these are the hardcore, tried and true, well formalized product hallmarks of computer science.
To get back on topic again, the OP mentioned being reluctant to wade through the source of KWord. It's a tedious activity, but studying how existing or even historical applications were designed can be highly beneficial. As I said above I've invented a new wheel quite a few times only to find out that it only mirrored a previously built solution.
Jef Raskin (who wrote the Humane Interface) referred to this as using "modes". He strongly recommends that modes should be *avoided*. A lot of software developers build UIs that *wrongly* expose the internal representations of the data used by the application.
In the Vegas Video example obviously sound and video are quite different types of data. To users, however, both are just media that they want to string together in some dramatic order. Users don't want to worry about whether they're in Audio Mode or Video Mode.
I saw a few posts above that mentioned Raskin's The Humane Interface, and I strongly recommend the book. Some of the book can get a bit dry (particularly the usability testing methodology) but the higher level conceps are very sound.
The best years of my life are here, and are still to come.
Well said. Thank you.