Personally, I find programming under Linux orders of magnitude more enjoyable than under Windows.
First of all, the tools are better. There are compilers, debuggers, IDEs, profilers, memory leak detectors, unit test frameworks, UML modelling programs, documentation generators, parser/compiler generators, GUI designers, version control software, and just about any other tool you can imagine. Those things all exist for Windows too, but they're usually really expensive and don't work together as well as the Linux software.
And the programming APIs are a lot better. Posix is huge, but it's well documented, and it's followed closely enough by all the Unix and Unix-like operating systems. There are differences and incompatibilities, but they're almost always documented.
Then there are perks like the shell and command line tools. The Unix shell and related tools (grep, awk, sed, sort,...) are incredibly powerful and IMHO unrivaled by anything on Windows. I have to use Windows at work, and almost every day I find myself doing some simple task that takes 3x longer than it should, simply because I don't have a decent shell.
Overall it probably comes down to personal preference and "If you have to ask...", but it's not all machismo.
I'm not sure if the article specifies the platform in question, but I've done exactly that a number of times with Java app servers, the decompiled code is quite readable. C/C++ of course would be a different story, but I'm sure it's possible (and in fact the rapidity with which copy-protection systems are broken suggests it's not _that_ hard).
But does the resulting Java code compile? It's been a little while since I had to decompile any Java, but last time I tried, stuff like exception handling, inner classes, auto-boxing/generics, and anotations usually threw the decompiler off. It worked well for seeing how something was implemented, or why it worked a particular way, but it definitely wouldn't work for fixing stuff. Helpful for devising a work around, though. I'd be interested in knowing whether the decompilers have gotten better.
As for decompiling C and C++, it's impossible to get anywhere near the original source code. There are tons of ways to convert most C++ statements to assembly language/machine code, and that's assuming no optimization. Even compiling at -O1 makes the job a lot harder. *If* the binary was compiled with debugging information, *and* no optimization, *and* the compiler did a really crappy job, you *might* be able to get something that almost resembled C++. Going back to binary afterwards would be a nightmare.
For breaking copy-protection systems, I'm pretty sure they just trace it through a debugger and look at the assembly language and machine code.
You assume teachers know how to do this. An English teacher doesn't need to know how to play cat and mouse with Windows security, S/he needs to know how to engage kids, teach kids and the subject in question. IT skills don't come into this what so ever.
Give me a fucking break. Do these idiot teachers need people to drive them to work and cook dinner for them? I mean, those are dangerous, complicated tasks. How can these poor teachers ever manage?
If they're smart enough to get through college, get a degree and teaching certificate, they should be able to complete a 2 hour course on how not to expose kids to porn on the interweb. Its hardly "IT skills."
I'm not convinced that's worthwhile. If I like trolling on web forums, how does that imply I wouldn't be a trustworthy seller on eBay? How does a good online reputation in any way guarantee that a person is qualified to write about a certain topic in Wikipedia? I don't see the connection.
Is the real issue the tab, or the posting of the tab on the internet.
The issue is someone other than the copyright holder distributing the coprighted tabs on the internet. Books with guitar tabs have been around forever, but they're usually published by or with the authorization of the copyright holder.
If thirty years ago I started selling a book of copyrighted guitar tabs without authorization, I would have been shutdown just like these web sites.
As people often point out, adding "... on the internet" isn't some magic phrase that makes something new and unique. Publishing unauthorized guitar tabs has always been illegal, it's not suddenly legal now that it's on the internet.
So, you are saying that because you think he and others subscribe to the "ignore the facts in favor of blind praise" category, that you would be childish enough to not evaluate the situation yourself and come to your own conclusion? And please dont claim now that that isnt what you meant - it is exactly what you said: "it's exactly the "ignore the facts in favor of blind praise" type people who drove me away from Firefox. "
Oh don't worry, that's exactly what I meant. To clarify, I'm saying that I've heard one too many people argue that Firefox using 5 times more memory than any other browsers is a "feature". Been told to replace my relatively new hardware one too many times after saying Firefox is slow and unresponsive. And been flamed more times than I can count for questioning Firefox's standards compliance. If I were the only person saying those things, I would deserve the flaming. But I'm not, and I still get flamed.
It's not all bad. There are many logical, thoughtful people who will actually think about complaints they hear, but they're much less vocal than the zealots.
Thinking for oneself seems to be a commodity few people want to buy anymore. You should try it though. And not because I am a "thinking for oneself" fanboy (though I am), but because you may like the results.
See, that's the thing, I am thinking for myself. Maybe, just maybe, it's the people flaming me for perceived insults against Firefox or its "community" who aren't thinking for themselves? I have a hard time believing that I'm the one blindly following group think here.
This whole thing is a big waste of time. Pedophiles looking for teenage ass don't use their real name on MySpace. It's that simple. If a former "sexual predator" is on MySpace with their real information, they're almost certainly "reformed". Former sexual predators would be the first suspects in most cases, so if they're bold enough to use their real information, they're probably making damn sure to keep their nose clean. If anything, they'll have a second account set aside just for that, complete with fake info.
The only result of these bannings is going to be a lot of 100% innocent people who've never been sexual predators getting kicked off of MySpace, effectively leaving all the kids alone with the pedophiles with more than 2 IQ points who used fake names.
The GGP post wasn't talking about the modifications mentioned in the article, he was talking about about:config changes in general. Obviously, the article isn't going to have "dangerous" about:config tweaks. But then the GP chimed in that more or less no matter what you do, Firefox will handle the changes admirably, which just isn't true. And so, for completely ignoring facts and blindly posting incorrect, positive comments anyway, I said he's a fanboy.
As for the other part of my comment, it's exactly the "ignore the facts in favor of blind praise" type people who drove me away from Firefox. Question anything about their precious, and they take it as a direct personal insult. I'm not joining a religion, I just want a web browser. Every project has them, but somehow Firefox seems to get the lion's share.
So, if he's a fanboy, what does that make you? Just curious.
If open source is for programmers only, than the proprietary software vendor has absolutely nothing to fear from the competition.
I hate to break it to you, but open source is for programmers. Other people can use it too, obviously, but the general idea, going back to the 70s with RMS, is that programmers can have the code for the programs they use, so they can tailor the software to their specific needs. If you lack the ability to modify the code, there's really no point in even having the code.
In any case, the "Fuck you, I want everything my way, free of charge, just because I say so" attitude of the GP post is stupid any way you look at it. Unless he's going to put in the effort to actually fix and customize the software just the way he wants it, he's going to get what ever he's given, and he's going to like it, because that's the only choice he has.
So you're saying that IE is superior to FF in this regard. After all, I can tell IE to not search from the address bar, and you know what? It doesn't. I try telling FF the same thing and it says F.U.?
Sigh. It's not like you can't change the source code. You know, the source code? That stuff that people are always blabbering about being "open"? Why bother with open source if you don't even take advantage of it for something this simple?
I want what I ask for, not what some for-profit company wants me to see.
I've made programs, specifically, spiders, that can run 200-1,000 simultaneous threads usefully on a PC. They work ok, as long as the inter-thread coupling is minimized.
That's exactly what makes parrallel programming so hard. It's not easy to split most tasks into independent sub-sections with minimal coupling.
Writing a massively parrallel web spider is conceptually very easy. You can fetch 1000 web pages in parrallel and process them at the same time because each thread has its own set of data. But most intensive calculations aren't cases of doing the same thing with different data a whole bunch of times. For example, inverting a large matrix, parsing a large input file, or laying out a large document. I'm sure there are parrallel algorithms for them, but they're far less obvious than web spidering.
I've often wondered if parallel programming would be easier if it were done in Chinese characters instead of English/European alphabetical characters.
Perhaps having a Chinese character represent a simple block of pre-compiled code that does one simple thing. Then the characters could be placed in two-dimensional order to form parallel threads. This would require a completely different approach to compiler development. But that would be OK because compilers are stuck in the 1970s anyway.
Maybe I'm a "bit thick", but that doesn't make any sense to me. It's an interesting idea, but I just don't see how it'd help parrallelize things. At the very least, it seems to be solving the wrong problem.
The biggest problem right now is that it's really hard to split most tasks into parts that can be performed at the same time. Once a parrallel algorithm is devised, it's relatively easy to write a program that performs the task in parrallel.
Also, I don't know what you mean about compilers being stuck in the 70s. There have been massive improvements to compilers in the last 40 years.
Just getting away from the idea of having code based on a very limited set of alphanumeric characters strung together like beads on a string might help unlock a whole new era of innovative approaches to parallel program development strategies.
But programming doesn't work like that. Individual characters in a programming language are almost irrelevant.
That's always possible. But if your friend was that pissed when you just took his keys away, think how pissed he's going to be when you take his keys away and cost him hundreds of dollars.
Why exactly they would want to keep and associate search records with individuals for two years or more seems an absolute mystery to me, and perhaps it's slightly creepy. But to my knowledge there's not a single instance of this data having been abused for blackmail, investigation for sedition, investigation for drug use, etc. All of these are clearly possibile, however.
<sarcasm>I agree 100%. We should wait for it to become a huge, entrenched problem first. Then, when this information is being lost and leaked onto the net, and people are being blackmailed and investigated with retained information left and right, we should fix it then. Thus far, corporations have a nearly pristine track record of managing private information. If it ain't broke, don't fix it.</sarcasm>
Or, maybe it hasn't been a problem because 99.9999% of companies in Europe are obeying the laws?
Oh, and can some raving Google fanboy please explain this:
Google caves in to oppressive laws of communist Chinese government == good
Google breaks consumer friendly laws of democratic EU == also good?!? WTF?
What exactly does Google have to do for you all stop mindlessly promoting them as some friendly "not evil" corporation, and realize they're no different than MS, Adobe, Sony, and all the rest?
That's nonsensical. If I download code, with the intent of using that code for something, I am the user. GPL has some pretty harsh restrictions on what the users of the code can do. MIT and BSD licenses also have some restrictions, but they're no where near as restrictive as the GPL.
As far as I can tell, neither BSD, MIT, or GPL licenses really care about the people who only intend to use the compiled software. The only real difference for the final end user is that they'll ignore "This product contains BSD licensed code", or they'll ignore "This product is released under the GPL"
Because your email address is still going to be "whoever@isp.com", and it's still going to be controlled by the ISP. Except instead of the 25-50 MB of email most ISPs offer, you can have up to 10 gigs.
Because clearly one person should own an idea for a particular amount of time, even if others come up with the idea independently. That sounds fair to me [/sarcasm]
If I unknowingly came up with a game very similar to one of theirs, with similar graphics, sound and gameplay, they wouldn't hesitate to sue the shit out of me. I'm not saying it's right or wrong, only that it's more fair when it works both ways.
As far as I'm concerned, if one of their designers coincidentally comes up with an idea very similar to one submitted for the contest, they deserve to be sued. I understand why the clause is there, I just don't think it's very fair.
since linux doesn't have drivers, it is essentially dead on the desktop.
Look, if you want to be an anti-linux flamer, fine. But please stop using arguments from 10 years ago.
My wireless mouse, wireless gamepad, digital camera, digital video camera, printer, wireless network cards, graphics cards, and sound cards on five machines all work, flawlessly, out of the box, on almost every Linux distro I've tried for the past 12 months. Right now, Linux supports more hardware than Vista.
There are plenty of good reasons to criticize Linux, but complaining about drivers just makes you look like an idiot.
Consider using Camino... While Safari is nice, Camino uses the Mozilla Gecko engine instead of the KHTML engine... Given Firefox's popularity you're more likely to have well rendered sites for Camino than Mozilla...
Yeah, but KHTML has better standards compliance. If you're going to take the "pages show up better" route, you might as well use IE.
Wikipedia is something that the authors of the beginners guide can use to make sure that their facts are right (but unfortunately too few of them do this).
I really hope not. I love Wikipedia, but I love it as a quick reference and because it's great for useless trivia. If I'm personally curious about $RANDOM_TOPIC, I'll check Wikipedia. But if I need to know about $RANDOM_TOPIC for anything more serious than personal curiosity, I choose a different source. I've seen way too many uncited/"disputed"/blatantly wrong/questionable/vandalized Wikipedia articles to take it any more serious than that.
My point being, if someone's writing a book, even a beginner's guide, they should use a more definitive reference than Wikipedia.
NAT is great for real world politics. I have some small networks which need to be set up in a certain way, and connected to the company LAN for the time being. But I don't want to have to redesign them to suit the current fashion in office networks so I just say to the network nazis that this network is really one box and you don't have to know what is behind the box. Its easier that way, believe me.
I'm pretty sure you can use NAT and IPv6 at the same time. With IPv4 you're forced to use NAT because there aren't enough addresses to go around. IPv6 provides enough addresses, so you only use NAT if you want to.
Personally, I find programming under Linux orders of magnitude more enjoyable than under Windows.
First of all, the tools are better. There are compilers, debuggers, IDEs, profilers, memory leak detectors, unit test frameworks, UML modelling programs, documentation generators, parser/compiler generators, GUI designers, version control software, and just about any other tool you can imagine. Those things all exist for Windows too, but they're usually really expensive and don't work together as well as the Linux software.
And the programming APIs are a lot better. Posix is huge, but it's well documented, and it's followed closely enough by all the Unix and Unix-like operating systems. There are differences and incompatibilities, but they're almost always documented.
Then there are perks like the shell and command line tools. The Unix shell and related tools (grep, awk, sed, sort, ...) are incredibly powerful and IMHO unrivaled by anything on Windows. I have to use Windows at work, and almost every day I find myself doing some simple task that takes 3x longer than it should, simply because I don't have a decent shell.
Overall it probably comes down to personal preference and "If you have to ask...", but it's not all machismo.
But does the resulting Java code compile? It's been a little while since I had to decompile any Java, but last time I tried, stuff like exception handling, inner classes, auto-boxing/generics, and anotations usually threw the decompiler off. It worked well for seeing how something was implemented, or why it worked a particular way, but it definitely wouldn't work for fixing stuff. Helpful for devising a work around, though. I'd be interested in knowing whether the decompilers have gotten better.
As for decompiling C and C++, it's impossible to get anywhere near the original source code. There are tons of ways to convert most C++ statements to assembly language/machine code, and that's assuming no optimization. Even compiling at -O1 makes the job a lot harder. *If* the binary was compiled with debugging information, *and* no optimization, *and* the compiler did a really crappy job, you *might* be able to get something that almost resembled C++. Going back to binary afterwards would be a nightmare.
For breaking copy-protection systems, I'm pretty sure they just trace it through a debugger and look at the assembly language and machine code.
Give me a fucking break. Do these idiot teachers need people to drive them to work and cook dinner for them? I mean, those are dangerous, complicated tasks. How can these poor teachers ever manage?
If they're smart enough to get through college, get a degree and teaching certificate, they should be able to complete a 2 hour course on how not to expose kids to porn on the interweb. Its hardly "IT skills."
I'm not convinced that's worthwhile. If I like trolling on web forums, how does that imply I wouldn't be a trustworthy seller on eBay? How does a good online reputation in any way guarantee that a person is qualified to write about a certain topic in Wikipedia? I don't see the connection.
The issue is someone other than the copyright holder distributing the coprighted tabs on the internet. Books with guitar tabs have been around forever, but they're usually published by or with the authorization of the copyright holder.
If thirty years ago I started selling a book of copyrighted guitar tabs without authorization, I would have been shutdown just like these web sites.
As people often point out, adding "... on the internet" isn't some magic phrase that makes something new and unique. Publishing unauthorized guitar tabs has always been illegal, it's not suddenly legal now that it's on the internet.
Oh don't worry, that's exactly what I meant. To clarify, I'm saying that I've heard one too many people argue that Firefox using 5 times more memory than any other browsers is a "feature". Been told to replace my relatively new hardware one too many times after saying Firefox is slow and unresponsive. And been flamed more times than I can count for questioning Firefox's standards compliance. If I were the only person saying those things, I would deserve the flaming. But I'm not, and I still get flamed.
It's not all bad. There are many logical, thoughtful people who will actually think about complaints they hear, but they're much less vocal than the zealots.
See, that's the thing, I am thinking for myself. Maybe, just maybe, it's the people flaming me for perceived insults against Firefox or its "community" who aren't thinking for themselves? I have a hard time believing that I'm the one blindly following group think here.
This whole thing is a big waste of time. Pedophiles looking for teenage ass don't use their real name on MySpace. It's that simple. If a former "sexual predator" is on MySpace with their real information, they're almost certainly "reformed". Former sexual predators would be the first suspects in most cases, so if they're bold enough to use their real information, they're probably making damn sure to keep their nose clean. If anything, they'll have a second account set aside just for that, complete with fake info.
The only result of these bannings is going to be a lot of 100% innocent people who've never been sexual predators getting kicked off of MySpace, effectively leaving all the kids alone with the pedophiles with more than 2 IQ points who used fake names.
The GGP post wasn't talking about the modifications mentioned in the article, he was talking about about:config changes in general. Obviously, the article isn't going to have "dangerous" about:config tweaks. But then the GP chimed in that more or less no matter what you do, Firefox will handle the changes admirably, which just isn't true. And so, for completely ignoring facts and blindly posting incorrect, positive comments anyway, I said he's a fanboy.
As for the other part of my comment, it's exactly the "ignore the facts in favor of blind praise" type people who drove me away from Firefox. Question anything about their precious, and they take it as a direct personal insult. I'm not joining a religion, I just want a web browser. Every project has them, but somehow Firefox seems to get the lion's share.
I guess I'm just a guy who doesn't like bullshit.
I hate to break it to you, but open source is for programmers. Other people can use it too, obviously, but the general idea, going back to the 70s with RMS, is that programmers can have the code for the programs they use, so they can tailor the software to their specific needs. If you lack the ability to modify the code, there's really no point in even having the code.
In any case, the "Fuck you, I want everything my way, free of charge, just because I say so" attitude of the GP post is stupid any way you look at it. Unless he's going to put in the effort to actually fix and customize the software just the way he wants it, he's going to get what ever he's given, and he's going to like it, because that's the only choice he has.
Heh, it's because of fanboys like you (among other things) that I don't use Firefox.
Sigh. It's not like you can't change the source code. You know, the source code? That stuff that people are always blabbering about being "open"? Why bother with open source if you don't even take advantage of it for something this simple?
With that attitude, even. Sad.
That's exactly what makes parrallel programming so hard. It's not easy to split most tasks into independent sub-sections with minimal coupling.
Writing a massively parrallel web spider is conceptually very easy. You can fetch 1000 web pages in parrallel and process them at the same time because each thread has its own set of data. But most intensive calculations aren't cases of doing the same thing with different data a whole bunch of times. For example, inverting a large matrix, parsing a large input file, or laying out a large document. I'm sure there are parrallel algorithms for them, but they're far less obvious than web spidering.
Maybe I'm a "bit thick", but that doesn't make any sense to me. It's an interesting idea, but I just don't see how it'd help parrallelize things. At the very least, it seems to be solving the wrong problem.
The biggest problem right now is that it's really hard to split most tasks into parts that can be performed at the same time. Once a parrallel algorithm is devised, it's relatively easy to write a program that performs the task in parrallel.
Also, I don't know what you mean about compilers being stuck in the 70s. There have been massive improvements to compilers in the last 40 years.
But programming doesn't work like that. Individual characters in a programming language are almost irrelevant.
That's always possible. But if your friend was that pissed when you just took his keys away, think how pissed he's going to be when you take his keys away and cost him hundreds of dollars.
Yeah... But that's a false dichotomy. Could just as easily take the key or hide it. No need to be an asshole and erase it.
<sarcasm>I agree 100%. We should wait for it to become a huge, entrenched problem first. Then, when this information is being lost and leaked onto the net, and people are being blackmailed and investigated with retained information left and right, we should fix it then. Thus far, corporations have a nearly pristine track record of managing private information. If it ain't broke, don't fix it.</sarcasm>
Or, maybe it hasn't been a problem because 99.9999% of companies in Europe are obeying the laws?
Oh, and can some raving Google fanboy please explain this:
Google caves in to oppressive laws of communist Chinese government == good
Google breaks consumer friendly laws of democratic EU == also good?!? WTF?
What exactly does Google have to do for you all stop mindlessly promoting them as some friendly "not evil" corporation, and realize they're no different than MS, Adobe, Sony, and all the rest?
That's nonsensical. If I download code, with the intent of using that code for something, I am the user. GPL has some pretty harsh restrictions on what the users of the code can do. MIT and BSD licenses also have some restrictions, but they're no where near as restrictive as the GPL.
As far as I can tell, neither BSD, MIT, or GPL licenses really care about the people who only intend to use the compiled software. The only real difference for the final end user is that they'll ignore "This product contains BSD licensed code", or they'll ignore "This product is released under the GPL"
Because your email address is still going to be "whoever@isp.com", and it's still going to be controlled by the ISP. Except instead of the 25-50 MB of email most ISPs offer, you can have up to 10 gigs.
If I unknowingly came up with a game very similar to one of theirs, with similar graphics, sound and gameplay, they wouldn't hesitate to sue the shit out of me. I'm not saying it's right or wrong, only that it's more fair when it works both ways.
As far as I'm concerned, if one of their designers coincidentally comes up with an idea very similar to one submitted for the contest, they deserve to be sued. I understand why the clause is there, I just don't think it's very fair.
Look, if you want to be an anti-linux flamer, fine. But please stop using arguments from 10 years ago.
My wireless mouse, wireless gamepad, digital camera, digital video camera, printer, wireless network cards, graphics cards, and sound cards on five machines all work, flawlessly, out of the box, on almost every Linux distro I've tried for the past 12 months. Right now, Linux supports more hardware than Vista.
There are plenty of good reasons to criticize Linux, but complaining about drivers just makes you look like an idiot.
Yeah, but KHTML has better standards compliance. If you're going to take the "pages show up better" route, you might as well use IE.
I'd love to see your "evidence" of god.
In fact, if you could give hard evidence that god exists, I would convert to christianity immediately. But I won't hold my breath.
I really hope not. I love Wikipedia, but I love it as a quick reference and because it's great for useless trivia. If I'm personally curious about $RANDOM_TOPIC, I'll check Wikipedia. But if I need to know about $RANDOM_TOPIC for anything more serious than personal curiosity, I choose a different source. I've seen way too many uncited/"disputed"/blatantly wrong/questionable/vandalized Wikipedia articles to take it any more serious than that.
My point being, if someone's writing a book, even a beginner's guide, they should use a more definitive reference than Wikipedia.
I'm pretty sure you can use NAT and IPv6 at the same time. With IPv4 you're forced to use NAT because there aren't enough addresses to go around. IPv6 provides enough addresses, so you only use NAT if you want to.