Well, it's perhaps not unreasonable to infer that erase() will invalidate the iterator, and if this was an isolated incident, then perhaps everything would be fine. The problem is that it's so easy to make a mistake in C++. And of course we can blame the programmers for not obeying the specs, because of course any competent programmer always write correct code, right?
I think it was DJB who said it should be easy to write correct code, and difficult to write incorrect. Still qmail for instance contains incorrect C code, including buffer-overflow conditions...
Ahh, yes, hehe, of course! It's the programmer's fault!
The problem is that C++ has a million side-effects to the simplest of operations. When the validity of a program depends on whether the programmer can remember minute details of the specification of the language, well, I think there is a slight problem...
Another example (from GOTW):
// In some header file: void f( T1*, T2* );
// In some implementation file: f( new T1, new T2 );
I'm sure the potential memory leaks here are completely obvious to you, but try to imagine that not everyone is intimately familiar with the C++ standard regarding sequence points, don't you think it's awfully easy to make a mistake in C++?
Sure, RAII, Pimpl, auto_ptr and whatnot, but even Mr.Sutter agrees that exception safety is not a trivial matter.
I loved C++ when I first saw it; now I'm convinced that it's completely evil...
Unless someone's a specification masochist (AKA guru), the odds are pretty damn low that they can actually write a valid C++ program.
For example, is it immediately obvious what is wrong with the code snippet below? This is from a genuine project, although the code has been trimmed for clarity; obviously there were more side-effects inside the loop originally.
for (MyMap_t::iterator i = mymap.begin(); i != mymap.end(); ++i) { mymap.erase(i); }
And let's not even get started on exception safety...;_;
Get the books "Exceptional C++", "More exceptional C++" by Herb Sutter and start quaking in your boots:/
By the way, there are many more bad things you can do as Administrator than just hack the boot sector.
I guess that's why Administrator (root) is a completely separate user on *NIX systems, not just an attribute of some logged in user.
Is this a better approach do you think? If so, why?
And have you heard of capabilities?
I think people have been trying to come up with modifications for the theory of gravity, but it's very difficult to make it fit all observations. Hence dark matter seems the best explanation still. And I'm not sure ad hoc modifications to theories (eg Modified Newtion Dynamics) just to exclude dark matter is so attractive either.
When you have broken the system security to release your own homebrew - then what? Challenge over?
Yep, and then you move on to a new challenge. In reality, though, breaking the system security is just one of the first steps to making homebrew software; there are still many challenges left.
Exactly. And different people like different things. For some people, the fun part is just breaking the security, and homebrew or whatever is not particularly exciting. For others, breaking the security is a necessity, but the fun part is what comes later.
In the past, I've been playing around with Playstation (the original), Dreamcast, and PSP. Although I did end up writing a devkit for Dreamcast, nothing became of it, and I realized that the interesting part for me was just reverse-engineering and figuring out the hardware. I'll let someone else do the other stuff.
If I try to explain why it's fun, maybe I can compare it to a crossword puzzle. It's challenging and as more and more stuff becomes clear, the easier it gets. The difficult part is at the beginning: nothing is known and everything is like a blank-slate. Everything is possible...
And there's nothing quite like discovering a security flaw. Sometimes it's almost unbelievable, like when I found the backdoor in the Dreamcast firmware. Almost makes you wonder if there is not something to it when people claim piracy helps a console and the console makers know it...
First we learn the difference between Dark Matter and Dark Energy! Then we learn then difference between Energy and Fundamental Interactions!! Then it's time for Disney Land, wohoo!
I flew Finnair to Japan a week ago and their entertainment system was also Linux based. How do I know? Because unfortunately it was very unstable. Ugly error messages were printed on-screen, movies stopped in the middle and needed to be restarted, and for at least three passengers (one being me) the system panic'ed and required a reboot:/
The spirit of the GPL is that it's ethically wrong to write and/or distribute software that does not adhere to the definition of 'free software' as specified by the FSF. The GPL is a tool in the struggle to eradicate non-free software, by ensuring that derivative works cannot be non-free.
Or perhaps Nvidia just prefers to give out their own product in a way themselves see fit. Naturally, to some people even handling proprietary software is morally in the same league as beating people. Or even, as I've seriously seen someone argue, that writing proprietary software is morally worse than murdering a human being ("in the view of society")
I think Linus has expressed that he doesn't think the nvidia driver is a derivative work of the Linux kernel (not particularly strange since its used on other platforms as well) and so he feels he doesn't have any right, legally or otherwise, to demand that nvidia release their driver under a license of his choosing...
Do you think there can be contributory infringement without primary infringement?
If Novell distributes GPL software in compliance with the license, who is infringing the copyright?
Novell isn't doing any "dirty work" because they were exempted from the clause that would have made it "dirty". So your example of "Joe'z Warez Sitez" is not applicable, because Novell isn't doing anything illegal.
You would have a point of the relevant clause had not been "grandfathered" and Novell was actually breaching the GPL (or copyright law). Then Microsoft would maybe have been considered for "secondary liability", but since what Novell is doing is perfectly fine, obviously Microsoft's actions cannot be considered infringement of copyright!
Funny that so GPL advocates seems to be fighting to extend copyright, even though in the beginning the GPL was made to combat it...
Ridley Scott didn't understand his own movie. Deckard being a replicant is so lame and such a cheap shot. If he is a human on the other hand the point of the film remains intact and not destroyed for a gimmick.
*Sigh* Christopher Tolkien is not at all interested in "complet[ing] the unfinished works of his father", your desire for readable stories notwithstanding.
The Silmarillion is the sole example of Christopher Tolkien actively completing something of his fathers work on Middle Earth, and that was only by necessity. Your assertion that Christopher "barely touched" Silmarillion is funny, since the legendarium at the end of Tolkien's life was in such a disarray that JRR Tolkien himself realized he could never complete it. At the request of his father, Christopher nevertheless tried to edit together and resolve conflicts in manuscripts from as separate dates as the 1910s until the 1970s. The Silmarillion is where Christopher Tolkien in fact had to exercise the most of his editorial role. He had to change, edit and even invent and write a story himself at one point, because there was a gap in the original manuscripts.
The purpose of the History of Middle Earth reproduces the contents of the original manuscripts that were used in the compilation of the Silmarillion, as well as other short writings and essays. They are not meant to be complete. Christopher Tolkien presents the texts raw and then discusses them and gives information *for scholarly purposes*!
Maybe you find it boring, but many people are very grateful to be able to follow and understand the history behind the manuscripts, and learn new information about Tolkien's mythology and that is exactly why Christopher Tolkien wanted to publish them.
Maybe :p
Well, it's perhaps not unreasonable to infer that erase() will invalidate the iterator, and if this was an isolated incident, then perhaps everything would be fine. The problem is that it's so easy to make a mistake in C++. And of course we can blame the programmers for not obeying the specs, because of course any competent programmer always write correct code, right?
I think it was DJB who said it should be easy to write correct code, and difficult to write incorrect. Still qmail for instance contains incorrect C code, including buffer-overflow conditions...
The problem is that C++ has a million side-effects to the simplest of operations. When the validity of a program depends on whether the programmer can remember minute details of the specification of the language, well, I think there is a slight problem...
Another example (from GOTW):
I'm sure the potential memory leaks here are completely obvious to you, but try to imagine that not everyone is intimately familiar with the C++ standard regarding sequence points, don't you think it's awfully easy to make a mistake in C++?
Sure, RAII, Pimpl, auto_ptr and whatnot, but even Mr.Sutter agrees that exception safety is not a trivial matter.
And have you heard of capabilities?
Well, somebody at Sega certainly seemed to be a "fucking moron" when they decided to put in that backdoor...
I think people have been trying to come up with modifications for the theory of gravity, but it's very difficult to make it fit all observations. Hence dark matter seems the best explanation still. And I'm not sure ad hoc modifications to theories (eg Modified Newtion Dynamics) just to exclude dark matter is so attractive either.
Exactly. And different people like different things. For some people, the fun part is just breaking the security, and homebrew or whatever is not particularly exciting. For others, breaking the security is a necessity, but the fun part is what comes later.
In the past, I've been playing around with Playstation (the original), Dreamcast, and PSP. Although I did end up writing a devkit for Dreamcast, nothing became of it, and I realized that the interesting part for me was just reverse-engineering and figuring out the hardware. I'll let someone else do the other stuff.
If I try to explain why it's fun, maybe I can compare it to a crossword puzzle. It's challenging and as more and more stuff becomes clear, the easier it gets. The difficult part is at the beginning: nothing is known and everything is like a blank-slate. Everything is possible...
And there's nothing quite like discovering a security flaw. Sometimes it's almost unbelievable, like when I found the backdoor in the Dreamcast firmware. Almost makes you wonder if there is not something to it when people claim piracy helps a console and the console makers know it...
First we learn the difference between Dark Matter and Dark Energy! Then we learn then difference between Energy and Fundamental Interactions!! Then it's time for Disney Land, wohoo!
Oops ignore, I should read more carefully, hehe
http://en.wikipedia.org/wiki/Quantum_suicide
Drop root privileges after chroot()?
I flew Finnair to Japan a week ago and their entertainment system was also Linux based. How do I know? Because unfortunately it was very unstable. Ugly error messages were printed on-screen, movies stopped in the middle and needed to be restarted, and for at least three passengers (one being me) the system panic'ed and required a reboot :/
The spirit of the GPL is that it's ethically wrong to write and/or distribute software that does not adhere to the definition of 'free software' as specified by the FSF. The GPL is a tool in the struggle to eradicate non-free software, by ensuring that derivative works cannot be non-free.
Or perhaps Nvidia just prefers to give out their own product in a way themselves see fit. Naturally, to some people even handling proprietary software is morally in the same league as beating people. Or even, as I've seriously seen someone argue, that writing proprietary software is morally worse than murdering a human being ("in the view of society") I think Linus has expressed that he doesn't think the nvidia driver is a derivative work of the Linux kernel (not particularly strange since its used on other platforms as well) and so he feels he doesn't have any right, legally or otherwise, to demand that nvidia release their driver under a license of his choosing...
Do you think there can be contributory infringement without primary infringement? If Novell distributes GPL software in compliance with the license, who is infringing the copyright?
Novell isn't doing any "dirty work" because they were exempted from the clause that would have made it "dirty". So your example of "Joe'z Warez Sitez" is not applicable, because Novell isn't doing anything illegal.
You would have a point of the relevant clause had not been "grandfathered" and Novell was actually breaching the GPL (or copyright law). Then Microsoft would maybe have been considered for "secondary liability", but since what Novell is doing is perfectly fine, obviously Microsoft's actions cannot be considered infringement of copyright!
Funny that so GPL advocates seems to be fighting to extend copyright, even though in the beginning the GPL was made to combat it...
Ridley Scott didn't understand his own movie. Deckard being a replicant is so lame and such a cheap shot. If he is a human on the other hand the point of the film remains intact and not destroyed for a gimmick.
*Sigh* Christopher Tolkien is not at all interested in "complet[ing] the unfinished works of his father", your desire for readable stories notwithstanding. The Silmarillion is the sole example of Christopher Tolkien actively completing something of his fathers work on Middle Earth, and that was only by necessity. Your assertion that Christopher "barely touched" Silmarillion is funny, since the legendarium at the end of Tolkien's life was in such a disarray that JRR Tolkien himself realized he could never complete it. At the request of his father, Christopher nevertheless tried to edit together and resolve conflicts in manuscripts from as separate dates as the 1910s until the 1970s. The Silmarillion is where Christopher Tolkien in fact had to exercise the most of his editorial role. He had to change, edit and even invent and write a story himself at one point, because there was a gap in the original manuscripts. The purpose of the History of Middle Earth reproduces the contents of the original manuscripts that were used in the compilation of the Silmarillion, as well as other short writings and essays. They are not meant to be complete. Christopher Tolkien presents the texts raw and then discusses them and gives information *for scholarly purposes*! Maybe you find it boring, but many people are very grateful to be able to follow and understand the history behind the manuscripts, and learn new information about Tolkien's mythology and that is exactly why Christopher Tolkien wanted to publish them.