Posts

Another GitHub book project

Is now online .

My Review of _Philosophy Between the Lines_

Has been published at last . (This link will work for the first fifty readers, I believe.)

"I have a right to my opinion."

One hears this a lot from liberals. Indeed, it could be taken as another of the key facades of liberalism. (Facade because liberals don't really mean this when they say it. If the people of some state have the opinion, say, that men should use the men's bathroom, and women should use the women's bathroom, liberals are quite happy to try economically ruin that state for believing that.) Legally, of course, one has a "right" to any belief whatsoever. But liberals usually mean much more: they mean that morally , everyone has a "right" to their own opinion. That is nonsense. If one's opinion is in error, one has an obligation to correct it, and bring it toward the truth. As Thaddeus Kozinski puts it : "Of course, the existence of a pluralism of 'truths' is not a good thing, for there is only one truth, and error is the result of sin. Pluralism, in short, must be seen, per se, as a grave defect of spiritual, intellectual, social, and po...

My GitHub home page

Is here . Of course, one purpose of my linking to this is to publicize my work! But also I want to convey how easy GitHub and GitHub Pages make putting up this sort of site.

My forthcoming book on Berkeley

I've greatly expanded the coverage of the existing material . This is a book I have a contract for already, so I hope in two years you can see it in print.

Indra Agent-Based Modeling

We now have a web site up for Indra .

Just go ahead and multiply

You have some probabilities: 70% chance a consumer will want to go to a store of type x , and 30% the consumer wants to go to a store of type y . you have some mechanism in place to take these percentages and cause them to result in the appropriate proportion of actions. But what if there is no store of type x ? Just write a function that returns one if a store of that type exists, and zero if it does not. Then multiply the percentage times that return value. You need the function anyway, so that is no overhead. But you might be tempted to write an if statement that zeroes out the % value when the type of store in question does not exist. In general, simply going ahead and multiplying, even if you are only multiplying by one, makes for tidier, easier to maintain code. Don't unnecessarily multiply entities! (The conditional statement being a new, unnecessary entity.)