DZ suggested that I make a meta post expressing my opinion that this whole issue has gone off the rails. I declined to do that because I didn't find a way to do that with a positive tone. Perhaps I should revisit that suggestion.
@DanielSank Hm. Well, I do think that you should express it somewhere on meta that you think those posts are misguided. But...making a meta post that meta posts that are partly inspired by other meta posts are maybe missing the point of the original meta post...well, let me just say I don't think most readers have the patience to actually untangle that sequence of events :P
Among all the homework related meta posts, that one was the most agreed upon by the community. So, one could take the attitude that whether or not you think the proposal is good/perfect/etc., the community does.
I'm not saying that my proposal there should be implemented verbatim.
I invite further discussion.
Just pointing out what I think are some relevant points.
@BernardMeurer, we've had some, well, unfortunate situations where a user spammed the site across multiple accounts, and so we've been going through and manually approving new accounts (for the moment). I've approved his account in the moderator queue, so he should be good. =)
I'm assuming you're talking about the Physics Problems Q&A site.
@BernardMeurer, @DanielSank, Mew wrote the code himself, he says. I asked him but he would not give access to the code to other users. He said he was going to post it for me to look at, but he's been busy and that hasn't happened yet.
The problem, of course, is that because you're writing in terms of moving bytes around, your code has no data structures (i.e. types) to help you get things right.
@heather It means that when you call a function, all of the variables you have get saved for later, then the function runs, the value is returned, and then your original variables are restored and you go on your merry way.
yeah, kinda. Ever have one of those "Choose Your Own Adventure" books, where you'd come to a decision and put a finger in between the pages before paging to your choice?
@Heather, the important thing about stacks is that when a function call is finished, all of the variables created by that function are dropped, and therefore all of the memory used by that function is freed.
def sum_three(x, y, z):
temp = x + y
total = temp + z
return total
That function makes two intermediate variables, temp and total.
However, every time you run this function, when it's done, the memory space used by those variables is released, meaning that other programs/code/operations/whatever can use that memory.
You can run this function a bazillion times, but it will never cause your memory to run out.
In a language like C, temp and total are called "stack variables".
@heather He means actual, physical memory. When you create a variable, a set of bytes on your RAM stick which have an address assigned to them get's allocated to hold that variable. Freeing (the opposite of allocating) means making those addresses as "Anyone can use this now"
@heather It's like if your house has 5 bathrooms. A memory leak is when all your 5 children have to use it at the same time but you also need to do some meditation.