Sure, you will never have any trouble with some little test app. Load up a solution with several 100 000 lines of code, resharper and all the rest, and watch as the system starts to struggle. To be fair, I want all the features that are pushing the system to it's limits, but ever since studio became a.net monstrosity I don't feel like I'm getting much bang for my cycles.
The safe strcpy versions crash your program by default unless you go to a bunch of effort to handle the specialised exception in a different way. The basic idea is that buffer overruns are worse then crashing, so how about we crash straight away to reveal where the bug is. There is really no reason not convert all of your strcpy's etc to strcpy_s, you'll only crash when it would otherwise be a buffer overrun.
I've thought a little more about this issue. Slashdot at it's best is much like formal debating. A topic of discussion may arise and one member will lay out an argument; sometimes appealing to logical reason, sometimes to emotion. Sometimes the argument will be made with references to lend more weight, sometimes not. In the good case, someone with a differing view will come along and present their own argument, trying to be more persuasive in the alternate view. Often the two submitters will cross-examine each others arguments testing the weaknesses. If the moderation is doing its job, and both submitters are worthy, then all of this debate gets moderated up to high insightful scores, and the casual reader gets to see two well argued positions. What might not be obvious here is that there are two very important things that "no editing" provides. The first is that the arguments are presented as is, there can be no revision. Weaknesses in the argument must be addressed by subsequent posts. This is important as the reader can see the point - counter point - counter counter point, as it occurred. The second is that the type, preview, submit, "it'd better be right or I'll look like a goose!" cycle encourages people to take their time. Good insightful posts often take 1/2 hour or more to prepare. It's like a mini journal, reviewed by your peers.
In my opinion, the people that are keen on editing want Slashdot to be more of a forum so they can respond quickly without thinking, fix up any egregious errors, and otherwise try and dominate conversations with speed and volume rather than quality. We don't need a lot of "your an idiot", "no you're an idiot". The preview button exists so that you can proof read your work. I think this was a very deliberate decision, and moving away from it would change the nature of the content that you see in these discussions.
The moderation system, more than any other singular thing, is what defines Slashdot. Getting a +5 insightful on this forum means something, and that can't be said of many forums. Every rule of the moderation system, every quirk, has been thought out and refined over a long period of time. It's much like software; "why does this legacy thing do this craziness?" And then you look through the history and see the strange edge case that it solves. There would be no quicker way to destroy this place, then to move too quickly on the moderation system.
Having said that, there are things that could improve (such as enforcing the "no down mod because you disagree rule"), but slow down cowboy, slow down.
Enforcement of the rules in regards to moderation needs to be better. I know that's what meta moderation is meant to be all about, but I just don't think it's effective. The rule is don't down-mod because you don't like someone's post. Repeat offenders should simply not get mod points. Moderating comes with responsibility to do the right thing.
What's the big deal about typos? Personally I think it is much more valuable to be able to say "Slashdot comments are permanent, we don't delete, we don't allow you to delete". If you did decide to go down this route, at the very least it should be impossible to edit once moderated or after someone has replied to your post.
Editing is another way of saying "revisionism". If you can't edit your post, you also can't claim you "never said that". This goes into building a reputation as well. Some of us are fast and loose with lots of errors, some members you can see always take great care to post perfectly. This tells you something about that person. Don't pander to the anonymous posters here. They don't make the community, the logged in users do. Anonymous posting has a place, but I have no time for people who are unwilling to build a reputation behind a pseudo-handle.
This is a really interesting talk from 32c3 detailing the challenges involved in designing and verifying something as complex as a CPU where it can only be simulated at 1 Hz and costs 5 million to produce silicon for testing. https://www.youtube.com/watch?v=eDmv0sDB1Ak. The level of difficulty on getting this right just blows my mind. If it weren't for economies of scale CPU's would be completely out of reach. Also interesting in the talk is the vast number of CPU defects that are found and cataloged that most people appear to be unaware of. Most are of little importance (and hence don't get fixed), but some are fixed via code (as in this case), but there is no guarantee that these are being patched by OEM's.
Actually, just to add, I have worked with American and Canadian groups at various times (in fact I am right at the moment), so I'm not oblivious to the fact that american's (particularly from the south I think?) are much more sensitive to issues of courteous speech. Intra-group communication is invariably formal and courteous at any rate, but it's not a huge surprise to learn that this might be desired within a team as well. It's also my view that many Americans are blinkered in their understanding of the huge amount of variation in cultural norms; if you work in a French team or a Russian team, you will see very different dynamics to a British team for example. I try to take it all in my stride when I've worked in these teams (although it can take time to adapt), but I expect the same from others joining our team.
Well, I am not American and have never worked in the states; but I imagine if I did I'd adapt to your culture as necessary. But yes, if you came and worked with me I'd expect you to adapt to the culture of my group (which is very different, but influenced by the culture of the country it may be in). Also I would point out that my current company is extremely international with less than about 1/3 being from the country in which it is hosted. Nobody seems to mind the swearing, but I think you are wrongly associating swearing with hostility; it is never used in such a way (and if it is, it's clearly perceived as crossing the line). Not to say that people do not vent their frustrations using interesting language; in this workplace it's not considered an issue to swear and curse when passions are high. I have worked in groups where it was worse (swearing wise) and much more restrained. I come from an engineering background and am a little older, so perhaps norms are changing.
Well, if said dumb-ass had just submitted some obviously shit code and shoulda known better;) My point was that for many a programmer (me!), being told your code needs to be re-worked is about the most abusive thing you could ever do, the language you choose to use being rather immaterial. Still, if I had fucked up in a lazy obvious way; well I'd feel the sting as a well deserved sting. The code is much more important than people's feelings, and most (good!) programmers I have worked with feel the same way. Constructive confrontation I think it's called. Swearing is not about respect, unless the sweared at would view it that way; in fact I only swear at colleagues that I both respect and trust. I think a great deal of this is cultural, and that culture will vary from group to group. Still, if you come from the outside, you should respect the culture your entering, even if you disagree with it. (I once worked in another country where swearing at each other was simply not done, don't you know, and I managed to adapt).
It's always a war, because we are always competing. As soon as we stop, we die. As to your other point, if you tell your minions that their code is "bad" and they need to rewrite it, what difference if you swear or not? You seem to think that the harm is in the words used rather than the act. I'd suggest that there is no difference at all.
Well, I'm not sure people can detach emotionally, and I'm not sure the fact that a brutal attack on their code will be taken as an attack on them means that you can't attack the code. Linus is very suspicious of the word "professional", I am very suspicious of the word professional. The outcome that we seek in a technical environment is that the best technical solution is found and used. But individuals always invest part of themselves into any creative work, and will not be able to unbiasedly evaluate it, especially after it has been written. It is much easier to move away from a bad idea while it is still just an idea, than it is to admit that a function, feature, or product is simply bad or a bad fit. You still need to do it though. In normal work, I think how this should translate is that every idea should be savaged, attacked, (or if you prefer, refined) so that the problems are rectified before people have invested too much time or "self" into it. But getting back to your point; it's a war, it's always a war, and you can't always be nice when you're in a war.
But this what it really boils down to isn't it? It's not how Linus is communicating, it is what he is communicating. When people say he should be more "professional", what they are asking for is that the emotion be removed from the communication. Linus doesn't want to remove the emotion, he wants it to be plain and clear. I'm not sure which side of the fence I fall on this one; I don't think there is a clear right or wrong answer, but it hits people in that "belief" area, hence the emotion in response! Forthwrite communication is absolutely essential to a successful technical enterprise, so I think some emotion needs to be there. I'm just glad I work in an environment where most of my communication is verbal and not scrutinised by huge numbers of people.
Your response fails to communicate two emotions Linus is trying to get across. Anger and shame. Now, you may disagree that Linus should be communicating that he is angry, or that the other person should feel shame, but this is clearly what he is doing and your translation misses this content.
You are looking at this from the wrong end (and I'm not disagreeing with anything you have written). We don't have the mathematical tools to model non-linear analog systems (like the 'puppy' robot in the article), but this is not stopping people from using them. In the article they describe a new approach from a mathematical modelling perspective. These robots are exploring completely nonlinear systems with infinite state space, and getting some pretty amazing results. It's just that until recently it's been more or less heuristic.
Well fair enough, I could have been clearer, but I was hoping to pitch this to people that had a basic knowledge of control theory. On reflection, this is probably too small a group. So to explain; the situation is actually somewhat reversed to the impression you have come away with. In the continuous domain (I.e. analog feedback) our mathematical models as used are only for linear systems. So if you have a non-linear system or response, you find a linear portion and stay within that range. But non-linear is extremely important even in simple systems, for example a motor saturating. You can of course create a non-linear continuous feedback system, but you can't use Laplace to help you model it. In the discrete domain (digital feedback), the mathematics become very simple and although non-linearities still pose a challenge, their are many more tools in the chest for modelling these transitions. But in the world of engineering nobody bothers with even that, they just buy a PID controller and tinker with the three values. So what we end up with is a discrete controller over a strictly linear system. And you can see the appeal, the maths and modelling is extremely simple, and most people in the domain know how to do it. What has been happening in the last couple of decades is that miniaturisation of electronics is starting to make analog relevant again on the one hand (due to size, power efficiency, speed of response, and the fact that noise is less of an issue in these applications due to size), and on the other you are seeing the exploration of the "soft" and inherently non-linear properties of biological systems to perform the function of extremely complex control systems within the robotics arena. The problem has been that we have had no mathematical way of modelling this, but this article is describing a new approach. So yes, perhaps I got a little excited and left out a bunch of detail, but that's because there is just so much detail required. I just can't understand why people aren't more interested in this stuff! I want to talk about the implications, not all the boring background!
No I meant the article at the top of this page. It's all interrelated stuff, but the article here is all about soft robots (using the natural properties of the materials to perform complex control function), while Chris is all about analog electronics. Chris has several YouTube videos that are well worth a watch, and tons of published papers that are worth a read if you have access to the academic web.
i appear to need to correct a misconception, I'm not referring to the original analogue phones, but the original digital variants. In addition, the first fully embedded cochlear implant is possible due to the work of Chris Toumazou and his team in the analog realm. Please show me a DSP you can imbed in someone's head.
Sure, you will never have any trouble with some little test app. Load up a solution with several 100 000 lines of code, resharper and all the rest, and watch as the system starts to struggle. To be fair, I want all the features that are pushing the system to it's limits, but ever since studio became a .net monstrosity I don't feel like I'm getting much bang for my cycles.
Tell that to Visual Studio! Every new version seems to need a computer from 2 years in the future...
The safe strcpy versions crash your program by default unless you go to a bunch of effort to handle the specialised exception in a different way. The basic idea is that buffer overruns are worse then crashing, so how about we crash straight away to reveal where the bug is. There is really no reason not convert all of your strcpy's etc to strcpy_s, you'll only crash when it would otherwise be a buffer overrun.
Posting to undo incorrect moderation. ^^This looks to be a very informative lecture on the topic, for any other mods who may come along.
And yes, I see my typo there in the second sentence. I can live with it!
In my opinion, the people that are keen on editing want Slashdot to be more of a forum so they can respond quickly without thinking, fix up any egregious errors, and otherwise try and dominate conversations with speed and volume rather than quality. We don't need a lot of "your an idiot", "no you're an idiot". The preview button exists so that you can proof read your work. I think this was a very deliberate decision, and moving away from it would change the nature of the content that you see in these discussions.
Having said that, there are things that could improve (such as enforcing the "no down mod because you disagree rule"), but slow down cowboy, slow down.
Enforcement of the rules in regards to moderation needs to be better. I know that's what meta moderation is meant to be all about, but I just don't think it's effective. The rule is don't down-mod because you don't like someone's post. Repeat offenders should simply not get mod points. Moderating comes with responsibility to do the right thing.
What's the big deal about typos? Personally I think it is much more valuable to be able to say "Slashdot comments are permanent, we don't delete, we don't allow you to delete". If you did decide to go down this route, at the very least it should be impossible to edit once moderated or after someone has replied to your post.
No! Not great points!
Editing is another way of saying "revisionism". If you can't edit your post, you also can't claim you "never said that". This goes into building a reputation as well. Some of us are fast and loose with lots of errors, some members you can see always take great care to post perfectly. This tells you something about that person. Don't pander to the anonymous posters here. They don't make the community, the logged in users do. Anonymous posting has a place, but I have no time for people who are unwilling to build a reputation behind a pseudo-handle.
Modded the wrong way damnit :( Posting to correct
This is a really interesting talk from 32c3 detailing the challenges involved in designing and verifying something as complex as a CPU where it can only be simulated at 1 Hz and costs 5 million to produce silicon for testing. https://www.youtube.com/watch?v=eDmv0sDB1Ak. The level of difficulty on getting this right just blows my mind. If it weren't for economies of scale CPU's would be completely out of reach. Also interesting in the talk is the vast number of CPU defects that are found and cataloged that most people appear to be unaware of. Most are of little importance (and hence don't get fixed), but some are fixed via code (as in this case), but there is no guarantee that these are being patched by OEM's.
Actually, just to add, I have worked with American and Canadian groups at various times (in fact I am right at the moment), so I'm not oblivious to the fact that american's (particularly from the south I think?) are much more sensitive to issues of courteous speech. Intra-group communication is invariably formal and courteous at any rate, but it's not a huge surprise to learn that this might be desired within a team as well. It's also my view that many Americans are blinkered in their understanding of the huge amount of variation in cultural norms; if you work in a French team or a Russian team, you will see very different dynamics to a British team for example. I try to take it all in my stride when I've worked in these teams (although it can take time to adapt), but I expect the same from others joining our team.
Well, I am not American and have never worked in the states; but I imagine if I did I'd adapt to your culture as necessary. But yes, if you came and worked with me I'd expect you to adapt to the culture of my group (which is very different, but influenced by the culture of the country it may be in). Also I would point out that my current company is extremely international with less than about 1/3 being from the country in which it is hosted. Nobody seems to mind the swearing, but I think you are wrongly associating swearing with hostility; it is never used in such a way (and if it is, it's clearly perceived as crossing the line). Not to say that people do not vent their frustrations using interesting language; in this workplace it's not considered an issue to swear and curse when passions are high. I have worked in groups where it was worse (swearing wise) and much more restrained. I come from an engineering background and am a little older, so perhaps norms are changing.
Well, if said dumb-ass had just submitted some obviously shit code and shoulda known better ;) My point was that for many a programmer (me!), being told your code needs to be re-worked is about the most abusive thing you could ever do, the language you choose to use being rather immaterial. Still, if I had fucked up in a lazy obvious way; well I'd feel the sting as a well deserved sting. The code is much more important than people's feelings, and most (good!) programmers I have worked with feel the same way. Constructive confrontation I think it's called. Swearing is not about respect, unless the sweared at would view it that way; in fact I only swear at colleagues that I both respect and trust. I think a great deal of this is cultural, and that culture will vary from group to group. Still, if you come from the outside, you should respect the culture your entering, even if you disagree with it. (I once worked in another country where swearing at each other was simply not done, don't you know, and I managed to adapt).
It's always a war, because we are always competing. As soon as we stop, we die. As to your other point, if you tell your minions that their code is "bad" and they need to rewrite it, what difference if you swear or not? You seem to think that the harm is in the words used rather than the act. I'd suggest that there is no difference at all.
Well, I'm not sure people can detach emotionally, and I'm not sure the fact that a brutal attack on their code will be taken as an attack on them means that you can't attack the code. Linus is very suspicious of the word "professional", I am very suspicious of the word professional. The outcome that we seek in a technical environment is that the best technical solution is found and used. But individuals always invest part of themselves into any creative work, and will not be able to unbiasedly evaluate it, especially after it has been written. It is much easier to move away from a bad idea while it is still just an idea, than it is to admit that a function, feature, or product is simply bad or a bad fit. You still need to do it though. In normal work, I think how this should translate is that every idea should be savaged, attacked, (or if you prefer, refined) so that the problems are rectified before people have invested too much time or "self" into it. But getting back to your point; it's a war, it's always a war, and you can't always be nice when you're in a war.
But this what it really boils down to isn't it? It's not how Linus is communicating, it is what he is communicating. When people say he should be more "professional", what they are asking for is that the emotion be removed from the communication. Linus doesn't want to remove the emotion, he wants it to be plain and clear. I'm not sure which side of the fence I fall on this one; I don't think there is a clear right or wrong answer, but it hits people in that "belief" area, hence the emotion in response! Forthwrite communication is absolutely essential to a successful technical enterprise, so I think some emotion needs to be there. I'm just glad I work in an environment where most of my communication is verbal and not scrutinised by huge numbers of people.
Your response fails to communicate two emotions Linus is trying to get across. Anger and shame. Now, you may disagree that Linus should be communicating that he is angry, or that the other person should feel shame, but this is clearly what he is doing and your translation misses this content.
I'm not talking about discrete components; but why do I get the feeling you're not really interested?
Keep on crawling turtle man, keep on crawling.
You are looking at this from the wrong end (and I'm not disagreeing with anything you have written). We don't have the mathematical tools to model non-linear analog systems (like the 'puppy' robot in the article), but this is not stopping people from using them. In the article they describe a new approach from a mathematical modelling perspective. These robots are exploring completely nonlinear systems with infinite state space, and getting some pretty amazing results. It's just that until recently it's been more or less heuristic.
Well fair enough, I could have been clearer, but I was hoping to pitch this to people that had a basic knowledge of control theory. On reflection, this is probably too small a group. So to explain; the situation is actually somewhat reversed to the impression you have come away with. In the continuous domain (I.e. analog feedback) our mathematical models as used are only for linear systems. So if you have a non-linear system or response, you find a linear portion and stay within that range. But non-linear is extremely important even in simple systems, for example a motor saturating. You can of course create a non-linear continuous feedback system, but you can't use Laplace to help you model it. In the discrete domain (digital feedback), the mathematics become very simple and although non-linearities still pose a challenge, their are many more tools in the chest for modelling these transitions. But in the world of engineering nobody bothers with even that, they just buy a PID controller and tinker with the three values. So what we end up with is a discrete controller over a strictly linear system. And you can see the appeal, the maths and modelling is extremely simple, and most people in the domain know how to do it. What has been happening in the last couple of decades is that miniaturisation of electronics is starting to make analog relevant again on the one hand (due to size, power efficiency, speed of response, and the fact that noise is less of an issue in these applications due to size), and on the other you are seeing the exploration of the "soft" and inherently non-linear properties of biological systems to perform the function of extremely complex control systems within the robotics arena. The problem has been that we have had no mathematical way of modelling this, but this article is describing a new approach. So yes, perhaps I got a little excited and left out a bunch of detail, but that's because there is just so much detail required. I just can't understand why people aren't more interested in this stuff! I want to talk about the implications, not all the boring background!
No I meant the article at the top of this page. It's all interrelated stuff, but the article here is all about soft robots (using the natural properties of the materials to perform complex control function), while Chris is all about analog electronics. Chris has several YouTube videos that are well worth a watch, and tons of published papers that are worth a read if you have access to the academic web.
i appear to need to correct a misconception, I'm not referring to the original analogue phones, but the original digital variants. In addition, the first fully embedded cochlear implant is possible due to the work of Chris Toumazou and his team in the analog realm. Please show me a DSP you can imbed in someone's head.