Windows outperforms Linux in user-friendliness... Deny it all you want, but you know it is true.
Perhaps so, but to me, the term "user-friendly"
has been mutilated to mean "usable by people who
don't know computers". The term "user-friendly"
really should mean "easy to use by people of all
skill levels".
Windows may be more "user-friendly" in the
sense that it lets newbies get things done easily.
This is a good thing, but one peeve I have
against Windows is that its so-called "user-friendliness" gets in the way of people who
know what they're doing. If you know how to write
shell scripts, a complex task can be done in a
minute or two. But in Windows, you've to pray that
the UI designers have thought of the possibility
that you actually want to do such a
task. Otherwise, you'll be doing it manually,
navigating around all kinds of multi-level menus
just to do one thing.
This isn't exactly the
most efficient way to specify the equivalent of a
shell script.
Now, I'm not saying that we should
forget the newbies and force shell-scripting down
the throats of all computer users. I'm saying that
UI's that are boasted to be "user-friendly" are
friendly only to newbies, but are actually
unfriendly to experienced users because
it gets in the way of what they want to do.
A real "user-friendly" UI should be
one that is conducive to both beginners
and advanced users. I know that it's probably
not possible for one UI to integrate
both of these aspects; but at least the user
should be given the choice. Linux GUI's may not
be as good as Windows yet, but Linux at least gives the
user the choice of what interface is most efficient for him/her. Windows shoves a GUI down
your throat. Guess which one wins when Linux GUI's
catch up to Windows.
Right on! You nailed the point precisely. What the RIAA is fighting for is not just for money, but for control. Because, ultimately, control will churn out more money, and easy money at that. And the way they're going to achieve that is to tell you what is good and tell you that they are the ones who sell the good stuff.
Why do they carry certain artists and not others? Because the ones they chose have potential of making money. They don't care nuts about whether the artist is good or not; all they care about is that they can be used to generate $$$. Unfortunately, money-making potential often does not equal talent. Quite honestly, the most-promoted music often is just crappy.
And I agree with you totally about writing music -- I write music too, and I don't do it 'cos I want to make money. I have a degree in something totally unrelated to music, and I can make a much better living than a musician. But I still write music, because I like it. But because I'm not interested in the money, and I'm not motivated because of the money, I probably will never get published by the major music publishers. And this is precisely the problem. There may be hundreds of talented artists out there whose music is much better than the "mainstream" stuff (and frankly, the so-called "mainstream" stuff is garbage in terms of musical content), but they will be despised by the music industry because they write music for the sake of music, and not for the money. And their works may never see daylight, and never appreciated.
All because the music industry claims that it's separating the chaff from the wheat, but in fact what they're doing is separating the money from the talent.
This may be totally off the wall, but an idea just occurred to me...
The central reason why you can't hide your IP after establishing a connection is because the connection is directly from your machine to the other person's machine. The idea is this: why not drop the requirement of a direct connection? You can route your connection through another machine...
And who says this has to resemble anything like Napster's centralized topology? Any arbitrary client machine can act as a "router". In fact, you can even be simultaneously a "router" and serving files through another "router" to mask your identity. And this doesn't have to be just one level deep; you can have several "router" machines between you and the client. And you don't have to worry whether one of the "routers" in the chain will break; since the whole protocol is distributed anyway, I'm sure it's possible to come up with a self-correcting protocol that will allow alternative routes easily.
One way to implement this is for the protocol not to publish IP's of where files are, but just say, "123.123.123.123 is a machine that knows where file XXXX resides", so if you're looking for file XXXX, you connect to 123.123.123.123, which doesn't have the file but knows where it can get the file from (which, itself, may be another router).
I know network people will scream "INEFFICIENT!" but it's just the turn-around time that's slowed down. Once the file transfer begins, it's basically a pipeline between the source host and the destination client, so the throughput will still be reasonably fast. And since any participating machine can act as a "router", there won't be a problem of router congestion.
What do you network experts out there think of this idea?:-) ---
Of course. It should not be surprising at all to Slashdot that Napster is "two-faced". All corporations are out to make money. All other agendas are secondary. Take away money, and every single company on this planet will be dispersed. But take away one or two of the company's avowed objectives, and it probably will still remain, as long as they still have a way to make money. You may call that two-faced, or whatever. But that's the way capitalism works. ---
In today's age, understanding how the machine actually works is wayyyy underrated. People don't care about it anymore because they now grow up with smart compilers---or worse, they grow up buying the lie that just knowing how to use applications is "good enough" (umm, what if that app becomes obsolete, God forbid?!), and teachers de-emphasize it because it's not the "industry trend".
*I* say, screw the "industry trend". You need to understand how the thing actually works. I haven't researched this, but I'm willing to bet that people who don't know how the machine works write poorer quality code than those who do. I'm not talking about obsessive "optimized" coders who tweak the last ++ operator in C and abuse #define's to get a "100%" efficient program (only to get totally screwed over by the optimizing compiler that gets totally confused by the weird code and spits out poor executables). I'm talking about people who've had solid experience in assembly language programming. They are the ones who understand what exactly goes on in optimizing compilers, and how to take advantage of them. (John Carmack, anyone?)
People think that assembly language programmers will become extinct. Everybody around me says so. But they don't realize how much understanding you can gain just by learning how to look at a hex dump, and with a good reference on your processor's assembly language, locate where a piece of code might be, and then figuring out how to patch it to do what you want. Figuring out how to locate a piece of code in a large binary executable, possibly with no information on what is code or what is data, this in itself will be such a valuable learning that you won't ever regret spending the time and effort. You may not actually use this in your career, but who knows, the kind of logic that you need to apply to this kind of problem may well earn you a good income. And then of course, after locating the piece of code you're interested in, constructing the patch to it -- which must take into account many constraints like size, which often severely limits what instructions and addressing modes you can use -- and applying the patch... the kind of analytical thinking that you need to accomplish this will be such a help to you that even if you'll never touch assembly language again in your life, you won't regret having learned how to deal with it.
It's not that assembly language programmers are stubborn or trying to hold on to "outdated" methods; rather, it's that young programmers spoilt with modern conveniences and short-cuts are deprived of an experience that may make a huge difference to their abilities, even if their area of expertise will be programming in a high-level language.
I only hope humanity doesn't get screwed out of useful tech by corporations traping this in useless IP barriers.
Umm... have you realized that the car you drive every day, the water and electrical supply you use every day, the trains and airplanes and all the other forms of public transportation, and even the computer you use, are built by corporations who "trap" technology in what you call "IP barriers"?? Thanks to these evil, evil, corporations, we actually don't have to scavenge for loose bits of scrap metal from the junkyard in order to built an "open-source" car, an "open-source" aircraft, an "open-source" electrical supply!! Surely those corporations are Satan himself!
Man, talk about Slashdot dogma. I'm sure happy Linux isn't invented by a frog-in-the-well like you, otherwise today we'll still be suffering under the tyranny of crappy M$ junkware. It's rabid, brain-washed zealots like this that make Open Source so repulsive to businesses who could make major contributions, that make people think Open Source supporters are just a bunch of disgruntled college students. That make employers cringe when their IT staff suggests to switch to Linux or BSD. That make newbies want to stay with Windows 'cos they're constantly despised by so-called "Linux experts" who think they're so darn smart even though they don't even know what Open Source is really about.
How many on the "Open Source bandwagon" are the shouters and cheerers, and how many actually know what it's about?! If you want to advocate your anti-corporation garbage, please at least don't call it "Open Source".
(Yeah, mod me down. Thanks for reinforcing blind Slashdot dogma. I have enough karma to burn. I just hope somebody reads this and wakes up, before it disappears into the recesses of Troll -1.)
What *I* want to know, is whether the guy at MacJunkie ate his hat/shorts/whatever it was that he said he would eat should the G4 Cube photos turn out to be real.
On a related note, I think sometimes slashdotters behave like that too... spout off about something they *think* they know, and totally make a fool of themselves. But I digress.
(Obligatory note to moderators: this is NOT flamebait. I really want to know what happened to the MacJunkie guy after this embarrassment...)
IMHO, this isn't about MS being incompetent of implementing something like that properly. This is about a passive interface vs. an active interface.
Who is supposed to be in control here? the computer or the user? Surely the user. Now of course, it can be argued that this attention-sensitive UI is only receiving orders from the user, just that instead of detecting mouse-clicks, it's detecting eye-glances. But there is a vast difference between consciously clicking the mouse, and unconsciously glancing at something that caught your attention on the screen. When you click a mouse button or hit a key on the keyboard, it at least goes through your brain first and gives you a chance to consciously decide to do it. But your eyes are often distracted by unexpected events, and often this reaction is sub-conscious.
There is a vast difference between interpreting what a user means by a mouse click and what you think a user means by looking at something. Interfaces should be passive: waiting for explicit orders, and not active: *guessing* what the orders might be from vague signs.
Very good point. One thing that really turns me off about software like MS Word (besides the fact it's MS of course) is that it tries to be smarter than it is. I mean, gimme a break, they seriously think treating their users like dumb people who needs the computer to pamper their needs is equal to "good" user interface?!
I mean, I've nothing against a better UI, or an easier to use UI. But a "UI" that tries to guess what you mean (emphasis on tries) is 80% of the time extremely annoying, and only results in people finding ways to work around it. Gee, thanks. Like I need the stupid "word processor" to totally screw up my formatting so that I have to move my hand to the mouse and search for the stupid option in the pull-down menus to manually tweak margins the 100th time, when the report is due in the next hour. And now they're trying to change things on you based on what the program thinks you're focusing your attention on?!
For sanity's sake, MS, stop trying to have your software treat users like babies until you actually have technology that works. I hate the utter presumption of these so-called "smart" features that try to guess (emphasis on guess) what you're trying to do, get it wrong most of the time, gets in the way of getting work done, and are just plain annoying. Why add another level of frustration to an already frustrating work environment?!
What I mean by the subject line: don't think that ssh in itself guarantees security. Even with ssh (or scp for that matter), there's always a danger of a man-in-the-middle attack (as ssh itself calls it). A compromised machine between you and the host you're connecting to could easily pretend to be that host, sending you a fake ssh key, and forwarding your packets through another connection to the real host. This way, your communications is encrypted, but only to be decrypted at the compromised machine and re-encrypted and forwarded to its real destination.
Of course, this could be prevented if you know the key of the host you're connecting to beforehand. But how many of us actually verify the authenticity of the host's key the first time we connect to that host? And some hosts do change their keys once in a while (perhaps a reboot, an sshd upgrade, etc.) -- although we *could* verify the new key, I doubt in practice most people bother to.
Anyway, my point is, don't ever fall into the trap that human beings are so prone to: equating security with some entity, like unconsciously equating "ssh" with "secure connection". To be truly secure, you have to be careful at every step. Unfortunately, this is often impractical... but at least, be aware of the vulnerable parts of the chain so that at least you know what could bite you (or what bit you, if something happened). Never, ever, fall into the trap of thinking your system is secure.
A system is never 100% secure; so, it's better be aware of its vulnerabilities than to blindly trust it, and then look around bewildered when something bites you.
Oh, BTW, I forgot to mention... when I said GUI in my above post, I don't mean just a clunky, inefficient, half-crippled excuse for a windowing interface, just for the marketing people to talk about. If you scroll down Clean's homepage (link is in my above post), you will see a 2D tiled-game implemented in Concurrent Clean. Although this is still a rather humble start, you've gotta admit that Clean has made what could be major breakthroughs in functional programming.
Check out Concurrent Clean. I ran into this functional language during my senior year in university, and I haven't really kept up with it since, but it has several very interesting features that may help to make functional languages more widely accepted. It addresses the first two points you listed as reasons functional languages aren't popular:
It supports destructive updates (i.e., analogs of the assignment operator in C or C++) and yet still is purely functional. (If you don't see how this can be true, visit Clean's homepage and find out!) What's the big deal about destructive updates? Well, one of the reasons functional languages have been slow is that, in order to preserve mathematical consistency, all data objects must be immutable, and therefore, everytime you perform an operation a new copy of the object must be made. However, Concurrent Clean implements a very clever way of allowing destructive updates in a way that doesn't affect its mathematical correctness. This results in very impressive speedups (I think they claim that many Clean programs are as fast as a C/C++ equivalent, but you've gotta verify that yourself).
Concurrent Clean has a very nice I/O system that, OT1H, fits perfectly in the functional paradigm, and OTOH, isn't contorted into an odd, un-intuitive paradigm that most functional language I/O systems are. When I did my research on Clean years ago, you could basically implement an entire GUI declaratively, in a format that's very easy to read, and very easy to understand, and yet, still totally "purely" functional. I'm sure a lot more has happened to this GUI library since then. I strongly suggest anyone interested to check it out!:-)
Now, I admit I'm biased (mostly due to having done a lot of research on Clean years ago), but Clean looks like one of the promising candidates for widespread adoption by the industry. Or at least, I'd be so bold as to say that the above two mentioned points are things that I'd probably expect a widely-accepted functional language to have.
I absolutely agree. It's not a matter of blocking things from your kid. It's a matter of giving them the proper education and developing a healthy relationship with them. (See my other post on this.)
IMHO there's nothing wrong with Parental Controls software and the like. What is wrong is the parent thinking that it can replace proper upbringing and education. (I.e., trusting the software or system or whatever to block out "bad stuff" instead of educating your kids' sense of judgment.)
There is no replacement for proper, responsible parenting. The problem with these "parental controls" tools is that they are induced by a market of people who don't want to spend the effort to raise their kids properly, and depended on by people who don't understand what proper parenting is.
After all, it's your kid. You are the one who should supervise them and educate them in the proper way. That responsibility is on you not on AOL or any other corporation or person. The proper way to be a parent is to nourish a healthy relationship with your kid -- and that means spending lots of time and effort to educate him/her properly, and to maintain a good relationship. If you're not willing to spend the time or expend the effort, you're an absolute fool to think that so-called Parental Controls software or whatever other garbage they have out there will do your kid any good. And don't be surprised if your kid grows up to despise you. Kids know when you really love and care about them, versus when you're doing it grudgingly just because you know you have to.
Kids aren't Tamagotchi's. Parenting is not merely about changing diapers, stuffing them with food, cuddling them when you feel like it, and sitting them in front of the TV or computer just so you don't have to spend the time/effort to be with them as a person. Parents who think that they can have both the "advantage" of distracting their kid with TV/computer and also "safe-guarding" them with "Parental control" garbage are greatly deceived.
---
Re:Literature, Poetic License, and God
on
Calculating God
·
· Score: 1
Somebody mod the parent post up!
He makes a very good point. I mean, yeah, we all have our own beliefs, our own views, etc., and we can argue till our hairs grow white, and we probably will all walk away from the argument / debate / flamewar either feeling justified in our opinion because we won the debate, or feeling upset because the other side just couldn't "get it"; but it doesn't really matter because our personal convictions are still the same.
What the poster said, IMHO, addresses the real issue: forget about who is right and who is wrong and what is logical or illogical. What do YOU want to do with YOUR life? If you believe in God, are you SURE He is real? If you do not believe in God, are you SURE you won't have to face the consequences? Have you made the effort to be as certain as possible about this, so that even if your conclusions turned out wrong, at least you know you've made the effort?
I think this is more of a personal matter than anything else. Frankly, when I see debates over things like the existence of God, I often pity both parties involved, because they're just competing with each other's intellectual prowess. So what if you win/lose the argument? If somebody is convinced by you, big deal, somebody else with a better argument will convince him the other way. Eventually, the only important thing to consider is, are YOU sure about what YOU chose to follow? Have you taken responsibility about it and made reasonable effort to make sure you're on the right path (i.e., went beyond just basing your conclusions on rumors, opinions, or just strongly argued points)?
I've been thinking... is it really a bad thing to require that a license not disclaim warranties totally? I know it's harsh on free software authors, as they often do not have the means to pay damages or get legal support in the case that trouble arises.
However, OTOH you have these lame software producers who write crappy code and disclaim everything, but they happen to be the sole supporters of something you need. What if they bugged their code and exploited you, but their license terms are sufficiently broad to give them a way to weasel out when you sue them? I can see why people are pushing for laws like this to be passed...
So here's the idea: why not the FSF start a fund of some sort, or something similar, to support free software authors? Or if it's not feasible for the FSF to do this, maybe some other organization. This way, you can have both licenses that people can depend on, that don't disclaim just about everything, and you also don't bog down free software developers who can't afford to support a license with a warranty.
Yeah, all the other popular search engines nowadays seem to be ridden with banner ads, promotions, and all kinds of useless fluff on their pages. Google is nice and simple, doesn't clutter the screen, and in general makes everything easier on the eyes. I think this is part of the attractiveness of Google -- you're not flooded with irrelevant info and pictures, but just the stuff you're looking for.
One thing I have against Google though -- I wish they had an advanced search where you can specify to search for exact phrases, etc., or perhaps even a full boolean search. I don't know how Google works, so I can't tell if these features are left out because of design issues. But, being the "hacker's search engine" and everything, it really should support more advanced searches. If they can find a way to implement this well, it may even become a deciding factor against other search engines. (I hardly know any search engine out there that can handle full boolean search, and certainly Google's speed will be a great advantage.)
In view of the prevalence of chiral natural compounds, chiral sensors and catalysts are of critical importance; however, they are in short supply. We were able to introduce chirality into the TPA scaffold by taking advantage of inherent conformational properties of certain TPA complexes.11,12 The observed amplitudes of some of the circular dichroism spectra of the complexes turn out to be remarkably large.13 To date, we have applied our chiral ligands to the solution of several problems, including the determination of the absolute configuration of -alkyl pyridinemethanamines,14 the development of chiral solvating agents for sulfoxides,11 and the design of a chiroptical sensor for certain metal ions.15 Other applications are presently under investigation.
According to this paragraph, what they did was to introduce chirality into their molecules. I honestly doubt that they were causing a symmetry flip of one molecule (ie. switching between the L and R configurations of the same molecule); I think what was meant was that they had found a way of preferentially creating, say, an L or R configuration from a non-chiral substrate. This process was possibly also reversible, but the L and R compounds obtained through the addition/removal of an ion are probably different molecules, not the same molecule as the news article seems to be saying.
I think one of the significant contributions of this is the applicability to finding the absolute configuration of molecules. If you've taken organic chem in college, you'd know that for a long time, chemists have no idea *which* version of a chiral molecule we're really dealing with, given an organic compound X. We know that X and its enantiomer are mirror images, and we can tell that they are different, but we cannot tell which mirror image X is. It's all based on the assumed configuration (either left or right) of a few basic chiral molecules found several decades ago. From this assumption, we `derive' the assumed configuration of many (all?) the chiral molecules today.
But this research seems to have found a way of determining the absolute configuration -- ie. we can now tell which mirror image X is, with certainty. Of course, currently they only did that for a very limited class of molecules, but this can be developed so that one day, we can know the absolute configuration of all chiral molecules.
*Sigh* It's just sad to see how corporations today cripple technological advancement just for the sake of their bottom-lines...
But Hollywood studio bosses are worried. They see the new system as a pirate's charter, and have been fighting to keep the pristine digital signal out of consumers' hands for fear that people will make broadcast-quality copies.
The technology is already there (ie. the high quality data). But they have to cripple the output in the name of "avoiding piracy"??? What kind of greedy, profit-hogging attitude is this? I am disgusted. If you don't want your consumers to get at the "pristine digital signal" then why put it there in the first place??? Perhaps Hollywood should go back to using VHS for movies. If they want the technology, what's the point of deliberately crippling it? It's like buying a Formula 10 car with all the engine power in there, but with an additional device that restricts the horsepower that can be output, in the name of "driving safety". I mean, why do you sell an engine with that much horsepower if it's never intended to be used anyway?!
This whole thing just stinks of greed and power lust (in terms of controlling what your consumers can do). What use is advanced technology if nobody can use it? (OTOH, of course, they are just asking for trouble by doing this. Surely they'd have learned by now that deliberately crippling something that's already there is a sure incentive for pirates and crackers.)
OK, this is perhaps slightly off-topic... but I'm just curious, what percentage of slashdotters actually find an IDE useful?
Although I've nothing against IDE's, I personally prefer a plain text-editor and the command-line compiler tools. I just wonder who else is like me and dislikes IDE's.:-)
One reason I stay away from IDE's is because it somewhat locks you into a certain interface that you get accustomed to when programming in that language (or environment, whatever). I find it more useful to learn how to use the bare-bones text-editor / CLI interface first, to focus on learning the language itself rather than the IDE's interface. After I learned the language, then I find my learning more easily applied to any development environment -- IDE or otherwise. If I had started out with the IDE, I find myself lost when placed in a situation where only command-line tools are available, and need to spend a lot of time learning the "real thing". It's so much better to learn it the hard way first, then your skills are more marketable/adaptable.
I read about a similar idea from one of the Unix gurus before (I don't remember exactly who it was, unfortunately). Basically, the article talks about how even source code is not a guarantee that you are safe.
Basically, it works from the idea of a self-replicating program, as follows:
Malicious programmer gets the source code for say, GCC. He modifies GCC so that it recognizes when it's compiling a good copy of its own source code, and reproduces itself (a bugged GCC). And of course, the bugged code can also contain whatever virus code for spreading, etc..
Via virus or whatever other means, the programmer installs this bugged GCC into the system.
Unsuspecting user compiles his C program, and the virus spreads to his binary.
After a few incidents, the sysadmin is informed that something is wrong with the compiler.
Sysadmin downloads GCC source code (a good copy, mind you) and re-compiles GCC. But, because the current GCC knows when it sees a copy of itself, it re-inserts the bug into the new GCC. Scary thing is, the new source code does not contain the bug code, because the bug is inserted during compile-time. The sysadmin can proof-read the source code all he wants, but he will never find a trace of the bug. Worse, if the bug also infests objdump, od, and other disassemblers, then the sysadmin may never find out why his machine is spreading virii or behaving strangely even though everything on his system seems to be clean.
Of course, replacing the GCC with a good binary will solve the problem, but the virus could have replaced, say, Apache or FTP, so that any good copy of GCC downloaded will be bugged. And no amount of recompilation from source will do any good, because the bugged compiler will always insert bugged code into any source you compile.
Anyway, my point is, source code does not guarantee safety. About the only thing that can solve the problem (that I can think of) is to nuke the system and re-install from scratch. Of course, suppose the virus bugged a machine on your ISP so that it inserts itself into any fresh system binaries you download... ultimately, you will never be 100% sure unless you physically get a copy of a new system from your vendor. But suppose the vendor has also been bugged...
I know this is a bit stretching it, but still, it involves methods which are very practical to implement. Do not hide in the comfort of "Unix is built for security" or "we are safe because we can audit source code".
OK, I wrote a long rant but deleted it on second thought:-) I just wanted to say a few things:
The article makes the bad mistake of fitting all free software advocates into the stereotype of being blind followers of RMS and ESR. The free software advocate community is much more diverse than he seems to think. Even RMS and ESR don't agree with each other on mamy points.
Free software is not about anti-commercialism. That is a purely RMS concept, and is emphatically NOT the universal outlook of every free software advocate. Free software also isn't about not charging for software products. The point of free software lies with source code availability. The economic/personal/whatever reaons he listed for why people write free software is probably true; but he misses what IMHO is the central issue of free software: free source code. Possessing the source code puts the consumer in the position of power. You can learn from the source code, you can tailor it to your own needs, you can add to it and make your contributions available to the original authors and everyone else. This is, IMHO, the major factor that drives free software advocates. All the other factors he mentions are certainly NOT universally accepted by free software advocates.
Software has nothing to do with gun control. Just because someone supports free software doesn't make them gun fanatics. Who is so and naive as to imitate everything somebody does just because they happen to agree with you on one particular point? If you think that you cannot agree with somebody on one point without agreeing with everything else they say about every other issue, then you are a pathetic blind sheep who deserve what you get.
Perhaps so, but to me, the term "user-friendly" has been mutilated to mean "usable by people who don't know computers". The term "user-friendly" really should mean "easy to use by people of all skill levels".
Windows may be more "user-friendly" in the sense that it lets newbies get things done easily. This is a good thing, but one peeve I have against Windows is that its so-called "user-friendliness" gets in the way of people who know what they're doing. If you know how to write shell scripts, a complex task can be done in a minute or two. But in Windows, you've to pray that the UI designers have thought of the possibility that you actually want to do such a task. Otherwise, you'll be doing it manually, navigating around all kinds of multi-level menus just to do one thing. This isn't exactly the most efficient way to specify the equivalent of a shell script.
Now, I'm not saying that we should forget the newbies and force shell-scripting down the throats of all computer users. I'm saying that UI's that are boasted to be "user-friendly" are friendly only to newbies, but are actually unfriendly to experienced users because it gets in the way of what they want to do.
A real "user-friendly" UI should be one that is conducive to both beginners and advanced users. I know that it's probably not possible for one UI to integrate both of these aspects; but at least the user should be given the choice. Linux GUI's may not be as good as Windows yet, but Linux at least gives the user the choice of what interface is most efficient for him/her. Windows shoves a GUI down your throat. Guess which one wins when Linux GUI's catch up to Windows.
---
Obfuscated code? Hmmm...
"Don't modify spaghetti code unless you can eat the consequences."
Or, rather:
(Shamelessly stolen from somebody's email sig)
---
Right on! You nailed the point precisely. What the RIAA is fighting for is not just for money, but for control. Because, ultimately, control will churn out more money, and easy money at that. And the way they're going to achieve that is to tell you what is good and tell you that they are the ones who sell the good stuff.
Why do they carry certain artists and not others? Because the ones they chose have potential of making money. They don't care nuts about whether the artist is good or not; all they care about is that they can be used to generate $$$. Unfortunately, money-making potential often does not equal talent. Quite honestly, the most-promoted music often is just crappy.
And I agree with you totally about writing music -- I write music too, and I don't do it 'cos I want to make money. I have a degree in something totally unrelated to music, and I can make a much better living than a musician. But I still write music, because I like it. But because I'm not interested in the money, and I'm not motivated because of the money, I probably will never get published by the major music publishers. And this is precisely the problem. There may be hundreds of talented artists out there whose music is much better than the "mainstream" stuff (and frankly, the so-called "mainstream" stuff is garbage in terms of musical content), but they will be despised by the music industry because they write music for the sake of music, and not for the money. And their works may never see daylight, and never appreciated.
All because the music industry claims that it's separating the chaff from the wheat, but in fact what they're doing is separating the money from the talent.
---
This may be totally off the wall, but an idea just occurred to me...
The central reason why you can't hide your IP after establishing a connection is because the connection is directly from your machine to the other person's machine. The idea is this: why not drop the requirement of a direct connection? You can route your connection through another machine...
And who says this has to resemble anything like Napster's centralized topology? Any arbitrary client machine can act as a "router". In fact, you can even be simultaneously a "router" and serving files through another "router" to mask your identity. And this doesn't have to be just one level deep; you can have several "router" machines between you and the client. And you don't have to worry whether one of the "routers" in the chain will break; since the whole protocol is distributed anyway, I'm sure it's possible to come up with a self-correcting protocol that will allow alternative routes easily.
One way to implement this is for the protocol not to publish IP's of where files are, but just say, "123.123.123.123 is a machine that knows where file XXXX resides", so if you're looking for file XXXX, you connect to 123.123.123.123, which doesn't have the file but knows where it can get the file from (which, itself, may be another router).
I know network people will scream "INEFFICIENT!" but it's just the turn-around time that's slowed down. Once the file transfer begins, it's basically a pipeline between the source host and the destination client, so the throughput will still be reasonably fast. And since any participating machine can act as a "router", there won't be a problem of router congestion.
What do you network experts out there think of this idea? :-)
---
Of course. It should not be surprising at all to Slashdot that Napster is "two-faced". All corporations are out to make money. All other agendas are secondary. Take away money, and every single company on this planet will be dispersed. But take away one or two of the company's avowed objectives, and it probably will still remain, as long as they still have a way to make money. You may call that two-faced, or whatever. But that's the way capitalism works.
---
Agreed absolutely!!!!
In today's age, understanding how the machine actually works is wayyyy underrated. People don't care about it anymore because they now grow up with smart compilers---or worse, they grow up buying the lie that just knowing how to use applications is "good enough" (umm, what if that app becomes obsolete, God forbid?!), and teachers de-emphasize it because it's not the "industry trend".
*I* say, screw the "industry trend". You need to understand how the thing actually works. I haven't researched this, but I'm willing to bet that people who don't know how the machine works write poorer quality code than those who do. I'm not talking about obsessive "optimized" coders who tweak the last ++ operator in C and abuse #define's to get a "100%" efficient program (only to get totally screwed over by the optimizing compiler that gets totally confused by the weird code and spits out poor executables). I'm talking about people who've had solid experience in assembly language programming. They are the ones who understand what exactly goes on in optimizing compilers, and how to take advantage of them. (John Carmack, anyone?)
People think that assembly language programmers will become extinct. Everybody around me says so. But they don't realize how much understanding you can gain just by learning how to look at a hex dump, and with a good reference on your processor's assembly language, locate where a piece of code might be, and then figuring out how to patch it to do what you want. Figuring out how to locate a piece of code in a large binary executable, possibly with no information on what is code or what is data, this in itself will be such a valuable learning that you won't ever regret spending the time and effort. You may not actually use this in your career, but who knows, the kind of logic that you need to apply to this kind of problem may well earn you a good income. And then of course, after locating the piece of code you're interested in, constructing the patch to it -- which must take into account many constraints like size, which often severely limits what instructions and addressing modes you can use -- and applying the patch... the kind of analytical thinking that you need to accomplish this will be such a help to you that even if you'll never touch assembly language again in your life, you won't regret having learned how to deal with it.
It's not that assembly language programmers are stubborn or trying to hold on to "outdated" methods; rather, it's that young programmers spoilt with modern conveniences and short-cuts are deprived of an experience that may make a huge difference to their abilities, even if their area of expertise will be programming in a high-level language.
---
Umm... have you realized that the car you drive every day, the water and electrical supply you use every day, the trains and airplanes and all the other forms of public transportation, and even the computer you use, are built by corporations who "trap" technology in what you call "IP barriers"?? Thanks to these evil, evil, corporations, we actually don't have to scavenge for loose bits of scrap metal from the junkyard in order to built an "open-source" car, an "open-source" aircraft, an "open-source" electrical supply!! Surely those corporations are Satan himself!
Man, talk about Slashdot dogma. I'm sure happy Linux isn't invented by a frog-in-the-well like you, otherwise today we'll still be suffering under the tyranny of crappy M$ junkware. It's rabid, brain-washed zealots like this that make Open Source so repulsive to businesses who could make major contributions, that make people think Open Source supporters are just a bunch of disgruntled college students. That make employers cringe when their IT staff suggests to switch to Linux or BSD. That make newbies want to stay with Windows 'cos they're constantly despised by so-called "Linux experts" who think they're so darn smart even though they don't even know what Open Source is really about.
How many on the "Open Source bandwagon" are the shouters and cheerers, and how many actually know what it's about?! If you want to advocate your anti-corporation garbage, please at least don't call it "Open Source".
(Yeah, mod me down. Thanks for reinforcing blind Slashdot dogma. I have enough karma to burn. I just hope somebody reads this and wakes up, before it disappears into the recesses of Troll -1.)
---
What *I* want to know, is whether the guy at MacJunkie ate his hat/shorts/whatever it was that he said he would eat should the G4 Cube photos turn out to be real.
On a related note, I think sometimes slashdotters behave like that too... spout off about something they *think* they know, and totally make a fool of themselves. But I digress.
(Obligatory note to moderators: this is NOT flamebait. I really want to know what happened to the MacJunkie guy after this embarrassment...)
---
Excellent point!!
IMHO, this isn't about MS being incompetent of implementing something like that properly. This is about a passive interface vs. an active interface.
Who is supposed to be in control here? the computer or the user? Surely the user. Now of course, it can be argued that this attention-sensitive UI is only receiving orders from the user, just that instead of detecting mouse-clicks, it's detecting eye-glances. But there is a vast difference between consciously clicking the mouse, and unconsciously glancing at something that caught your attention on the screen. When you click a mouse button or hit a key on the keyboard, it at least goes through your brain first and gives you a chance to consciously decide to do it. But your eyes are often distracted by unexpected events, and often this reaction is sub-conscious.
There is a vast difference between interpreting what a user means by a mouse click and what you think a user means by looking at something. Interfaces should be passive: waiting for explicit orders, and not active: *guessing* what the orders might be from vague signs.
---
Very good point. One thing that really turns me off about software like MS Word (besides the fact it's MS of course) is that it tries to be smarter than it is. I mean, gimme a break, they seriously think treating their users like dumb people who needs the computer to pamper their needs is equal to "good" user interface?!
I mean, I've nothing against a better UI, or an easier to use UI. But a "UI" that tries to guess what you mean (emphasis on tries) is 80% of the time extremely annoying, and only results in people finding ways to work around it. Gee, thanks. Like I need the stupid "word processor" to totally screw up my formatting so that I have to move my hand to the mouse and search for the stupid option in the pull-down menus to manually tweak margins the 100th time, when the report is due in the next hour. And now they're trying to change things on you based on what the program thinks you're focusing your attention on?!
For sanity's sake, MS, stop trying to have your software treat users like babies until you actually have technology that works. I hate the utter presumption of these so-called "smart" features that try to guess (emphasis on guess) what you're trying to do, get it wrong most of the time, gets in the way of getting work done, and are just plain annoying. Why add another level of frustration to an already frustrating work environment?!
---
What I mean by the subject line: don't think that ssh in itself guarantees security. Even with ssh (or scp for that matter), there's always a danger of a man-in-the-middle attack (as ssh itself calls it). A compromised machine between you and the host you're connecting to could easily pretend to be that host, sending you a fake ssh key, and forwarding your packets through another connection to the real host. This way, your communications is encrypted, but only to be decrypted at the compromised machine and re-encrypted and forwarded to its real destination.
Of course, this could be prevented if you know the key of the host you're connecting to beforehand. But how many of us actually verify the authenticity of the host's key the first time we connect to that host? And some hosts do change their keys once in a while (perhaps a reboot, an sshd upgrade, etc.) -- although we *could* verify the new key, I doubt in practice most people bother to.
Anyway, my point is, don't ever fall into the trap that human beings are so prone to: equating security with some entity, like unconsciously equating "ssh" with "secure connection". To be truly secure, you have to be careful at every step. Unfortunately, this is often impractical... but at least, be aware of the vulnerable parts of the chain so that at least you know what could bite you (or what bit you, if something happened). Never, ever, fall into the trap of thinking your system is secure.
A system is never 100% secure; so, it's better be aware of its vulnerabilities than to blindly trust it, and then look around bewildered when something bites you.
---
Oh, BTW, I forgot to mention... when I said GUI in my above post, I don't mean just a clunky, inefficient, half-crippled excuse for a windowing interface, just for the marketing people to talk about. If you scroll down Clean's homepage (link is in my above post), you will see a 2D tiled-game implemented in Concurrent Clean. Although this is still a rather humble start, you've gotta admit that Clean has made what could be major breakthroughs in functional programming.
---
Check out Concurrent Clean. I ran into this functional language during my senior year in university, and I haven't really kept up with it since, but it has several very interesting features that may help to make functional languages more widely accepted. It addresses the first two points you listed as reasons functional languages aren't popular:
Now, I admit I'm biased (mostly due to having done a lot of research on Clean years ago), but Clean looks like one of the promising candidates for widespread adoption by the industry. Or at least, I'd be so bold as to say that the above two mentioned points are things that I'd probably expect a widely-accepted functional language to have.
---
I absolutely agree. It's not a matter of blocking things from your kid. It's a matter of giving them the proper education and developing a healthy relationship with them. (See my other post on this.)
IMHO there's nothing wrong with Parental Controls software and the like. What is wrong is the parent thinking that it can replace proper upbringing and education. (I.e., trusting the software or system or whatever to block out "bad stuff" instead of educating your kids' sense of judgment.)
---
There is no replacement for proper, responsible parenting. The problem with these "parental controls" tools is that they are induced by a market of people who don't want to spend the effort to raise their kids properly, and depended on by people who don't understand what proper parenting is.
After all, it's your kid. You are the one who should supervise them and educate them in the proper way. That responsibility is on you not on AOL or any other corporation or person. The proper way to be a parent is to nourish a healthy relationship with your kid -- and that means spending lots of time and effort to educate him/her properly, and to maintain a good relationship. If you're not willing to spend the time or expend the effort, you're an absolute fool to think that so-called Parental Controls software or whatever other garbage they have out there will do your kid any good. And don't be surprised if your kid grows up to despise you. Kids know when you really love and care about them, versus when you're doing it grudgingly just because you know you have to.
Kids aren't Tamagotchi's. Parenting is not merely about changing diapers, stuffing them with food, cuddling them when you feel like it, and sitting them in front of the TV or computer just so you don't have to spend the time/effort to be with them as a person. Parents who think that they can have both the "advantage" of distracting their kid with TV/computer and also "safe-guarding" them with "Parental control" garbage are greatly deceived.
---
Somebody mod the parent post up!
He makes a very good point. I mean, yeah, we all have our own beliefs, our own views, etc., and we can argue till our hairs grow white, and we probably will all walk away from the argument / debate / flamewar either feeling justified in our opinion because we won the debate, or feeling upset because the other side just couldn't "get it"; but it doesn't really matter because our personal convictions are still the same.
What the poster said, IMHO, addresses the real issue: forget about who is right and who is wrong and what is logical or illogical. What do YOU want to do with YOUR life? If you believe in God, are you SURE He is real? If you do not believe in God, are you SURE you won't have to face the consequences? Have you made the effort to be as certain as possible about this, so that even if your conclusions turned out wrong, at least you know you've made the effort?
I think this is more of a personal matter than anything else. Frankly, when I see debates over things like the existence of God, I often pity both parties involved, because they're just competing with each other's intellectual prowess. So what if you win/lose the argument? If somebody is convinced by you, big deal, somebody else with a better argument will convince him the other way. Eventually, the only important thing to consider is, are YOU sure about what YOU chose to follow? Have you taken responsibility about it and made reasonable effort to make sure you're on the right path (i.e., went beyond just basing your conclusions on rumors, opinions, or just strongly argued points)?
---
I've been thinking... is it really a bad thing to require that a license not disclaim warranties totally? I know it's harsh on free software authors, as they often do not have the means to pay damages or get legal support in the case that trouble arises.
However, OTOH you have these lame software producers who write crappy code and disclaim everything, but they happen to be the sole supporters of something you need. What if they bugged their code and exploited you, but their license terms are sufficiently broad to give them a way to weasel out when you sue them? I can see why people are pushing for laws like this to be passed...
So here's the idea: why not the FSF start a fund of some sort, or something similar, to support free software authors? Or if it's not feasible for the FSF to do this, maybe some other organization. This way, you can have both licenses that people can depend on, that don't disclaim just about everything, and you also don't bog down free software developers who can't afford to support a license with a warranty.
---
Umm... you obviously haven't noticed that this article is from the it's funny, laugh department?!
Man, you people take Slashdot too seriously.
---
Yeah, all the other popular search engines nowadays seem to be ridden with banner ads, promotions, and all kinds of useless fluff on their pages. Google is nice and simple, doesn't clutter the screen, and in general makes everything easier on the eyes. I think this is part of the attractiveness of Google -- you're not flooded with irrelevant info and pictures, but just the stuff you're looking for.
One thing I have against Google though -- I wish they had an advanced search where you can specify to search for exact phrases, etc., or perhaps even a full boolean search. I don't know how Google works, so I can't tell if these features are left out because of design issues. But, being the "hacker's search engine" and everything, it really should support more advanced searches. If they can find a way to implement this well, it may even become a deciding factor against other search engines. (I hardly know any search engine out there that can handle full boolean search, and certainly Google's speed will be a great advantage.)
---
Quote from the Canary Lab site:
According to this paragraph, what they did was to introduce chirality into their molecules. I honestly doubt that they were causing a symmetry flip of one molecule (ie. switching between the L and R configurations of the same molecule); I think what was meant was that they had found a way of preferentially creating, say, an L or R configuration from a non-chiral substrate. This process was possibly also reversible, but the L and R compounds obtained through the addition/removal of an ion are probably different molecules, not the same molecule as the news article seems to be saying.
I think one of the significant contributions of this is the applicability to finding the absolute configuration of molecules. If you've taken organic chem in college, you'd know that for a long time, chemists have no idea *which* version of a chiral molecule we're really dealing with, given an organic compound X. We know that X and its enantiomer are mirror images, and we can tell that they are different, but we cannot tell which mirror image X is. It's all based on the assumed configuration (either left or right) of a few basic chiral molecules found several decades ago. From this assumption, we `derive' the assumed configuration of many (all?) the chiral molecules today.
But this research seems to have found a way of determining the absolute configuration -- ie. we can now tell which mirror image X is, with certainty. Of course, currently they only did that for a very limited class of molecules, but this can be developed so that one day, we can know the absolute configuration of all chiral molecules.
---
*Sigh* It's just sad to see how corporations today cripple technological advancement just for the sake of their bottom-lines...
The technology is already there (ie. the high quality data). But they have to cripple the output in the name of "avoiding piracy"??? What kind of greedy, profit-hogging attitude is this? I am disgusted. If you don't want your consumers to get at the "pristine digital signal" then why put it there in the first place??? Perhaps Hollywood should go back to using VHS for movies. If they want the technology, what's the point of deliberately crippling it? It's like buying a Formula 10 car with all the engine power in there, but with an additional device that restricts the horsepower that can be output, in the name of "driving safety". I mean, why do you sell an engine with that much horsepower if it's never intended to be used anyway?!
This whole thing just stinks of greed and power lust (in terms of controlling what your consumers can do). What use is advanced technology if nobody can use it? (OTOH, of course, they are just asking for trouble by doing this. Surely they'd have learned by now that deliberately crippling something that's already there is a sure incentive for pirates and crackers.)
---
OK, this is perhaps slightly off-topic... but I'm just curious, what percentage of slashdotters actually find an IDE useful?
Although I've nothing against IDE's, I personally prefer a plain text-editor and the command-line compiler tools. I just wonder who else is like me and dislikes IDE's. :-)
One reason I stay away from IDE's is because it somewhat locks you into a certain interface that you get accustomed to when programming in that language (or environment, whatever). I find it more useful to learn how to use the bare-bones text-editor / CLI interface first, to focus on learning the language itself rather than the IDE's interface. After I learned the language, then I find my learning more easily applied to any development environment -- IDE or otherwise. If I had started out with the IDE, I find myself lost when placed in a situation where only command-line tools are available, and need to spend a lot of time learning the "real thing". It's so much better to learn it the hard way first, then your skills are more marketable/adaptable.
---
Hey, thanks, that was exactly the article that I was referring to.
---
I read about a similar idea from one of the Unix gurus before (I don't remember exactly who it was, unfortunately). Basically, the article talks about how even source code is not a guarantee that you are safe.
Basically, it works from the idea of a self-replicating program, as follows:
Of course, replacing the GCC with a good binary will solve the problem, but the virus could have replaced, say, Apache or FTP, so that any good copy of GCC downloaded will be bugged. And no amount of recompilation from source will do any good, because the bugged compiler will always insert bugged code into any source you compile.
Anyway, my point is, source code does not guarantee safety. About the only thing that can solve the problem (that I can think of) is to nuke the system and re-install from scratch. Of course, suppose the virus bugged a machine on your ISP so that it inserts itself into any fresh system binaries you download... ultimately, you will never be 100% sure unless you physically get a copy of a new system from your vendor. But suppose the vendor has also been bugged...
I know this is a bit stretching it, but still, it involves methods which are very practical to implement. Do not hide in the comfort of "Unix is built for security" or "we are safe because we can audit source code".
---
OK, I wrote a long rant but deleted it on second thought :-) I just wanted to say a few things:
---