The Opinion Machine

As a counterpoint to den Beste’s followup on bias in the media, as part of which he actually descended from Olympus to leave a comment here, this seems like a good time to recycle a couple of posts from Whistle Stopper about how folks on the anti-liberal side of the fence do their own part to manipulate public opinion.


Our good friend den Beste actually admitted, in the context of discussing academic appointments and promotions, that

There is a tendency in all competitive systems for inequality to magnify

Does it not strike you as odd that he would make such an observation? No? Then consider the implications of that statement in the broader context of economic systems, where this same tendency leads to a non-meritocratic distribution of income and wealth and, over time, to the formation of semi-permanent boundaries between social classes. It doesn’t sound quite so much like an idea SdB or any other laissez-faire True Believer would like to consider for very long, does it? They still want us to believe the American Dream is real, that if somebody is rich it’s because they’re better and if somebody is poor it’s entirely their own fault, and therefore that there’s no justification for using tax money to re-level the playing field. I’m sure there’s some standard explanation of how this tendency toward increased inequality doesn’t apply in that context. I’m equally sure that the explanation involves at least one glaring logical flaw that’s papered over with yet another facile explanation for why an exception is justified, and so on ad nauseam. Proceeding from facts to conclusions is contrary to the interests of those who think they already know the answer and embrace or reject facts only according to their compatibility with the preexisting ideology.

More About Swapping

It looks like the swap vs. no-swap discussion won’t die, with the LKML/KernelTrap threads remaining busy and a new one appearing on Slashdot, so I might as well add a little more than my previous two cents here.

If the total working set for all of your applications will fit in RAM, only an extremely poorly designed system would swap anyway so swapping’s really not an issue. Some people would say that you simply shouldn’t run a system where that’s not the case, and in the majority of cases I think they’re right. However, there are still going to be cases where your total working set exceeds your current RAM and it’s not feasible to increase the RAM (e.g. because your OS or motherboard or whatever won’t support it – price is not likely to be as much of an issue nowadays). Then you need to make a decision about what to do. If you still believe that you should simply not allow the working set to exceed RAM size, even at the cost of having to enforce artificial restrictions on memory usage, then there’s just not much more to say and people who have that belief should IMO just depart the conversation. The real conversation starts with the assumption that we are going to run with a working set larger than RAM, and focuses on how best to do that.

Silly Assertions

Apparently there’s quite an active discussion occurring on the Linux Kernel Mailing List, about the value of swap space. Here’s an assertion by Nick Piggin that I found particularly interesting.

Well it is a magical property of swap space, because extra RAM
doesn’t allow you to replace unused memory with often used memory.

The theory holds true no matter how much RAM you have. Swap can
improve performance. It can be trivially demonstrated.

Yes, swap can improve performance if memory size is held constant, but it can also be trivially demonstrated that swap won’t improve performance in some pretty obvious cases. Here’s John Bradford’s cogent reply.

Strictly speaking no, but instead of replacing unused memory with often used
memory, the often used memory has it’s own silicon, so the unused memory can
stay paged in as well.

Or to put it another way, however much swap a machine has, installing that
much extra physical RAM, and removing the swap space will almost never cause
a loss in performance.

It should be obvious which of these two I’d rather have working on a kernel I use.

Essential Windows Software

Anyone who uses computers for a while quickly develops a “toolbox” of programs that they like to use, in categories that matter to them. Here’s my list, for Windows because that’s the platform I like to use for my desktop. For programming I prefer Linux, but even then I usually work by accessing the Linux system remotely (I always have multiple machines around). Here are the programs I always seem to end up installing shortly after I get a new machine or reinstall the OS on an old one. I’m deliberately staying away from more programmerish tools because I’ll probably write about those later.

The first necessity, sadly, is an anti-virus program, and I currently use AntiVir. For a while I used AVG, until I found out that its detection rates were the laughingstock of the industry. Then I tried to use Avast but it’s a resource hog and it slowed down my system very noticeably. AntiVir’s updating interface isn’t quite as nice as Avast, but at least it doesn’t cause mysterious slowdowns all the time. The other security-oriented program I use is Spybot, to remove adware. I used to use Ad-Aware, but it simply fell behind in terms of being able to detect new garbage, and Spybot’s “innoculation” feature is useful too.

No Boundaries

I’m not Canadian, but I still have to include this.

AccordionGuy banner

Bigotry such as Joey is trying to address in his latest weblog entry is all about setting up boundaries to exclude people, and my response is to reject those boundaries. Canada is better represented by Joey deVilla (AccordionGuy) than Mark Wegierski (SomeRandomTwit), so as far as I’m concerned Joey is the more Canadian of the two and I have just as much right to an opinion on the matter as Mark does.


Welcome to the new pMachine based version of this site. There are three obvious questions I’ll try to answer in this entry: what has changed, why it changed, and (for the geeky) how it changed.

What changed?
Not that much, actually. I’ve been considering this change for a while, so I did some research at opensourceCMS to see what would be most similar to what I already had. The comment system is still there, allowing both registered and unregistered comments, though I regret to say that people’s passwords could not be preserved and thus everyone who wants to have a permanent identity will have to re-register. Sorry about that; at least your name and other identifying information was preserved on existing comments during the transition. You’ll also notice that there’s a search box on the right. I’ve actually had a search script for a while and used it myself, but never got around to polishing it properly for public consumption. The archives still work pretty much like they did before, though I’d have to say I liked the old per-year boxes better and might implement something like that within the pMachine framework some day. Mostly, though, except for some visual style differences, things should pretty much work as they always did.
Why did it change?
As much as I had enjoyed implementing my own weblog system from scratch, including the archives and the commenting system and RSS generation and protection against cross-site scripting and so on, maintaining the system had simply gotten to the point where it was more of a burden than a pleasure. The rate at which new features and standards and security issues come along in the weblog community is just too high for someone whose interests lie elsewhere to keep up. While I’m (obviously) proud of what I was able to achieve on my own in my spare time, delegating responsibility for dealing with all of that to someone who makes it their business frees me up to spend my online time concentrating either on other technical projects or on the content I put here instead of the mechanics of how that content gets presented to my readers.
How did it change?
It was surprisingly easy, actually. One of the things I looked at when I was selecting a package was whether the database schema made sense. It really only took me a few hours to write scripts that would suck everything out of the databases I was using in the old code and slam it into the databases that pMachine uses. There was a tiny bit of reverse engineering and manual tweaking involved, but nothing that even struck me as much of a challenge. There are a few fields that I wasn’t really able to fill in with meaningful values because I had never even kept the information in the old code, but none of them were essential. Similarly, I abuse the “blurb” field in pMachine to hold the “source” field from the old code. About the only functionality I sort of miss is the ability to put an entry into multiple categories; pMachine only supports assignment to a single category, but somehow I don’t think anybody (including me) ever used the categories enough to care much about the limitation. There were no packages that seemed to offer that along with all of the other features that I considered even more important.

That’s really about it. Obviously if you encounter any bugs I’d appreciate it if you’d send me some email (info is in the “about me” page linked on the right). I wouldn’t mind feedback about the minor visual and functional changes either.

Carbo Loading

For the second time yesterday, I deliberately loaded up on carbs in preparation for a workout. For the second time in a row, I achieved a new personal best according to my own incredibly geeky workout-difficulty scale. Want to know how geeky? Here’s the formula.

diff = log2(minutes) + log1.1(calories/minute)

To put it in perspective, that means that a one-hour workout at caloric rate X is equivalent to a half-hour workout at rate X plus 10%. It’s about the twentieth formula I’ve tried, and gives results that very closely match my subjective impression of how difficult a workout is. It’s useful because it gives me a good idea what difficulty level I should shoot for when I change the duration of my workout. But that’s not really what this article is about.

For some time now, I’ve been advocating the “Atkins can go jump” diet plan, and similar (often even more colorful) variants. The fact that I’ve been getting tangible results from the all but forbidden practice of carbo-loading tells me that I’ve reached two important milestones in my exercise program.

  • First is that it’s no longer about weight, which by the way seems to have stabilized between 170 and 175 pounds. Obviously I could lose more weight if I didn’t eat more on workout days, but then I wouldn’t get as much of an aerobic workout.
  • Second is that I’ve reached the point where I’m likely to run out of fuel before I run out of aerobic capacity if I don’t go out of my way to load up beforehand. I’m no expert on exercise physiology, but my impression is that not too many people other than marathon runners and long-distance cyclists really hit this threshold (energy-bar marketing efforts notwithstanding) so I feel pretty good about that.

The best thing about this, of course, is that now I have an excuse to load up on McDonalds fries a couple of times a week.

False Alarm

A funny thing happened this morning. The health center where Cindy’s OB has an office happens to be right next door to where I work, so when she goes in for her weekly visits she usually stops by here to say hi. Well, it turned out this morning that I had a meeting at that time, so I asked the receptionist to give the conference room a buzz when Cindy came in. Sure enough, five minutes into the meeting the phone rings. I jump up as someone else answers it, and I’m half-way to the door already right when everyone else hears the receptionist asking for me. Then I go up to the front, collect Cindy, we talk for a few minutes, and she heads off to work. No big deal, right?

The funny part is, everyone thought from my reaction that it was the call. They were just about ready to start ordering flowers and signing cards when I came back in. Heh. I think I might do that a few more times.


I just happened to notice that I’m one of 345 sites hosted on this server (don’t ask how I noticed). That’s a mix of personal sites, community sites, commercial sites, etc. and seems to be pretty typical for a general purpose web host. Obviously the number of sites one can support per host depends on the CPU and I/O load they generate, but there are some hosts out there that put a thousand sites on one machine – up to 10K in extreme cases. At the other end of the scale, very few budget-to-midrange hosts limit themselves to fewer to 200, so for the low price I’m paying I can’t really complain.

It turns out that this qualifies as a pretty busy site. Out of those 345, it looks like I’m #6 for hits…way more than anything else that looks like a personal site. On the other hand, my busiest neighbor (a soap-opera fan site, in case you were wondering) seems to get about 50x the traffic that I do, so in that context I’m still a small fry. I guess I need to write more. ;-)