I cringe when my son reads MAD, but it was probably just as nihlistic and subversive in the 1970s as it is today.
I bought a copy of Mad for my son a couple months ago, and it was awful - as in pitiful and unfunny. Maybe I'm just remembering it more fondly than it deserves, but I still think it was better when Don Martin was around and Al Jaffee did more than just the fold-in.
If we create a wrapper for it and modify the original code to fix some bugs and/or integrate better with our system, do we then need to make ALL our code GPL?
I guess I'm not very sympathetic to your cause. You want to use someone else's code to make a profit, but don't want to owe them anything at all. Some authors - particularly the BSD crowd - are OK with that. The rest of the world thinks you're a leech.
That is the situation where GPL leads us to. Inability for small companies to profit from mplayer code means that only large companies like Microsoft or Apple will be able to sell closed source video players.
Cry me a freakin' river. Your problem is that you're lazy and want someone to hand you a market.
Here's a novel concept: find something and make a plan to get people to want it. When every TV had rabbit ears, someone figured out how to get people to pay to watch it. When water was free, someone found a way to sell it. The difference between those people and you is that they got off their butts and made it happen. They didn't sit at home whining that someone else was already giving something away.
Can't compete with free? That's your problem. Either give people a reason to pay you anyway, or move on to a market that's not already wrapped up. I hear kids are buying video games these days. Could you do something like that, or would that be too much work for you?
The problem with BSD is that they can get away with it.
That's a perfect example of what the article is talking about. You see it as a problem, but BSD advocates see it as the system working as designed. Microsoft isn't "getting away" with anything - they're accepting an offered gift and using it like the givers hoped they would.
I personally use the GPL (and even v3 these days) for most of my non-trivial projects, but I can sure appreciate the mindset behind BSD.
If you overflow a buffer then it's a bug, whether it is exploitable or not.
It is today, but my questions is whether it was even overflowable (is that a word?) when it was written. For example, suppose it was written for a 512KB machine and had buffers that could theoretically hold 16MB, then it wasn't really a bug. The OS itself was protecting the process by its inability to manage that much data, and it wouldn't have been considered buggy to not test for provably impossible conditions.
I'm not saying that's what happened, and maybe it really was just a dumb oversight. However, I think there's a pretty strong likelihood that it was safe to run in the environment where it was written, and the real bug was in not addressing that design characteristic when porting it to a newer platform.
See also: Ariane 5. Its software worked great in the Ariane 4, but had interesting behavior when dropped into a faster system.
Was this a bug when it was originally written, or is it only because of recent developments that it could become exploitable? For instance, the summary mentions stack size. I could imagine that a system written in 1975 would be physically incapable of the process limits we use today, so maybe the program wasn't written to check for them.
Does your software ensure that it doesn't use more than an exabyte of memory? If it doesn't, would you really call it a bug?
The rendering engine in IE6 is FUBAR, sure, but it acted like a standard Microsoft Office program in terms of interface. Using IE7 is a very strange experience in comparison; many interface changes were made for NO REASON WHATSOEVER.
Isn't that the definition of working like a "standard Microsoft Office program in terms of interface"?
Suggestion: implement test-based development. Have regression and unit tests for code. Implement a policy that commits breaking the build will simply be rolled back by the "build cop" (ideally it's best if someone else is the build cop since this defuses the interpersonal aspect of the issue).
I'll go one better: hook it into version control. As an example, we write Python and store it in Subversion. It should be a few-minutes job to write a hook script that only gets executed against Python code that runs a checker like "pylint", gets a numeric score, and rejects anything lower than a certain value. Then it's impossible for anyone to check uncompliant code into the repository.
It's not perfect and you run into things like developers disabling warnings that truly don't apply to their code, but I still like the idea. You can always harangue Joe Bob about why his code has to disable 40 different checks before he can even commit it.
Comparing Java to C is more like comparing Craftsman to Snap-on, different brands of tools but they can both be used to do the same thing.
Did you really believe that when you wrote it, or do you just enjoy being contrary for the sake of jackassery?
Let me know how that PHP device driver is coming along, or the web app written in C. Next up: rewriting "ls" in Erlang, and IP telephony in assembler.
Almost all modern languages are Turing complete. Who cares? In the real world, languages have some distinct differences that go deeper than cosmetics, and those differences are why people choose one over the other (or even decide to write their own).
Crap like that drives me to drink. Honestly, there are plenty of vetted licenses out there to choose from; pick one. This stupid "not invented here" attitude of some hackers is counterproductive and just plain dumb, particularly when the subject matter isn't typical geek fare. How many lawyers do we have to pay to write almost the same document for no reason other than to feel special?
We'll stop when you are able to prove to the nice men who are protecting your country that you _don't_ have a hidden encrypted partition, and then they will let you go.
The people in a position to know that hidden volumes are possible are smart enough to know that it's also possible not to have them, and that it's mathematically impossible to disprove.
I ignored references to Scala until recently because I figured someone had updated the Amiga multimedia language, Scala, and I wasn't particularly interested in an updated version of something I'd never use.
Seriously, is it so hard to search for prior uses of a name these days?
Seen next month: Cobol, the interactive music description language.
I'll miss ICQ when they shut it down. I haven't gotten a real message from it in years (I think - I don't really pay attention to which service in Kopete I'm getting messages from), but I can't bring myself to stop connecting.
I have a very low 7-digit ID from right after it came out. It was pretty cool to be able to randomly chat with friends without having to log into an IRC channel and wait for them to remember to come online. One time I even bought a girl a computer for Valentine's Day just so I could talk to her while I was at my ISP tech support job; we ended up getting married.
ICQ sucks and it's spammy and doesn't do anything cool, but there's a lot of nostalgia in that crusty old system. I'll be sad the day when my login stops working for the last time.
I cringe when my son reads MAD, but it was probably just as nihlistic and subversive in the 1970s as it is today.
I bought a copy of Mad for my son a couple months ago, and it was awful - as in pitiful and unfunny. Maybe I'm just remembering it more fondly than it deserves, but I still think it was better when Don Martin was around and Al Jaffee did more than just the fold-in.
If we create a wrapper for it and modify the original code to fix some bugs and/or integrate better with our system, do we then need to make ALL our code GPL?
I guess I'm not very sympathetic to your cause. You want to use someone else's code to make a profit, but don't want to owe them anything at all. Some authors - particularly the BSD crowd - are OK with that. The rest of the world thinks you're a leech.
That is the situation where GPL leads us to. Inability for small companies to profit from mplayer code means that only large companies like Microsoft or Apple will be able to sell closed source video players.
Cry me a freakin' river. Your problem is that you're lazy and want someone to hand you a market.
Here's a novel concept: find something and make a plan to get people to want it. When every TV had rabbit ears, someone figured out how to get people to pay to watch it. When water was free, someone found a way to sell it. The difference between those people and you is that they got off their butts and made it happen. They didn't sit at home whining that someone else was already giving something away.
Can't compete with free? That's your problem. Either give people a reason to pay you anyway, or move on to a market that's not already wrapped up. I hear kids are buying video games these days. Could you do something like that, or would that be too much work for you?
The problem with BSD is that they can get away with it.
That's a perfect example of what the article is talking about. You see it as a problem, but BSD advocates see it as the system working as designed. Microsoft isn't "getting away" with anything - they're accepting an offered gift and using it like the givers hoped they would.
I personally use the GPL (and even v3 these days) for most of my non-trivial projects, but I can sure appreciate the mindset behind BSD.
if you want ls -l style output, "find -name 'a*' -exec ls -l {} \;"
Yeah, because nothing endears you with the greybeards like racing through the process table as fast as possible. Use something more sane like:
which only spawns a new process every few thousand entries or so.
If you overflow a buffer then it's a bug, whether it is exploitable or not.
It is today, but my questions is whether it was even overflowable (is that a word?) when it was written. For example, suppose it was written for a 512KB machine and had buffers that could theoretically hold 16MB, then it wasn't really a bug. The OS itself was protecting the process by its inability to manage that much data, and it wouldn't have been considered buggy to not test for provably impossible conditions.
I'm not saying that's what happened, and maybe it really was just a dumb oversight. However, I think there's a pretty strong likelihood that it was safe to run in the environment where it was written, and the real bug was in not addressing that design characteristic when porting it to a newer platform.
See also: Ariane 5. Its software worked great in the Ariane 4, but had interesting behavior when dropped into a faster system.
Was this a bug when it was originally written, or is it only because of recent developments that it could become exploitable? For instance, the summary mentions stack size. I could imagine that a system written in 1975 would be physically incapable of the process limits we use today, so maybe the program wasn't written to check for them.
Does your software ensure that it doesn't use more than an exabyte of memory? If it doesn't, would you really call it a bug?
I thought it was funnier the first time I said it. Write your own stuff, kid.
IPV6 patch for DJBDNS
Keyword: "patch". It'll probably never be part of the mainstream code that everyone gets by default.
However, my understanding is that BIND's IXFR implentation breaks if you use hand-written or tool-generated zone files.
Nope. How would it even know?
The rendering engine in IE6 is FUBAR, sure, but it acted like a standard Microsoft Office program in terms of interface. Using IE7 is a very strange experience in comparison; many interface changes were made for NO REASON WHATSOEVER.
Isn't that the definition of working like a "standard Microsoft Office program in terms of interface"?
Note that DJBDNS (and derivatives) are not affected, since it uses randmoized source ports for DNS resolving.
Also not affected: DJBDNS's IPv6 and IXFR functionality, since Dan didn't want to bother implementing them.
Suggestion: implement test-based development. Have regression and unit tests for code. Implement a policy that commits breaking the build will simply be rolled back by the "build cop" (ideally it's best if someone else is the build cop since this defuses the interpersonal aspect of the issue).
I'll go one better: hook it into version control. As an example, we write Python and store it in Subversion. It should be a few-minutes job to write a hook script that only gets executed against Python code that runs a checker like "pylint", gets a numeric score, and rejects anything lower than a certain value. Then it's impossible for anyone to check uncompliant code into the repository.
It's not perfect and you run into things like developers disabling warnings that truly don't apply to their code, but I still like the idea. You can always harangue Joe Bob about why his code has to disable 40 different checks before he can even commit it.
Because vim is only an editor, not a total environment. It doesn't have a compiler/linker/debugger attached.
It doesn't? I'm an Emacs guy, but even I can admit that Vim folks can do neat things with their cute little editor.
I use VS and Reshaper and am extremely productive. If I was using Java I would use Eclipse which is the same as VS and Reshaper combination.
The need to show "how good you are" with VIM is extremely lame!
Whereas your need to show "how good you are" with VS is extremely cool and attractive to women.
Branching and (especially) merging. I'd definately go with perforce for a large scale project - if only for the relatively pain free merging....
Have you tried branching/merging with SVN 1.5 out now? I have it installed in various places but haven't had the chance to really test it yet.
Comparing Java to C is more like comparing Craftsman to Snap-on, different brands of tools but they can both be used to do the same thing.
Did you really believe that when you wrote it, or do you just enjoy being contrary for the sake of jackassery?
Let me know how that PHP device driver is coming along, or the web app written in C. Next up: rewriting "ls" in Erlang, and IP telephony in assembler.
Almost all modern languages are Turing complete. Who cares? In the real world, languages have some distinct differences that go deeper than cosmetics, and those differences are why people choose one over the other (or even decide to write their own).
Crap like that drives me to drink. Honestly, there are plenty of vetted licenses out there to choose from; pick one. This stupid "not invented here" attitude of some hackers is counterproductive and just plain dumb, particularly when the subject matter isn't typical geek fare. How many lawyers do we have to pay to write almost the same document for no reason other than to feel special?
We'll stop when you are able to prove to the nice men who are protecting your country that you _don't_ have a hidden encrypted partition, and then they will let you go.
The people in a position to know that hidden volumes are possible are smart enough to know that it's also possible not to have them, and that it's mathematically impossible to disprove.
Do you complain that your car manufacturer puts out a new model of your car every year?
Does Shell routinely make new gasoline blends that only run on cars less than 3 years old?
I ignored references to Scala until recently because I figured someone had updated the Amiga multimedia language, Scala, and I wasn't particularly interested in an updated version of something I'd never use.
Seriously, is it so hard to search for prior uses of a name these days?
Seen next month: Cobol, the interactive music description language.
Yes, but I'm sure that a lot of them prefer IE 6 to IE 7.
On behalf of webmasters everywhere: those people should be taken out and shot.
You lucky bastard.
No luck involved, friend. ;-)
We'd been dating for a couple of months by then. I think I just got lucky though, and I doubt more women would like hardware than jewelry.
I'll miss ICQ when they shut it down. I haven't gotten a real message from it in years (I think - I don't really pay attention to which service in Kopete I'm getting messages from), but I can't bring myself to stop connecting.
I have a very low 7-digit ID from right after it came out. It was pretty cool to be able to randomly chat with friends without having to log into an IRC channel and wait for them to remember to come online. One time I even bought a girl a computer for Valentine's Day just so I could talk to her while I was at my ISP tech support job; we ended up getting married.
ICQ sucks and it's spammy and doesn't do anything cool, but there's a lot of nostalgia in that crusty old system. I'll be sad the day when my login stops working for the last time.
when I'm in a URL entry box, I don't expect to have searches on titles
Short answer: it's not a URL entry box anymore.