Don't forget to RSVP for Thanksmas if you haven't already. We will start the process of deciding who is bringing what mid next week.
C++ is a language full of quirks. Sometimes these quirks are/were necessary to support the performance characteristics desired by the language designers. Sometimes these quirks are historic artifacts of a language whose design was started 30 years ago. Either way, these quirks often make it so that the language fails to follow bread-and-butter principles like "fail early" or "behave consistently".
Consider the following program:
After compiling with GCC 4.3.1, the output of this program was
Change
From an implementation point of view, this makes sense. In the first case, the call site can be replaced with a call to a method known at compile time.
In the second case, the compiler does not know at compile time what method it will need to call. As such, at run time it needs to look up the vtable for the object. Since
But things that make sense from an implementation point of view but not a language design point of view still make me sad.
Consider the following program:
#include <stdio.h>
class Foo {
public:
void bar() { printf("%li\n", (long)this); }
};
int main(void) {
Foo* foo = NULL;
foo->bar();
return 0;
}
After compiling with GCC 4.3.1, the output of this program was
0. Despite the fact that foo is NULL, we are able to call a method on foo, and, since that method does not access any members, it executes successfully.Change
bar() to be virtual and the program will seg fault when run. From an implementation point of view, this makes sense. In the first case, the call site can be replaced with a call to a method known at compile time.
this is passed to that method, and an error occurs when this is dereferenced, not at the call site.In the second case, the compiler does not know at compile time what method it will need to call. As such, at run time it needs to look up the vtable for the object. Since
foo is NULL this call fails at the call site.But things that make sense from an implementation point of view but not a language design point of view still make me sad.
Over the past few days I have had an experience which illustrates that actions count more than words.
I was having an online debate with someone about global warming. This person claimed to be open minded and willing to discuss the topic and I, apparently foolishly, believed him.
Despite saying he was open minded, despite claiming to be ready to seriously consider new ideas he did the following: insisted on forcing me down a branch of the argument I said was unimportant to me, only gave me one chance to defend my position, and called me a fool and said I had no credibility because he disagreed with my opinion. When the discussion changed topic and I suggest we move it to a different thread to avoid spamming people (and because I did not want to share semi-personal information on his wall), he did so, but with the comment "Just so you know, I don't ask twice. Are you going to tell me or not?". When I said his phrasing was off-putting and pointed out the privacy concerns with sharing my personal information on his wall, he "boo hooed" me and said that he considers being mean a way of being humorous. When I suggested that this meant we were destined to not get along, he called me high maintenance. When I unfriended him (mutually considered to be the best course), he accused me of not giving him a chance to reply, despite this being a round of comments after he had said that we should no longer be friends.
This person may really be an open minded, flexible, kind, wonderful person. However, given their behavior, I can only conclude that he is either deluded, lying, or does not realize the limitations of a textual conversation with someone hardly knows; I have time for none of these possibilities.
In short, it doesn't matter how much you say something if your actions show otherwise.
I was having an online debate with someone about global warming. This person claimed to be open minded and willing to discuss the topic and I, apparently foolishly, believed him.
Despite saying he was open minded, despite claiming to be ready to seriously consider new ideas he did the following: insisted on forcing me down a branch of the argument I said was unimportant to me, only gave me one chance to defend my position, and called me a fool and said I had no credibility because he disagreed with my opinion. When the discussion changed topic and I suggest we move it to a different thread to avoid spamming people (and because I did not want to share semi-personal information on his wall), he did so, but with the comment "Just so you know, I don't ask twice. Are you going to tell me or not?". When I said his phrasing was off-putting and pointed out the privacy concerns with sharing my personal information on his wall, he "boo hooed" me and said that he considers being mean a way of being humorous. When I suggested that this meant we were destined to not get along, he called me high maintenance. When I unfriended him (mutually considered to be the best course), he accused me of not giving him a chance to reply, despite this being a round of comments after he had said that we should no longer be friends.
This person may really be an open minded, flexible, kind, wonderful person. However, given their behavior, I can only conclude that he is either deluded, lying, or does not realize the limitations of a textual conversation with someone hardly knows; I have time for none of these possibilities.
In short, it doesn't matter how much you say something if your actions show otherwise.
It is the holiday season, which means Thanksmas is coming again! Yes, the traditional holiday returns for the second year!
If you missed Thanksmas last year, or want a refresher, here's the info: instead of Game Day in December, we have a big holiday party -- this does not mean there won't be games played, but the focus is a bit different. We'll host a potluck holiday meal, followed by a gift exchange. There will also be Thanksmas carols, and probably other kinds of fun.
It will be on December 12th (the second Saturday of December), starting at 2PM.
Since this is a big event, we would like a more definite list of people who will be attending than a normal Game Day; at which point we'll figure out what dishes everyone wants to bring. Please RSVP by December 1st if you will be coming (and let us know if you'll be bringing anyone with you).
The gift exchange should be a nice/fun/good gift around $20 in value -- something you would like yourself, or something you have that is so awesome you want to share it with others. If you are having trouble thinking of something, remember that this is a geeky & gamer crowd -- popular gifts last year were Xbox Live points, a set of dice (4d-20d), and a chess set. Make sure the gift is wrapped, so it is a surprise to the first person to open it (rules TBD).
If you have questions/comments/clarifications/etc., please let us know. Hope to see you there!
Jeff & Erika
If you missed Thanksmas last year, or want a refresher, here's the info: instead of Game Day in December, we have a big holiday party -- this does not mean there won't be games played, but the focus is a bit different. We'll host a potluck holiday meal, followed by a gift exchange. There will also be Thanksmas carols, and probably other kinds of fun.
It will be on December 12th (the second Saturday of December), starting at 2PM.
Since this is a big event, we would like a more definite list of people who will be attending than a normal Game Day; at which point we'll figure out what dishes everyone wants to bring. Please RSVP by December 1st if you will be coming (and let us know if you'll be bringing anyone with you).
The gift exchange should be a nice/fun/good gift around $20 in value -- something you would like yourself, or something you have that is so awesome you want to share it with others. If you are having trouble thinking of something, remember that this is a geeky & gamer crowd -- popular gifts last year were Xbox Live points, a set of dice (4d-20d), and a chess set. Make sure the gift is wrapped, so it is a surprise to the first person to open it (rules TBD).
If you have questions/comments/clarifications/etc., please let us know. Hope to see you there!
Jeff & Erika
I realized something this evening. Every atheist and, I suspect, most theists recognize the invalidity of statements of the form, "If there is no God, everything is permitted." (this phrasing, according to the internet, incorrectly attributed, to Dostoevsky). However, I was always confused by the people who thought it was valid.
But then I realized that the world view they bring to their interpretation differs fundamentally from mine. These folks are, I believe, taking approximately the following viewpoint: "I know God exists. God is the source of our moral system. If God were removed from this system, then our morals would disappear."
I and at least some others who reject the validity of the statement are coming from a different point of view. "Regardless of God's existence, we observe morality in the world. There are inconsistencies from culture to culture and time to time, but there are also consistencies. Thus, we can conclude that whether or not God exists, morality of some sort exists relative to human societies."
In short, the key difference, I propose, is that people, like me, who disagree with with the validity of statements like "If there is no God, everything is permitted" are actually disagreeing with the statement "If there is no God and the world is as it is, everything is permitted". Those who disagree, I propose, do not consider that conjunction to be a reasonable antecedent.
Another possibility is a different interpretation of the word "permitted". If there is no God, then everything is permitted in the sense that there is no absolute authority figure to disallow it, but it everything is not permitted relative to the complex interaction between culture and society and history personal experience.
As an aside, I have always felt that the statement "If there is no God, everything is permitted" would, if believed literally, indicate a rather bleak and disturbing world view. In particular, if someone really believed that, it would follow that they personally would start lying, cheating, stealing, etc. as convenient if they were to be convinced no God.
My reasoning behind making that claim is as follows. Suppose that someone were to claim that they would still behave morally under all conditions (hard even in the best of times, but this is hypothetical) even if they were to become really truly convinced there is no God (this is, I am well aware, a supposition that some theists cannot even hold hypothetically). What then, I would ask them, is the reason behind behavior according to your past moral system? Either they hold their morals independently of their belief in God, in which case, they do not actually believe the initial statement, or they no longer have those morals, in which case they may very well start doing bad things if it suits them. I intentionally say, "if it suits them" because I believe that, in practice, even if someone were to actually believe this, habit would influence their actual beliefs regardless of what they might now consider themselves willing to do should the need arise.
But then I realized that the world view they bring to their interpretation differs fundamentally from mine. These folks are, I believe, taking approximately the following viewpoint: "I know God exists. God is the source of our moral system. If God were removed from this system, then our morals would disappear."
I and at least some others who reject the validity of the statement are coming from a different point of view. "Regardless of God's existence, we observe morality in the world. There are inconsistencies from culture to culture and time to time, but there are also consistencies. Thus, we can conclude that whether or not God exists, morality of some sort exists relative to human societies."
In short, the key difference, I propose, is that people, like me, who disagree with with the validity of statements like "If there is no God, everything is permitted" are actually disagreeing with the statement "If there is no God and the world is as it is, everything is permitted". Those who disagree, I propose, do not consider that conjunction to be a reasonable antecedent.
Another possibility is a different interpretation of the word "permitted". If there is no God, then everything is permitted in the sense that there is no absolute authority figure to disallow it, but it everything is not permitted relative to the complex interaction between culture and society and history personal experience.
As an aside, I have always felt that the statement "If there is no God, everything is permitted" would, if believed literally, indicate a rather bleak and disturbing world view. In particular, if someone really believed that, it would follow that they personally would start lying, cheating, stealing, etc. as convenient if they were to be convinced no God.
My reasoning behind making that claim is as follows. Suppose that someone were to claim that they would still behave morally under all conditions (hard even in the best of times, but this is hypothetical) even if they were to become really truly convinced there is no God (this is, I am well aware, a supposition that some theists cannot even hold hypothetically). What then, I would ask them, is the reason behind behavior according to your past moral system? Either they hold their morals independently of their belief in God, in which case, they do not actually believe the initial statement, or they no longer have those morals, in which case they may very well start doing bad things if it suits them. I intentionally say, "if it suits them" because I believe that, in practice, even if someone were to actually believe this, habit would influence their actual beliefs regardless of what they might now consider themselves willing to do should the need arise.
Once again I encountered an attitude that always surprises me. I was accused of attacking the Bible when I said that it contains events that, from my external point of view, can only be described as deity approved horrors. Yet this same individual did not consider it an attack when they said that someday I would be forced to kneel before God and would go to hell or when they said that loving, committed, same-sex relationships are an affront on morality.
To some degree, all humans fall prey to the bias of their own perspective. Both of us considered ourselves to be making statements which, from our own point of view, fall under the category of painful truths, not attacks.
Yet I have found that some Christians (not all) quickly jump to the conclusion that atheists are on the offensive when they say anything less than complimentary about religion. They assume that a very specific comment has a very general meaning. Often, these same Christians then go on to say things as bad or worse than what was said to them, but they do not see themselves as attacking and claim innocence if their statements are pointed out.
An much smaller subset turns this into a persecution complex. These are people who really believe there is a war on Christmas. They truly believe that they are like the early Christians and society is trying to crush them out of existence. When you point out that Christians are the vast majority in this nation, they claim that most of those people are not "real Christians" (I always imagine that followed by a trademark symbol). Fortunately, these people, despite their prevalence on the internet, are a small group.
In the end, this biased perspective no longer makes me feel angry or hurt or insulted. But it has become tiresome.
ETA: Apparently, 24% of Evangelical Christians (the single largest religious group in the US) feel like they are part of a religious minority.
To some degree, all humans fall prey to the bias of their own perspective. Both of us considered ourselves to be making statements which, from our own point of view, fall under the category of painful truths, not attacks.
Yet I have found that some Christians (not all) quickly jump to the conclusion that atheists are on the offensive when they say anything less than complimentary about religion. They assume that a very specific comment has a very general meaning. Often, these same Christians then go on to say things as bad or worse than what was said to them, but they do not see themselves as attacking and claim innocence if their statements are pointed out.
An much smaller subset turns this into a persecution complex. These are people who really believe there is a war on Christmas. They truly believe that they are like the early Christians and society is trying to crush them out of existence. When you point out that Christians are the vast majority in this nation, they claim that most of those people are not "real Christians" (I always imagine that followed by a trademark symbol). Fortunately, these people, despite their prevalence on the internet, are a small group.
In the end, this biased perspective no longer makes me feel angry or hurt or insulted. But it has become tiresome.
ETA: Apparently, 24% of Evangelical Christians (the single largest religious group in the US) feel like they are part of a religious minority.
Game day is next Saturday, November 14! Please let us know if you think you might make it.
Within the next couple weeks we'll start organizing Thanksmas. Mark your calendars!
Within the next couple weeks we'll start organizing Thanksmas. Mark your calendars!
You know you've forgotten high school/early college when you are reading a resume and see reference to a scholarship and think, "That looks kind of familiar. Did I get that scholarship?"
Health insurance claim summary:
Amount billed: $34.00
Amount we paid: $4.72
Patient responsibility: $0.52
I wonder if this claim cost more to administrate than the actual amount charged.
Amount billed: $34.00
Amount we paid: $4.72
Patient responsibility: $0.52
I wonder if this claim cost more to administrate than the actual amount charged.
Note to self, in retrospect these two ways of phrasing a TODO item do not mean the same thing:
- Buy 2 D batteries.
- Buy 2D batteries.
I keep trying to add Joel on Software to my RSS queue, partially because I disagree with him a lot of the time. However, it seems like every time I subscribe to the blog, I see another article on how standard university CS education is useless. I then unsubscribe, not because his views are not worth discussing, but because it makes him seem so repetitive that I just assume he has nothing new to say.
So I ask the rest of you, have I just had an unlucky set of samples or is Joel On Software really just the type of blog that keeps repeating the same few topics over and over again?
So I ask the rest of you, have I just had an unlucky set of samples or is Joel On Software really just the type of blog that keeps repeating the same few topics over and over again?
I just have to reshare this link from
iris_of_ether
What happens when two gamer anime fans get married? Awesomeness!
More details.
What happens when two gamer anime fans get married? Awesomeness!
More details.
The heater in my hotel room seems to be unable to actually, you know, heat my room. Pity.
Don't forget that next Saturday, Oct 17 is Game Day!
Finished test-driven development: A Practical Guide by David Astels. The book contains three parts. Part 1 introduces the reader to test-driven development. Part 2 discusses various tools and techniques for doing TDD. Part 3 presents an extended example by going through the test-driven development of a movie rating application.
Test-driven development builds on the principle that developers should write tests before they write code. The tests determine the code that needs to be written. As a side effect, this results in a suite of programmer tests. However, the book stresses that TDD primarily exists as a development methodology, not a testing methodology. The test suite produced by this methodology should not be considered a replacement for through testing by those who have testing as their primary goal.
My detailed impressions of the book and test-driven development.
test-driven development: A Practical Guide provides a good introduction to test-driven development. It contains many useful insights and practical tips. However, I suspect that you can find more focused, up-to-date introductions to the topic than the one found in this book.
Test-driven development builds on the principle that developers should write tests before they write code. The tests determine the code that needs to be written. As a side effect, this results in a suite of programmer tests. However, the book stresses that TDD primarily exists as a development methodology, not a testing methodology. The test suite produced by this methodology should not be considered a replacement for through testing by those who have testing as their primary goal.
My detailed impressions of the book and test-driven development.
test-driven development: A Practical Guide provides a good introduction to test-driven development. It contains many useful insights and practical tips. However, I suspect that you can find more focused, up-to-date introductions to the topic than the one found in this book.
Game day is NOT next week. Instead, we are delaying Game Day until Saturday 17 October at 2:00pm.
