you can stick with the current version, but the ones you give your program to can obviously redistribute it under a later gpl version, and you can't prevent that.
so they've to get it right at the first attempt, i'm afraid.
Let's hope they get it right the first time: since apps are released "either [under] version X.x of the License, or (at your option) any later version", if they put a flaw into 3.0, every program written up until then would be subjected to the problem.
And lawyers only know how to beef up things, expecially when documents in legalese exceed the one line length (usually they only find it slightly more difficult to mess around a "there's only one rule: there's no rules" statement).
They obviously played Lucasarts' "Indiana Jones and the Fate of Atlantis".
They'll have found the Lost Dialogue, but forgot that Hermocrates seemed to have some problems with maths.:-)
I didn't use SP2. You know, downloading it from the internet with a 56k isn't everything everyone wants. I ordered a cd afterwards from ms.com, but it takes ~30 days to arrive.
0) If I didn't set up everything correctly and securely then it's true that GNU/Linux is more secure than Windows: a default GNU/Linux installation caused me much less problems than a Windows one. If "correctly and securely" means going down to touch the registry or things like that, then I assure you that Linux is easier and at least better organized when it comes to configuration.
a) Linux is about choice. I can run fluxbox without konqueror, you know. Anyway, I'm missing the point. You can't run KDE without konqueror since KDE _is a suite of programs_ that includes that. Else it wouldn't be called a "Desktop Environment". If you mean "run the KWin WM that gives you that KDE-like touch", in fact, you can. Then what's your email?;-)
While you're at it, please argue that Windows is an Operating System. It seems to me it goes well beyond an OS definition.
b) last time Windows screwed up all my partitions just by modifing a label of a drive from the winxp control panel - or whatever it is called now (yes, not only the linux ones, its very one too!)
c) If you are an happy Windows user, that's ok, I've nothing on the contrary (well, to be honest, I've a lot on the contrary, but it's about philosophy and ethics, not about features and ease of use). I just say "don't spread the FUD Linux is evil just because a bunch of people take Linux advocacy as an occasion burn the infidel":).
d) if I can give a _really_ personal opinion, using SuSE was a mistake in the first istance. i know it's windows-like and all, but...:sigh: never mind. it's just a thing between me and SuSE folks <brands an axe>.
Er... WinXP, new installation. Just formatted hd. Connected to internet : 20 seconds and it gets down due to a Blaster variant.
That's ok. I enabled the firewall.
I did a WindowsUpdate from Microsoft.com, while installing Firefox and Thunderbird. I wasn't doing anothing else, I assure you.
In the meanwhile, I installed and ran the antivirus.
6 _different_ trojans discovered. In less than 20 minutes connected to the internet, whithout even opening the mail _client_, let alone "suspect attachments" opened by "user stupidity".
Now, or it was the WindowsUpdater ActiveX SuperMegaPlusPlus ProfessionalEdition from Microsoft.com, or I'm not a dickhead, sorry to tell you that.
Just my 2 (euro)cents -- it doesn't strictly mean they're more valuable.
PS: as for your point b), feel free to send me an email the day you'll be able to uninstall IE from your computer.
PPS : I'm a Gentoo user too. An happy one. A so happy one, in fact, that I fdisked my winxp partition away almost a year ago and never felt sorry.
If you don't think thats a problem- try putting a cout statement in a constructor, and write a function that takes an object as a parameter and returns that object.
Although I agree that c++ isn't a good choice for a kernel, here i've to say that you can in fact produce good code simply remembering to pass args to a function as constant references. You've a good control over when and why temporary objects are created, if you fully understand what your code does. More, modern compilers like g++ use optimizations to avoid creating non-wanted temp objects (like in "C* obj = new C(C(otherobj));") and thus eliding redundant constructors (that was a silly example, but there's plenty of situations).
I believe that for a good c++ programmer memory management is simplier and cleaner than c's one, instead of loose and chaotic. This doesn't mean that malloc() sucks; it just means that new/delete aren't evil and help you if you know how to use them.
Assembly gets a bad rap, really its a nice simple language.
Simple doesn't mean portable.
The gain of c++ over c is really substantial, BUT I don't think that c++ is a good choice for kernel development, mainly because it's too "tempting" to add millions of useless features. c is neat, easy and has a really small grammar: it's something you can learn in a week. c lets you to act to a more lower level, is faster to compile, and extremely portable (that's the main reason why Linus won't like c++). I believe that c lets programmers to concentrate more on the real algorithmic problems of the code (such as sorting, scheduling, threading...) than on inheritance/class (syntactic) related ones.
Case also was concerned that his company did not have appropriate in-house Linux expertise. Those concerns were proved worthwhile two years ago when the ISP gave Combe two weeks' notice that it was closing its doors.
It's just because us Lil' Tux Helpers: we're not in a large number yet. People, we must grow quickly and dismiss MS completely, or companies won't have "enough in-house Linux expertise"!
if we get a virus in *n?x, actually the author have to be really smarter than the autotools guys:). heck, i've problems compiling/running kde on different distros, let alone a virus recognizing all the not-so-small differences between different systems.
Heh, actually I told my ISP someone was doing that on my host, giving them the exact IP, a couple of months ago, and they sued him for attacking my machine... wouldn't do it, if i were you.
I just don't see a viable solution as for now. I had a lot of spam filters by different ISPs that deleted some message I really needed: from my friends, from work, etc. So that isn't a solution either.
I think that for every system to get in use, the end user has something to learn. As the WWW becomes more and more crowded, the complexity for the system increases. Look at viruses: 10 yrs ago you hadn't certainly thought that you could get your hd erased just opening an image on your pc.
So, maybe, the work we need to do is to simplify else complex systems in order to make them usable by the normal (someone would say: dumb) user. For example : we could have some GUIs to modify the ASK whitelist just with some mouse clicks. If it is your provider to give that to you, you install it without problems. It would be simple to implement, too. (Just an example, you can do what you want without thinking about ASK).
Then, obviously, you'd get some resistance. It has taken over a year to teach some friends of mine to not to open attachments from unknown senders.
Now I'll soon accept only digitally signed/encrypted messages on my primary mail address, plus a whitelist of mlists I'm used to receive anyway. Using ASK would work better for me in this scenario (so I think I'll install it locally and use fetchmail, I just need the time to do it:( ).
That was why I found it an interesting solution. If you have any better purpose, I'll be happy to know it: we live to learn. I admit it wasn't maybe a good solution in the first place on vaste scale (at least, _as it is now_). So let's think about something better...
I don't think it's true. It's just the first time you send an email to your customer, then you're automatically added to the whitelist until the user doesn't decide you're a spammer:p.
Most subscription systems ask to the user to reply to an email in order to activate the service. In this case, it is the other way round (but it wouldn't be difficult to ask ASK to let through every email from subscribed services).
Anyway, the time to whitelist a company you want the emails from is almost null for the end user. If you send not requested mails to your customers... well... that's spam definition, isn't it?
Why doesn't every ISP just use ASK (Active Spam Killer)? Its idea is pretty good, and I think it'll block 99% of spam. If else, because if you send 50000 spam mails, you get 50000 spam mails back to you (and many spammers have un-existant email addresses).
Mr. ISP Admin, if you're reading this, try it out and see if it doesn.t work.;-)
Erasing all the ~? This sounds really stupid to me. It could erase the program itself from hd, that's something i would understand. But to lose maybe a month of work because your 15 yrs old boy though that "crak-that-warez dot d0rk" was cool, or the original serial number was more than 3mt away from the keyboard and that means wasting more than 3 kilojoules and google's just there... well, that would be an occasion to NOT to buy that damn software anyway. And to tell my friends not to, too.
Moreover, think about a network share mounted inside my homedir, with the docs of all the department i work with for commodity reasons... whoops. Instantly lawsuit, just add the angerness.
Add to this that, expecially for small-medium companies, some employee could want to try the program out before buying it (I know many of you don't like it and say it's piracy, but it happens everyday no matter what you think). So erasing the homedir would definitely be an harakiri for the author.
My solution? Use opensource/freesoftware. At least you can do a "cd src && grep -Ri 'rm -Rf'./* | less":-)
IANAL, but erasing something it's not your program on the end user pc isn't legal (unless it's written explicitly in the license that wrong serials can erase your homedir), and the author should refund them.
Secondly, you can get JVM from different people, like IBM, BEA and the like. It's just that those not in the know don't know about them.
Are they under the GPL, the BSD or some other Free Software License? Or rather they need to conform to the sun-bcla-java-vm?
I think I do like to see the standard being control by some corp., but sooner or later I think Sun will relingish control - due to the fact that they don't make much money from Java.....
Yes, when Sun Microsystem will drown, it can be possible it'll happen. Or maybe before, under IBM pressure. Also, Microsoft could buy a dying Sun Ms, and then we're double screwed, for the reasons I told (and many more).
Anyway, until it's not free standard, I'll continue to stay well away from Java.
I don't like Java, but it's just because of personal taste (or, better, general personal taste about who usually programs in Java).
Trashing these prejudices (that I read between the lines of many posts above), it remains one consideration to do.
I think that Java works well for server apps. If you've to build a server backend with a commercial JVM, or a framework, it is a really good choice (though not the only one, obviously).
When it comes to GUI / client side application, using Java is synonim of suicide, imho.
You can say Java is fast as C/C++ as much as you want. I simply don't believe it. Moreover, using Java for that isn't the most wise thing to do, when there are much faster and easy pls to go with.
There's another thing to say: I hate Java since it is not an open standard.
Ok, I'm a Free Software advocate, I admit it. Having Java as free software would be the best, that's for sure. But not having it open standard is a lot worse... you cannot do your free (as speech) compiler. You're tied to a company (Sun Microsystems). It's a monopoly driven by a single head... that can change its path -- and Sun has demonstrated many times to be as dangerous as Microsoft for the OpenSource/FreeSoftware community.
Let's only hope that gcj/gij will reach an usable status. Maybe then I could start using Java for everyday use. Until then, I'll go on with C,C++,Python,Perl,Scheme... and so on.
Lunardi (italian minister) has already purposed this as a _LAW_ (not a choice) two months ago... where is my privacy gone???
And also, who's going to pay the GPS to adequate to this law? Guess who?
Well, I always thought of an hacker as someone who loves to do something, and searches for better/unusual ways to obtain its target. No matter the difficulties, he'll give all himself to the aim to resolve a problem.
Not only programmers, sysadmins or whatever: also a mechanic or a biologist can be true hackers. Why not?
wait for a mutex to be released or a socket to become readable
I though "pthread_mutex_lock" did that by default with "fast" mutexes, but I ain't an experienced programmer, so I may be wrong.
I tried getting a grasp on those 1024-characters-long API call names from MicroSoft, and I was really glad that *n?xes provided me simple _system calls_ (which MS does _not_ provide, since the developers can use only the APIs). Now I really find me at ease with *nix, and every time I use windows or I have to write more than 5 lines of win32 code it gets on my nerves and I would like to smash the keyboard on the wall.
There are many other places in which the *nix kernels show their age compared to the design of Win32
I can admit that some implementations are a little aged, but not bad: the standard library is fast and does its work neatly. The Linux 2.6 scheduler is surely a good improvement from th 2.4 series, and seems better than MS' one. Anyway, I find MS libraries too chaotic. But when we speak about kernels, the win32 kernel and the event-driven idea behind everything windows-like aren't really good, nor new. Why, else, people would use *nix kernels for critical applications, such as servers? The only thing interesting about the win32 approach is the HAL. Everything else is just (bad, imho) habit: you think that using already prebuilt APIs would speed your work, but for me it is only laziness. It's like cooking yourself a steak or eating an hamburger in a fast food: the latter is faster, but not necessarily better. Anyway, it's clear that while you cook your steak you could carbonize the meat, or put too salt in it. However, if you did it right, the result usually is worth the effort. There's, I believe, little I couldn't do in twenty times more readable code in *nix, than in Windows. And when it comes to write libraries (speaking of.dll), doing it in win32 is a pain (who have tried knows about entry points and so on) compared to *nix (libtoolize is everything you need).
(not to mention MS's ability to maintain a consistent API over 10 years of product developments).
Well, the *nix system calls quite never change, and they're fast. K.I.S.S. Keeping some APIs static for 10 yrs means also keeping backwards compatibility with some old or "slow" functions. And more code you write more bugs you can potentially generate. So I don't really see the point of having a lot of APIs you'll never use instead of a hundred syscalls and then you use another library (for example, STL). If you want a thousand functions, pick up a library like, who knows, GTK+. It's in userland and fully extendible. Don't you like it? Change it.
A lot of only-windows programmers I spoke with (15/20-yrs experienced) said they were moving away to win32 native calls because they found they were slower and their programs occupied more memory than expected (from 20% to 40%).
30 year old technology may be "mature", but its not always The Right Thing To Do for the future.
Well, nor it's Microsoft way, I guess, with their full monolithic kernel (that's why installing a driver means reboot) and their false object-oriented programming (where are hereditariety and polimorphism while speaking of APIs' manipulated objects?). If you read some Tanenbaum's books, you see what a mess windows have become just to keep backwards compatibility. And don't say threads and processes are made better in windows. Putting a forked process at the same level of his father, for example, is an idea abandoned by two decades by modern operating systems.
We could discuss if Zeta is a better OS than Linux, BSD better than Darwin, or so on for hours. But one thing is the kernel, and one thing are the tools gave to developers for a platform. *nix problem, right now, is XFree86. Let's hope that X.Org moves in the right direction...
I'm not an expert, anyway, so don't flame me... just polite talk.
Why do you call it HANDLE? It's a (void*)! CreateProcess : 10 parameters pthread_create : 4 parameters
They always said that a big problem about A.I. is to implement the enormous flow of data that an artificial ``mind'' has to manage at every second. Think about just one of our five senses, the main, and about a not-compressed AVI file continously being scanned for information...
Now we discover that complex proteins (if I got it right) can be the right move in this sense... so what's the path? We always think about A.I. as sentient _machines_, what if we discovered that the only way to implement intelligence, is through what we already are?
I read somewhere that memory density in a human gene is about 10^25 bits/m^3, around 1'164'153 gigabytes/mm^3. Do these researches bring us a step nearer the goal of recreate intelligence providing the technology for a new ``steel'' memory?
Technology is always going forward. But maybe it's science we lack... us computer geeks should keep this in mind, since we often confuse the two things.
I think what you are basically saying is to impose everyone a Microsoft-style dictatorship: you have to use this toolkit, this way to do things, etc. Period.
I postulate that this situation could be be resolved with a two pronged approach. First, a distribution that doesn't try be the One True distribution[...]. It should have one desktop environment, one office package, one media player, one emailer, et cetra. In short, one and only one of every software type. [...] Secondly, [...] [t]here shouldn't be a mixture of say Gtk, GNOME, wxWindows, and Motif applications.
Wrong, wrong, wrong, wrong. What's the point then, of having a distro, and not a single company based in Redmond who closes the window at 18:00 pm and goes on testing overnight?
Some people I know love Xine. Me, I love mplayer. In your way to see things, I'll get stuck with MediaPlayer10.
Why? Because GNU/Linux is about choose (I'll never stop sayin' it), and if you don't like it, then use something other (well, we said freedom to choose, also in this sense:).
Moreover, usually developers like to program using the language/toolkit they like most, and they find more familiar with. Making the use of one of it compulsory, is what we have always fought.
What I'll found interesting, is more adherence for standard HIG (that almost no-one cites) by KDE (gnome is quite ok), and the use of some more verbose tooltips when you hover a menu entry or a toolbar button. Windows is light-years away from HIG, btw. So, that's the WRONG way to do things. And I'm a KDE user, not a Gnome one.
As always, habit (of using Windows, MacOS, or the command line as well), is the problem. When you've to change, it's a pain. I've a cousin who's ten yrs old. He uses Evolution to check the email, navigates in Mozilla, and is also capable of doing some little things in console (like 'ls', 'cd' and so on). He has no problem understanding a line like: drwxr-x---. Is he a little genius? Some years ago I would have said so. But now, I know at least other five or six friends of him that can do almost the same things. Then? It's just a (bad) habit to eradicate, boy.
(And no, before someone asks, I don't like Mono at all.)
It has to be the tenth article about OSS and usability that I see in a couple of months (and at least two were mentioned here on./).
Listen, as someone pointed out: if there's a usability problem, fill in a bug report. This is OSS real force.
We are all a bit lazy. If something don't fits your needs, fill in a bug: it is like black ink on your dress, you HAVE to have it fixed, or what sort of programmer are you?!:)
Moreover, I think that's still the same old story: who says "command line is good enough for everyone, and if you don't like it, it's a problem of yours" versus "mouse is beautiful, why should I use that keyboard? It'll bite me, if I touch it!"
Well, I'm for: keep them both. For example, I noticed that in Kdevelop you haven't key accelerators when debugging your code. This is a problem for me, so I'll fill in a bug report, and I'll point it out.
See Emacs: you have menus, you have toolbars. Me, I spent some time learning the keyboard shortcut, and I never ever touch the mouse anymore! That's fine for me, and that's fine for the newbie, because the UI is there to help him.
As always, FS is about freedom, expecially to choose. And since we are here to get better, if you want it "your way", speak with the right people (the devs), don't just complain! OSS is about community, take part in it, don't just sit on the bench criticizing.
He has upset a lot of us Free Software and OpenSource users, by declaring things like "we like this revolution, it is a big thing, but we're not on this train". Not to mention that horrorific non-free Microsoft-filled JavaDesktop.
If you upset your own potential users, as well as a lot of your potential developers (!), don't come back begging for some money to resurrect the Evil Empire of Sun.
As an Italian, I always said: don't buy American or Japanese cars, buy Italian ones! Shame on the Evil Empire of Foreign Consumism! Weeell... that's the demonstration that I was wrong. Italy is once again in the front line to get the Village Fool title.
I just hope I can hijack some Carabinieri's cars and actually erase all my speed fines before they can catch me... mmmh... well, for sure I type faster on telnet than them trying to disable some strange service in Control Panel, while phoning to Micro$oft wait-a-minute-please tech support.:)
Then, I think I'll go out and I'll buy a tricycle.
you can stick with the current version, but the ones you give your program to can obviously redistribute it under a later gpl version, and you can't prevent that. so they've to get it right at the first attempt, i'm afraid.
Let's hope they get it right the first time: since apps are released "either [under] version X.x of the License, or (at your option) any later version", if they put a flaw into 3.0, every program written up until then would be subjected to the problem.
And lawyers only know how to beef up things, expecially when documents in legalese exceed the one line length (usually they only find it slightly more difficult to mess around a "there's only one rule: there's no rules" statement).
Ehi, wait, that's just like in Robocop!
Zzzzaaap!
They obviously played Lucasarts' "Indiana Jones and the Fate of Atlantis". :-)
They'll have found the Lost Dialogue, but forgot that Hermocrates seemed to have some problems with maths.
I didn't use SP2. You know, downloading it from the internet with a 56k isn't everything everyone wants. I ordered a cd afterwards from ms.com, but it takes ~30 days to arrive.
0) If I didn't set up everything correctly and securely then it's true that GNU/Linux is more secure than Windows: a default GNU/Linux installation caused me much less problems than a Windows one. If "correctly and securely" means going down to touch the registry or things like that, then I assure you that Linux is easier and at least better organized when it comes to configuration.
a) Linux is about choice. I can run fluxbox without konqueror, you know. Anyway, I'm missing the point. You can't run KDE without konqueror since KDE _is a suite of programs_ that includes that. Else it wouldn't be called a "Desktop Environment". If you mean "run the KWin WM that gives you that KDE-like touch", in fact, you can. Then what's your email? ;-)
While you're at it, please argue that Windows is an Operating System. It seems to me it goes well beyond an OS definition.
b) last time Windows screwed up all my partitions just by modifing a label of a drive from the winxp control panel - or whatever it is called now (yes, not only the linux ones, its very one too!)
c) If you are an happy Windows user, that's ok, I've nothing on the contrary (well, to be honest, I've a lot on the contrary, but it's about philosophy and ethics, not about features and ease of use). I just say "don't spread the FUD Linux is evil just because a bunch of people take Linux advocacy as an occasion burn the infidel" :).
d) if I can give a _really_ personal opinion, using SuSE was a mistake in the first istance. i know it's windows-like and all, but... :sigh: never mind. it's just a thing between me and SuSE folks <brands an axe>.
Er... WinXP, new installation. Just formatted hd. Connected to internet : 20 seconds and it gets down due to a Blaster variant.
That's ok. I enabled the firewall.
I did a WindowsUpdate from Microsoft.com, while installing Firefox and Thunderbird. I wasn't doing anothing else, I assure you.
In the meanwhile, I installed and ran the antivirus.
6 _different_ trojans discovered. In less than 20 minutes connected to the internet, whithout even opening the mail _client_, let alone "suspect attachments" opened by "user stupidity".
Now, or it was the WindowsUpdater ActiveX SuperMegaPlusPlus ProfessionalEdition from Microsoft.com, or I'm not a dickhead, sorry to tell you that.
Just my 2 (euro)cents -- it doesn't strictly mean they're more valuable.
PS: as for your point b), feel free to send me an email the day you'll be able to uninstall IE from your computer.
PPS : I'm a Gentoo user too. An happy one. A so happy one, in fact, that I fdisked my winxp partition away almost a year ago and never felt sorry.
If you don't think thats a problem- try putting a cout statement in a constructor, and write a function that takes an object as a parameter and returns that object.
Although I agree that c++ isn't a good choice for a kernel, here i've to say that you can in fact produce good code simply remembering to pass args to a function as constant references. You've a good control over when and why temporary objects are created, if you fully understand what your code does. More, modern compilers like g++ use optimizations to avoid creating non-wanted temp objects (like in "C* obj = new C(C(otherobj));") and thus eliding redundant constructors (that was a silly example, but there's plenty of situations).
I believe that for a good c++ programmer memory management is simplier and cleaner than c's one, instead of loose and chaotic. This doesn't mean that malloc() sucks; it just means that new/delete aren't evil and help you if you know how to use them.
Assembly gets a bad rap, really its a nice simple language.
Simple doesn't mean portable.
The gain of c++ over c is really substantial, BUT I don't think that c++ is a good choice for kernel development, mainly because it's too "tempting" to add millions of useless features. c is neat, easy and has a really small grammar: it's something you can learn in a week. c lets you to act to a more lower level, is faster to compile, and extremely portable (that's the main reason why Linus won't like c++). I believe that c lets programmers to concentrate more on the real algorithmic problems of the code (such as sorting, scheduling, threading...) than on inheritance/class (syntactic) related ones.
Case also was concerned that his company did not have appropriate in-house Linux expertise. Those concerns were proved worthwhile two years ago when the ISP gave Combe two weeks' notice that it was closing its doors.
It's just because us Lil' Tux Helpers: we're not in a large number yet. People, we must grow quickly and dismiss MS completely, or companies won't have "enough in-house Linux expertise"!
if we get a virus in *n?x, actually the author have to be really smarter than the autotools guys :). heck, i've problems compiling/running kde on different distros, let alone a virus recognizing all the not-so-small differences between different systems.
(since many virii are in assembly, good luck and tell me when you've finished... )
Windows: one company, one way to do things... one way to crash it all.
Heh, actually I told my ISP someone was doing that on my host, giving them the exact IP, a couple of months ago, and they sued him for attacking my machine... wouldn't do it, if i were you.
I just don't see a viable solution as for now. I had a lot of spam filters by different ISPs that deleted some message I really needed: from my friends, from work, etc. So that isn't a solution either.
I think that for every system to get in use, the end user has something to learn. As the WWW becomes more and more crowded, the complexity for the system increases. Look at viruses: 10 yrs ago you hadn't certainly thought that you could get your hd erased just opening an image on your pc.
So, maybe, the work we need to do is to simplify else complex systems in order to make them usable by the normal (someone would say: dumb) user. For example : we could have some GUIs to modify the ASK whitelist just with some mouse clicks. If it is your provider to give that to you, you install it without problems. It would be simple to implement, too. (Just an example, you can do what you want without thinking about ASK).
Then, obviously, you'd get some resistance. It has taken over a year to teach some friends of mine to not to open attachments from unknown senders.
Now I'll soon accept only digitally signed/encrypted messages on my primary mail address, plus a whitelist of mlists I'm used to receive anyway. Using ASK would work better for me in this scenario (so I think I'll install it locally and use fetchmail, I just need the time to do it :( ).
That was why I found it an interesting solution. If you have any better purpose, I'll be happy to know it: we live to learn. I admit it wasn't maybe a good solution in the first place on vaste scale (at least, _as it is now_). So let's think about something better...
Spam worst problem is that users allow it to be, we all know this.
Bouncing addresses is bad, that's true... so, instead of ASK, what's your advice to fight spam?
I don't think that Sender-ID is the solution though, so I think I'll "go ahead".
I don't think it's true. It's just the first time you send an email to your customer, then you're automatically added to the whitelist until the user doesn't decide you're a spammer :p.
Most subscription systems ask to the user to reply to an email in order to activate the service. In this case, it is the other way round (but it wouldn't be difficult to ask ASK to let through every email from subscribed services).
Anyway, the time to whitelist a company you want the emails from is almost null for the end user. If you send not requested mails to your customers... well... that's spam definition, isn't it?
Why doesn't every ISP just use ASK (Active Spam Killer)? Its idea is pretty good, and I think it'll block 99% of spam. If else, because if you send 50000 spam mails, you get 50000 spam mails back to you (and many spammers have un-existant email addresses).
Mr. ISP Admin, if you're reading this, try it out and see if it doesn.t work. ;-)
Erasing all the ~? This sounds really stupid to me. It could erase the program itself from hd, that's something i would understand. But to lose maybe a month of work because your 15 yrs old boy though that "crak-that-warez dot d0rk" was cool, or the original serial number was more than 3mt away from the keyboard and that means wasting more than 3 kilojoules and google's just there... well, that would be an occasion to NOT to buy that damn software anyway. And to tell my friends not to, too.
Moreover, think about a network share mounted inside my homedir, with the docs of all the department i work with for commodity reasons... whoops. Instantly lawsuit, just add the angerness.
Add to this that, expecially for small-medium companies, some employee could want to try the program out before buying it (I know many of you don't like it and say it's piracy, but it happens everyday no matter what you think). So erasing the homedir would definitely be an harakiri for the author.
My solution? Use opensource/freesoftware. At least you can do a "cd src && grep -Ri 'rm -Rf' ./* | less" :-)
IANAL, but erasing something it's not your program on the end user pc isn't legal (unless it's written explicitly in the license that wrong serials can erase your homedir), and the author should refund them.
Secondly, you can get JVM from different people, like IBM, BEA and the like. It's just that those not in the know don't know about them.
Are they under the GPL, the BSD or some other Free Software License? Or rather they need to conform to the sun-bcla-java-vm?
I think I do like to see the standard being control by some corp., but sooner or later I think Sun will relingish control - due to the fact that they don't make much money from Java.....
Yes, when Sun Microsystem will drown, it can be possible it'll happen. Or maybe before, under IBM pressure. Also, Microsoft could buy a dying Sun Ms, and then we're double screwed, for the reasons I told (and many more).
Anyway, until it's not free standard, I'll continue to stay well away from Java.
I don't like Java, but it's just because of personal taste (or, better, general personal taste about who usually programs in Java).
Trashing these prejudices (that I read between the lines of many posts above), it remains one consideration to do.
I think that Java works well for server apps. If you've to build a server backend with a commercial JVM, or a framework, it is a really good choice (though not the only one, obviously).
When it comes to GUI / client side application, using Java is synonim of suicide, imho. You can say Java is fast as C/C++ as much as you want. I simply don't believe it. Moreover, using Java for that isn't the most wise thing to do, when there are much faster and easy pls to go with.
There's another thing to say: I hate Java since it is not an open standard.
Ok, I'm a Free Software advocate, I admit it. Having Java as free software would be the best, that's for sure. But not having it open standard is a lot worse... you cannot do your free (as speech) compiler. You're tied to a company (Sun Microsystems). It's a monopoly driven by a single head... that can change its path -- and Sun has demonstrated many times to be as dangerous as Microsoft for the OpenSource/FreeSoftware community.
Let's only hope that gcj/gij will reach an usable status. Maybe then I could start using Java for everyday use. Until then, I'll go on with C,C++,Python,Perl,Scheme... and so on.
Lunardi (italian minister) has already purposed this as a _LAW_ (not a choice) two months ago... where is my privacy gone??? And also, who's going to pay the GPS to adequate to this law? Guess who?
Well, I always thought of an hacker as someone who loves to do something, and searches for better/unusual ways to obtain its target.
No matter the difficulties, he'll give all himself to the aim to resolve a problem.
Not only programmers, sysadmins or whatever: also a mechanic or a biologist can be true hackers. Why not?
wait for a mutex to be released or a socket to become readable
I though "pthread_mutex_lock" did that by default with "fast" mutexes, but I ain't an experienced programmer, so I may be wrong. I tried getting a grasp on those 1024-characters-long API call names from MicroSoft, and I was really glad that *n?xes provided me simple _system calls_ (which MS does _not_ provide, since the developers can use only the APIs). Now I really find me at ease with *nix, and every time I use windows or I have to write more than 5 lines of win32 code it gets on my nerves and I would like to smash the keyboard on the wall.
There are many other places in which the *nix kernels show their age compared to the design of Win32 .dll), doing it in win32 is a pain (who have tried knows about entry points and so on) compared to *nix (libtoolize is everything you need).
I can admit that some implementations are a little aged, but not bad: the standard library is fast and does its work neatly. The Linux 2.6 scheduler is surely a good improvement from th 2.4 series, and seems better than MS' one.
Anyway, I find MS libraries too chaotic. But when we speak about kernels, the win32 kernel and the event-driven idea behind everything windows-like aren't really good, nor new. Why, else, people would use *nix kernels for critical applications, such as servers? The only thing interesting about the win32 approach is the HAL. Everything else is just (bad, imho) habit: you think that using already prebuilt APIs would speed your work, but for me it is only laziness. It's like cooking yourself a steak or eating an hamburger in a fast food: the latter is faster, but not necessarily better. Anyway, it's clear that while you cook your steak you could carbonize the meat, or put too salt in it. However, if you did it right, the result usually is worth the effort.
There's, I believe, little I couldn't do in twenty times more readable code in *nix, than in Windows. And when it comes to write libraries (speaking of
(not to mention MS's ability to maintain a consistent API over 10 years of product developments).
Well, the *nix system calls quite never change, and they're fast. K.I.S.S.
Keeping some APIs static for 10 yrs means also keeping backwards compatibility with some old or "slow" functions. And more code you write more bugs you can potentially generate. So I don't really see the point of having a lot of APIs you'll never use instead of a hundred syscalls and then you use another library (for example, STL). If you want a thousand functions, pick up a library like, who knows, GTK+. It's in userland and fully extendible. Don't you like it? Change it.
A lot of only-windows programmers I spoke with (15/20-yrs experienced) said they were moving away to win32 native calls because they found they were slower and their programs occupied more memory than expected (from 20% to 40%).
30 year old technology may be "mature", but its not always The Right Thing To Do for the future.
Well, nor it's Microsoft way, I guess, with their full monolithic kernel (that's why installing a driver means reboot) and their false object-oriented programming (where are hereditariety and polimorphism while speaking of APIs' manipulated objects?). If you read some Tanenbaum's books, you see what a mess windows have become just to keep backwards compatibility. And don't say threads and processes are made better in windows. Putting a forked process at the same level of his father, for example, is an idea abandoned by two decades by modern operating systems.
We could discuss if Zeta is a better OS than Linux, BSD better than Darwin, or so on for hours. But one thing is the kernel, and one thing are the tools gave to developers for a platform. *nix problem, right now, is XFree86. Let's hope that X.Org moves in the right direction...
I'm not an expert, anyway, so don't flame me... just polite talk.
Why do you call it HANDLE? It's a (void*)!CreateProcess : 10 parameters
pthread_create : 4 parameters
They always said that a big problem about A.I. is to implement the enormous flow of data that an artificial ``mind'' has to manage at every second. Think about just one of our five senses, the main, and about a not-compressed AVI file continously being scanned for information...
Now we discover that complex proteins (if I got it right) can be the right move in this sense... so what's the path? We always think about A.I. as sentient _machines_, what if we discovered that the only way to implement intelligence, is through what we already are?
I read somewhere that memory density in a human gene is about 10^25 bits/m^3, around 1'164'153 gigabytes/mm^3. Do these researches bring us a step nearer the goal of recreate intelligence providing the technology for a new ``steel'' memory?
Technology is always going forward. But maybe it's science we lack... us computer geeks should keep this in mind, since we often confuse the two things.
I think what you are basically saying is to impose everyone a Microsoft-style dictatorship: you have to use this toolkit, this way to do things, etc. Period.
:).
I postulate that this situation could be be resolved with a two pronged approach. First, a distribution that doesn't try be the One True distribution[...]. It should have one desktop environment, one office package, one media player, one emailer, et cetra. In short, one and only one of every software type. [...] Secondly, [...] [t]here shouldn't be a mixture of say Gtk, GNOME, wxWindows, and Motif applications.
Wrong, wrong, wrong, wrong. What's the point then, of having a distro, and not a single company based in Redmond who closes the window at 18:00 pm and goes on testing overnight? Some people I know love Xine. Me, I love mplayer. In your way to see things, I'll get stuck with MediaPlayer10.
Why? Because GNU/Linux is about choose (I'll never stop sayin' it), and if you don't like it, then use something other (well, we said freedom to choose, also in this sense
Moreover, usually developers like to program using the language/toolkit they like most, and they find more familiar with. Making the use of one of it compulsory, is what we have always fought.
What I'll found interesting, is more adherence for standard HIG (that almost no-one cites) by KDE (gnome is quite ok), and the use of some more verbose tooltips when you hover a menu entry or a toolbar button. Windows is light-years away from HIG, btw. So, that's the WRONG way to do things. And I'm a KDE user, not a Gnome one.
As always, habit (of using Windows, MacOS, or the command line as well), is the problem. When you've to change, it's a pain. I've a cousin who's ten yrs old. He uses Evolution to check the email, navigates in Mozilla, and is also capable of doing some little things in console (like 'ls', 'cd' and so on). He has no problem understanding a line like: drwxr-x---. Is he a little genius? Some years ago I would have said so. But now, I know at least other five or six friends of him that can do almost the same things. Then? It's just a (bad) habit to eradicate, boy.
(And no, before someone asks, I don't like Mono at all.)
It has to be the tenth article about OSS and usability that I see in a couple of months (and at least two were mentioned here on ./).
:)
Listen, as someone pointed out: if there's a usability problem, fill in a bug report. This is OSS real force.
We are all a bit lazy. If something don't fits your needs, fill in a bug: it is like black ink on your dress, you HAVE to have it fixed, or what sort of programmer are you?!
Moreover, I think that's still the same old story: who says "command line is good enough for everyone, and if you don't like it, it's a problem of yours" versus "mouse is beautiful, why should I use that keyboard? It'll bite me, if I touch it!"
Well, I'm for: keep them both. For example, I noticed that in Kdevelop you haven't key accelerators when debugging your code. This is a problem for me, so I'll fill in a bug report, and I'll point it out.
See Emacs: you have menus, you have toolbars. Me, I spent some time learning the keyboard shortcut, and I never ever touch the mouse anymore! That's fine for me, and that's fine for the newbie, because the UI is there to help him.
As always, FS is about freedom, expecially to choose. And since we are here to get better, if you want it "your way", speak with the right people (the devs), don't just complain! OSS is about community, take part in it, don't just sit on the bench criticizing.
(Sorry for the awful english)
He has upset a lot of us Free Software and OpenSource users, by declaring things like "we like this revolution, it is a big thing, but we're not on this train". Not to mention that horrorific non-free Microsoft-filled JavaDesktop.
If you upset your own potential users, as well as a lot of your potential developers (!), don't come back begging for some money to resurrect the Evil Empire of Sun.
As an Italian, I always said: don't buy American or Japanese cars, buy Italian ones! Shame on the Evil Empire of Foreign Consumism! Weeell... that's the demonstration that I was wrong. Italy is once again in the front line to get the Village Fool title.
:)
I just hope I can hijack some Carabinieri's cars and actually erase all my speed fines before they can catch me... mmmh... well, for sure I type faster on telnet than them trying to disable some strange service in Control Panel, while phoning to Micro$oft wait-a-minute-please tech support.
Then, I think I'll go out and I'll buy a tricycle.