Reason: Explaining what happens after a ban.
I cannot speak for Drive137, my fellow moderator, but I can for me. If you go back to mmozeiko's first post with the partial chat log and read my own messages, do you not find what I said reasonable? I was the one who banned you, and reinstated you a while after.
I said we understood your argument and to forgive our harsh reactions, and to please hold off until after the live stream. In the HH chat, we tend to have a fantastic chat with people asking questions about the topics of the day (and random stuff as well, that's fine), and suddenly an all-out military war erupts about OOP. Every time. Without fail. It derails the chat and drowns out everything else. On that day, I am assuming Drive137 was really, really sick of it. Even then he said he'd allow the topic to continue *after* the live stream.
If this happens, I warn the most vocal person who's maintaining the biggest fire to hold off, and I did. It doesn't matter if you didn't start the fire. You said that you're allowed to discuss OOP, but repeated the same argument. It continued, and even got personal with Drive137, so I banned you temporarily. If on Twitch, you could still see the chat and watch Casey stream.
Don't let one bad chat session ruin the amazing things that Casey is doing with Handmade Hero. I will step down as a moderator if that is what it takes.
Would it be possible to write up a short list of general chat rules plus the purpose of having the chat and add it to the Twitch stream page (and to the bot)? That way anyone can read them and the mods can refer problematic chatters to it when necessary. Having some baseline chat rules available for everyone to read could help make bans/timeouts seem less arbitrary.
abnercoimbre, it's a very diplomatic offer, but unnecessary. I still think it's a great resource in itself. I have done more programming in C++ since I discovered HH than I've ever done before, there is really nothing like this for writing game-code (or not much anyway, and nothing as detailed with per-episode source and post-stream question time).
gazto, I have begun reading up on the topic of software design beyond what i have been exposed to at university and have studied object-oriented, functional, declarative, procedural etc languages both at university and elsewhere. I have experience with basic, assembly, c#, C, C++, haskal, modula and Java, so that's at least a little bit of mixed experience. I have a reading list bookmarked, which I will work through when i can. I've browsed a couple of research papers that look at software design in terms of ease of understanding and program maintenance. I've re-read one of Casey's blog entries on the subject and also read some blogs that respond to some of Casey's comments.
I've also begun thinking about how I would rewrite some of my own code to transform it from object oriented to a different style. In the process I've discovered that I have a looser definition of object-orientation compared to some of the established descriptions of the style. And it's also clear that I use different styles in my own code, some of my code such as my Vector classes are clearly object oriented, but I also have other parts where I do not tie methods to data. Although I can mostly describe my code in terms of object models, even when the operations and data are separated. Processors are objects too! I mix object oriented classes with monolithic math static classes, depending on the number of and relationships between the operations.
My point is, I am reading about design methodologies, and thinking of how they apply to me and my own code, and I'll make an effort to be more aware of how I write my code and how it's structured. I just want to put a wet-towel on the notion that everyone who 'fights' for object orientation is just a troll and isn't educated/experienced or willing to learn.
Talking about object oriented design and compression programming should not be mutually exclusive, in fact, when I read Casey's blog entry on semantic compression, I think he presented some of his arguments poorly and I felt that he didn't explain why object orientation and semantic compression weren't orthogonal processes, or rather, he missed the possibility that they were.
And I apologize for using the word 'fascist' (I blame Rik), I was making a point, but perhaps I made it poorly and with too much provocation.
I can tell you right now that I was probably the one who was responsible for the ban here and it would've been a lot more to do with calling the moderator team fascists because you disagreed with them, particularly after you refused multiple requests to simmer down the argument. You may not like the way that we choose to moderate the stream, but we have been doing it for hundreds of hours collectively, and I can tell you it isn't always easy. You see the same questions and arguments get brought up over and over. It usually is no problem, and just part of the job, but when people are difficult during stream time with arguing with the moderators, sometimes it is not helpful and distracting from managing the chat. Answering questions about the stream, and directing people to resources that they request.
Multiple of the moderators, as well as Casey, have had experience with Object Oriented Programming. I would stand by the assertion that orienting your programs around objects rather than the problem that needs to be solved is just a wrong-headed move. I say that again, not out of some dogma, but because of my own experience. I have gotten wrapped up in that way of thinking and it is counterproductive.
The point is not to say that objects are a bad tool in your toolbox, but just to say that they are just a tool. They have become overblown in their perceived usefulness within the broader culture surrounding programming and particularly programming education. "When all you have is a hammer"
EDIT: You should be unbanned now, let us know if this is not the case. And please try not to be difficult with the moderators during stream time.