if you are not using swap and the system begins to run out of memory, it starts throwing out pages of active programs from memory. Very soon they are loaded again from disk when those parts are needed. This causes a disk-grinding circus that feels like swapping.
What you describe/is/ swapping, which makes it odd since you started with "if you are not using swap". Care to elaborate on what exactly you did, under what circumstances?
You've got it backwards, the init scripts don't depend on system V init (wtf is sytem V rc?), system V init depends on the init scripts. Nothing stops me from running an init script on a system where there's no system V init, or which isn't system V to begin with. Everything stops me from using any of the little systemd fragments independently from the whole "ecosystem" being in place.
The only difference that results in (resulted in, it's getting better lately) is that BSD-licensed code gets used, while GPL'ed code doesn't get used, for commercial purposes. Furthermore, getting upstream to add your changes is cheaper since you no longer need to maintain them yourself, so companies still have good reasons to contribute back. The OpenBSD people's take on the matter is:
People sometimes ask if it bothers us that our free work is put into commercial products. The answer is, we would prefer that our good code be widely used rather than have commercial software vendors reimplement and create badly coded or incompatible alternative solutions to already solved problems. For example, it is likely that SSH is a widely used protocol due to this freedom, much more widely used than if restrictions had been placed on how people used the OpenSSH code. If a free SSH solution was not available for vendors to use (in their multitude of rapidly developed products), they would have written or purchased some crummy off-the shelf version instead.
Now, about
If you publish the same code under GPL, and even a single other developer shows some interest and adds something to your work, and in turn decides to distribute that to others, you may get rewarded by additional functionality.
FTFY. It's kind of important to note that as long as you don't plan on distributing your modified version (and in many cases, why would you?) , you're not required to, well, distribute your modified sources. Then, many modifications will just be horrible hacks to scratch some immediate itch, which you wouldn't at all want in your source base, so GPLing stuff is far from providing a guaranteed enhancement return, even if there is interest.
Sure they should. There should be clear rules about when it has to be on, with serious consequences of breaking those rules. And by serious consequences i don't mean "internally investigated"...
So you mean, after answering http://example.com/'s cookie question with 'no', it would rewrite all links to, say http://example.com/nocookies/, which behaves identical except not asking for a cookie? Fair enough, then.
If on the other hand you mean encoding a session ID in the url, which this:
cookies are often JUST use for authentication. each url is fully complete and describes entirely what is asked of the REST service
seems to imply (does it? if not, how tell different users apart?) then the answer is no, that's not a good idea and already addressed in (my) GP comment
I only see that happening by essentially putting the cookie, i.e. the session id, as a GET parameter. I hope that's not what you're thinking about because that's even more horrible than using a cookie.
You could add a parameter to the URL, specifying no cookies.
Yes. As said in the post you were replying to, that's even more horrible.
I'm not at all a web "programmer", so excuse my ignorance. How exactly would you reliably keep "such a bit of state" without cookies? I only see that happening by essentially putting the cookie, i.e. the session id, as a GET parameter. I hope that's not what you're thinking about because that's even more horrible than using a cookie.
In my opinion, Police officers should be begging for tamper resistant body cams. It helps the honest cops and would help weed out the bad ones.
Assuming the majority of cops are in fact honest 'good cops', we should expect to see some serious begging for tamper resistant body cams. Do we? (Or rather, do you? I don't live in the US)
No, I think they would happen simultaneously. If I were the engineer designing the automated navigation system, I would consider this problem and specify the system only operate on well-mapped roads and would talk to the map provider to get details on how accurate and recent their maps are. Perhaps cross match them to other available mapping data. Then I would preclude the system from operating on roads with data integrity below a certain threshold.
I would inform the navigation data provider of this, and the purchaser of the vehicle. Then there'd be a/. article about how "9% Of Mapping Data Unusable For Autonomous Driving." And the crowd would start a lengthy systemd flamewar and meanwhile the companies that provide mapping data would produce the better data they'd already been working on anyway because they're not complete morons.
Fixed that minor incorrectness for you. Apart from that, well said.
Did I ask you, dear AC, or hcs_$reboot? I'm fairly confident that he wouldn't have managed to answer it, but thanks for ruining it anyway. Besides, static isn't part of the type so your feeble attempt to demonstrate that AC knows C is 33% failure.
In this particular case I just happen to know exactly what they were thinking when they were implementing this feature, because they are my colleagues (even if I don't work on the team that works on C++):)
Heh, fair enough. I guess I can't argue with that. Pretty surprising, though, because looking at your username here, the unix is kind of showing;)
Well i said 'largely'; the list of dedicated C99 features seems quite small; two of the four newly supported C99 language features are _Bool and mixing declarations and code. The other two, designated initializers and compound literals, okay. Not very far from C++ initializer lists, but yes this might be the part where MS actually paid a little attention to C. Your argument about open source libs does make sense, too, but purely from experience I would have expected MS to not give a damn:).
OP is likely confusing the special exception that int main([void]) gets for a general rule. For main, you can indeed return nothing, despite its return type, and that is equivalent to returning 0. This works in both C and C++.
Yeah that sounds likely. I never understood why C99 intruduced that implicit return for main while at the same time doing away with most of the 'implicit int' nonsense...
the <tt> tags appear when you click "Quote Parent" under the reply box. However, i figured it out, it was the comment posting mode that can be set in the account settings; it has to be "Plain old text" (but still supports HTML, oh well..)
Thanks.:)
The fact that Internet protocols use 8-bit bytes and either ASCII or its superset UTF-8.
Binary protocols are a bit more substantial an argument here than text protocols, in which the matter could (but in practice rarely isn't) be addressed at the presentation layer. Of course, the part which does the actual conversion between host and network character encoding cannot be agnostic of the latter since it needs a means to translate between corresponding characters of the involved, but it could still be written in portable, strictly conforming C. This could in theory be applied to binary protocols as well, but unlikely to be worth the hassle as binary protocols tend to carry a few implicit assumption about the involved systems. To some degree, (byte order, mainly), it is done, though.
Last time I checked, the C standard offered no facility for networking, graphics, or even enumeration of the files in a directory. This means most nontrivial interactive programs will need to use POSIX or Windows functions, which are defined in the POSIX and Win32 specifications but are undefined behavior from the perspective of the C standard, in order to access the data that the program is (de)serializing in the first place. Or is there a portable way to do this that I'm somehow missing?
Depends. Strictly conforming C programs can be rather useless, yes. (Can also be rather useful, though, as most of the common unix filters could actually be implemented that way). As for portability in the light of networking and graphics, yes, obviously once settling for some more specific standard to adhere to, like POSIX, you're not portable across all platforms that support C anymore. Whether or not that's acceptable depends on what the developer intends to do; personally i'm following the general rule "Strictly conforming where possible, POSIX where necessary", with hopefully somewhat of a clean cut between the respective parts of a project, and as a result i get software that works on all platforms relevant to me, and if necessary is rather easily ported to other platforms.
BTW: It's mostly the implementation-defined and unspecified behaviour which standards like POSIX define. Defining undefined behaviour might also happen here and there, but that strikes me as less common
I have to compile with Visual Studio 2010, which doesn't support C99 syntax. So as of about today I'm still not allowed to, even if the rest of the world has been enjoying it for 16 years. VS2012 doesn't have it either; but i hear VS2013 does.:)
Yes and no; VS2013 seems to understand a bit more or C99, but that isn't because Microsoft would suddenly have started caring about their C compiler. Their C++ compiler got a bit of an upgrade wrt. more recent changes to the C++ standard, and the C compiler understanding a few C99 idioms is largely a side-effect/waste-product of that process.
The specific example I gave was the issue:
An IF DEBUG; where the variable was only used within the debug conditional. [...]
Okay, I see what you mean now.
Your note that I can start a block anywhere -- Thanks; until now it hadn't occurred to me to use that expressly to inline declarations for debug blocks.
My pleasure. Would you mind returning the favor and teach me how you post code in a/. comment without/. eating the indentation?
And now guess what project the script you're trying to make look like a separate project belongs to?
I see you haven't given up your practice of taking down a straw man while completely missing the point yet. Too bad.
if you are not using swap and the system begins to run out of memory, it starts throwing out pages of active programs from memory. Very soon they are loaded again from disk when those parts are needed. This causes a disk-grinding circus that feels like swapping.
What you describe /is/ swapping, which makes it odd since you started with "if you are not using swap".
Care to elaborate on what exactly you did, under what circumstances?
You've got it backwards, the init scripts don't depend on system V init (wtf is sytem V rc?), system V init depends on the init scripts.
Nothing stops me from running an init script on a system where there's no system V init, or which isn't system V to begin with.
Everything stops me from using any of the little systemd fragments independently from the whole "ecosystem" being in place.
The only difference that results in (resulted in, it's getting better lately) is that BSD-licensed code gets used, while GPL'ed code doesn't get used, for commercial purposes. Furthermore, getting upstream to add your changes is cheaper since you no longer need to maintain them yourself, so companies still have good reasons to contribute back.
The OpenBSD people's take on the matter is:
People sometimes ask if it bothers us that our free work is put into commercial products. The answer is, we would prefer that our good code be widely used rather than have commercial software vendors reimplement and create badly coded or incompatible alternative solutions to already solved problems. For example, it is likely that SSH is a widely used protocol due to this freedom, much more widely used than if restrictions had been placed on how people used the OpenSSH code. If a free SSH solution was not available for vendors to use (in their multitude of rapidly developed products), they would have written or purchased some crummy off-the shelf version instead.
Now, about
If you publish the same code under GPL, and even a single other developer shows some interest and adds something to your work, and in turn decides to distribute that to others, you may get rewarded by additional functionality.
FTFY. It's kind of important to note that as long as you don't plan on distributing your modified version (and in many cases, why would you?) , you're not required to, well, distribute your modified sources.
Then, many modifications will just be horrible hacks to scratch some immediate itch, which you wouldn't at all want in your source base, so GPLing stuff is far from providing a guaranteed enhancement return, even if there is interest.
Sure they should.
There should be clear rules about when it has to be on, with serious consequences of breaking those rules.
And by serious consequences i don't mean "internally investigated"...
So you mean, after answering http://example.com/'s cookie question with 'no', it would rewrite all links to, say http://example.com/nocookies/, which behaves identical except not asking for a cookie? Fair enough, then.
If on the other hand you mean encoding a session ID in the url, which this:
cookies are often JUST use for authentication. each url is fully complete and describes entirely what is asked of the REST service
seems to imply (does it? if not, how tell different users apart?) then the answer is no, that's not a good idea and already addressed in (my) GP comment
I only see that happening by essentially putting the cookie, i.e. the session id, as a GET parameter. I hope that's not what you're thinking about because that's even more horrible than using a cookie.
You could add a parameter to the URL, specifying no cookies.
Yes. As said in the post you were replying to, that's even more horrible.
I'm not at all a web "programmer", so excuse my ignorance.
How exactly would you reliably keep "such a bit of state" without cookies?
I only see that happening by essentially putting the cookie, i.e. the session id, as a GET parameter. I hope that's not what you're thinking about because that's even more horrible than using a cookie.
In my opinion, Police officers should be begging for tamper resistant body cams. It helps the honest cops and would help weed out the bad ones.
Assuming the majority of cops are in fact honest 'good cops', we should expect to see some serious begging for tamper resistant body cams.
Do we? (Or rather, do you? I don't live in the US)
No, I think they would happen simultaneously. If I were the engineer designing the automated navigation system, I would consider this problem and specify the system only operate on well-mapped roads and would talk to the map provider to get details on how accurate and recent their maps are. Perhaps cross match them to other available mapping data. Then I would preclude the system from operating on roads with data integrity below a certain threshold.
I would inform the navigation data provider of this, and the purchaser of the vehicle. Then there'd be a /. article about how "9% Of Mapping Data Unusable For Autonomous Driving." And the crowd would start a lengthy systemd flamewar and meanwhile the companies that provide mapping data would produce the better data they'd already been working on anyway because they're not complete morons.
Fixed that minor incorrectness for you. Apart from that, well said.
Because extortion generally begins with an offer from the to-be-extorted party.... sure.
Did I ask you, dear AC, or hcs_$reboot? I'm fairly confident that he wouldn't have managed to answer it, but thanks for ruining it anyway.
Besides, static isn't part of the type so your feeble attempt to demonstrate that AC knows C is 33% failure.
In this particular case I just happen to know exactly what they were thinking when they were implementing this feature, because they are my colleagues (even if I don't work on the team that works on C++) :)
Heh, fair enough. I guess I can't argue with that. Pretty surprising, though, because looking at your username here, the unix is kind of showing ;)
If you're "outnitpicking" people who have read the standard, make sure you read it too ...
The irony. Sibling already explained it so I'll skip repeating that post purely to ridicule you that meta-fail.
That's good to know, thanks.
Well i said 'largely'; the list of dedicated C99 features seems quite small; two of the four newly supported C99 language features are _Bool and mixing declarations and code. The other two, designated initializers and compound literals, okay. Not very far from C++ initializer lists, but yes this might be the part where MS actually paid a little attention to C. :).
Your argument about open source libs does make sense, too, but purely from experience I would have expected MS to not give a damn
OP is likely confusing the special exception that int main([void]) gets for a general rule. For main, you can indeed return nothing, despite its return type, and that is equivalent to returning 0. This works in both C and C++.
Yeah that sounds likely. I never understood why C99 intruduced that implicit return for main while at the same time doing away with most of the 'implicit int' nonsense...
Yeah, it's really a shame that there's only one Tuesday per month. If only they had picked a different day...
I should add 'effectively'; of course technically, both are pull models, but you don't control most of the process on windows.
Because one's a push model and the other is a pull model.
the <tt> tags appear when you click "Quote Parent" under the reply box. :)
However, i figured it out, it was the comment posting mode that can be set in the account settings; it has to be "Plain old text" (but still supports HTML, oh well..)
Thanks.
I
/. translates it into 's inside <tt></tt> tags
must
be
stupid
That's:
<code>
I<br>
(tab)must<br>
(spaces)be<br>
stupid<br>
</code>
Not sure what I'm missing here. Whatever you did,
The fact that Internet protocols use 8-bit bytes and either ASCII or its superset UTF-8.
Binary protocols are a bit more substantial an argument here than text protocols, in which the matter could (but in practice rarely isn't) be addressed at the presentation layer. Of course, the part which does the actual conversion between host and network character encoding cannot be agnostic of the latter since it needs a means to translate between corresponding characters of the involved, but it could still be written in portable, strictly conforming C.
This could in theory be applied to binary protocols as well, but unlikely to be worth the hassle as binary protocols tend to carry a few implicit assumption about the involved systems. To some degree, (byte order, mainly), it is done, though.
Last time I checked, the C standard offered no facility for networking, graphics, or even enumeration of the files in a directory. This means most nontrivial interactive programs will need to use POSIX or Windows functions, which are defined in the POSIX and Win32 specifications but are undefined behavior from the perspective of the C standard, in order to access the data that the program is (de)serializing in the first place. Or is there a portable way to do this that I'm somehow missing?
Depends. Strictly conforming C programs can be rather useless, yes. (Can also be rather useful, though, as most of the common unix filters could actually be implemented that way).
As for portability in the light of networking and graphics, yes, obviously once settling for some more specific standard to adhere to, like POSIX, you're not portable across all platforms that support C anymore. Whether or not that's acceptable depends on what the developer intends to do; personally i'm following the general rule "Strictly conforming where possible, POSIX where necessary", with hopefully somewhat of a clean cut between the respective parts of a project, and as a result i get software that works on all platforms relevant to me, and if necessary is rather easily ported to other platforms.
BTW: It's mostly the implementation-defined and unspecified behaviour which standards like POSIX define. Defining undefined behaviour might also happen here and there, but that strikes me as less common
I have to compile with Visual Studio 2010, which doesn't support C99 syntax. So as of about today I'm still not allowed to, even if the rest of the world has been enjoying it for 16 years. VS2012 doesn't have it either; but i hear VS2013 does. :)
Yes and no; VS2013 seems to understand a bit more or C99, but that isn't because Microsoft would suddenly have started caring about their C compiler. Their C++ compiler got a bit of an upgrade wrt. more recent changes to the C++ standard, and the C compiler understanding a few C99 idioms is largely a side-effect/waste-product of that process.
The specific example I gave was the issue:
An IF DEBUG; where the variable was only used within the debug conditional. [...]
Okay, I see what you mean now.
Your note that I can start a block anywhere -- Thanks; until now it hadn't occurred to me to use that expressly to inline declarations for debug blocks.
My pleasure. Would you mind returning the favor and teach me how you post code in a /. comment without /. eating the indentation?