Swimming with the Razorfishes

Friday, March 26, 2004

More images from Saturday's demonstration against our presence in Iraq.



Remember, teach your children well.



Feed them on your dreams.

Thursday, March 25, 2004

Holy shit. That is cool.

Good God. This panoramic image of Paris (1.8MB) is gorgeous.

[via vowe.net]

Rick Schaut talks about how the steaming heap of shit that was Microsoft Word 6 for the Mac came out of what was a fantastic release, Word 5.1. Interesting stuff, computer history.

More images from Saturday's demonstration against our presence in Iraq.

Though I've remarked on the costumes of the protesters, I don't think this fellow was wearing one; I think he really was a man of the cloth.



Pardon my ignorance if he is someone of note, but I don't recognize him. I do dig the hair, though.

All day I expected to see some kind of counter-protest. Young republicans, belligerent pro-gun lobbyists, gorgeous fembots with a penchant for evil. Something like that. The closest thing to a counter protest were those people who started drifting off topic, and those dabbling in satire.



Satire, indeed.

Wednesday, March 24, 2004

I'm working late, so I need to vent. Please indulge me.

Working in a virtual machine is a wonderful thing. It is a clean, happy world where engineers have designed hypothetical, ideal execution environment for your code. Everything is peachy keen in Java world, because you can focus on solving a problem, because the VM handles nasty housekeeping issues like memory management.

Of course, this is crap.

My nice, neat virtual machine has to run on an actual, physical piece of hardware, with honest to God memory and processor limitations. It is nice that my Java code isn't terribly concerned with actual allocation and deallocation of physical memory, at some point is has to be concerned with the fact that allocation may fail.

Of course, this is crap, too.

There is more than one way to allocate memory, and there is more than one pool for which memory must be reserved. In the old, old days, when all we were doing was loading, linking, and executing bytecode, the concept of a single heap was close enough to reality. But then we added JIT compilers. And souped up real-time bytecode compilers with radically complicated memory models, garbage collectors, and an adaptive optimizer.

A simple heap of memory won't do for the most modern VMs. But didn't I say something about venting? Ah, yes.

I'm working on a large-ish Java system running in Weblogic's application server. That means I have loaded into my VM's memory space: all of the project classes, probably about 700, plus a lot of generated code based on the project classes; a good portion of the standard Java class library; a good portion of an in-house class library; lots of java extensions in the javax packages to support database access, EJBs, messaging, etc...;

Some time ago, we started seeing odd behavior from Weblogic. The symptoms started with the server's hot deploy feature failing. It would work once, then the server would enter into a loop that required a restart. We wrote this off to flaky software, as we could live without the hot deploy feature. Then, after a new chunk of code was integrated into the system, it started hanging. The server would stop processing EJB-based requests, then it would hang entirely.

I have rarely seen Weblogic hang, so this was really odd. However, the new code that we had integrated was complicated, using JMS, EJBs, and sockets to communicate with another system. The assumption was that something in this code was causing the server to freeze.

Then, the management console stopped working. Firing up the Weblogic console would reproducibly hang the server. This is getting worse.

Then we actually started getting out of memory exceptions. [Ah--finally he closes the loop] But looking at the application heap, there was plenty of free memory, both real and virtual.

So time to dig deeper. What VM are we using? 1.3 with hotspot. We're not running out of memory entirely, and when the server hangs, not all functions hang. Hmm. The hotspot compiler is really different than previous VMs, and it allocates a large buffer to hold its compiled code. We started wondering if the VM was loading so many classes that this buffer was full.

So we tried the shot in the dark fix of increasing the size of that buffer in the VM. And it worked. No hanging, the console is working, and we can hot deploy code again. In case you were wondering, the VM argument to change the size of the buffer is:

-XX:MaxPermSize=<size>


The -XX arguments are double-secret, non-documented VM arguments. The size argument, like other memory argument, is in bytes, but adding an "M" suffix specifies the size in megabytes. Check your platform for the initial size of the buffer; setting ours to 128 meg solved all these problems. I really dislike magic bullet, "one environment setting" kind of fixes, but this really seems to have been the problem.

I'm spelling this out in excruciating detail, so that Google's linky magic will catch these references. Maybe the next person who has this problem will find a fix more quickly than we did.

Oh, and not managing memory in Java is great fun, no?

Strongbad Number 100.

Ben Hammersley: "[...]you do have to wonder about anyone who goes to see a film with a good hour of explicit torture and scarification scenes, and then buys a nail pendant on the way out. What next? Silence of the Lambs body lotion?"

More images from Saturday's demonstration against our presence in Iraq.

Some of the costumes were quite eerie.



This group of apparitions marched down the middle of the street. Everyone seemed to give them a wide berth.



They were led by this one, clanging a bell as it proceeded down the street.



Every few blocks, these creatures would kneel down and mourn the death of the things they were carrying. Quite affective, really.

Tuesday, March 23, 2004

He he. Lemmy seems to be in a new band, complete with a Suicide Girls-festooned stage show.

On a similar note, Apples Motorhead selection in the online store is really lacking. No Ace Of Spades, No Remorse. Those bastards.

More images from Saturday's demonstration against our presence in Iraq.

As I mentioned, costumes were big at the protest. It made me feel a little out of place, having shown up with nothing; no dress, no wig, no props.



Apparently, Paul Revere had some kind of coconut fetish? I don't know.



Most costumes were at least remotely topical; most were also rather unflattering to the Bush administration. And, of course, it wouldn't be a demonstration without a papier mache George Bush.



Also of note, my monitor is getting really bad; it has a severe color cast.

Monday, March 22, 2004

The theme for this week's pictures is "scenes from the demonstration." On Saturday the 20th, cities around the world hosted demonstrations protesting the United States' military action in Iraq. I was in New York City.

Having found myself in the middle of a number of demonstrations this year, one thing I've noticed is what a scene they are. Certainly, lots of people are there specifically for the protest. But a good number of guys just want to dress in drag. Some people are frustrated costume designers.



In addition to ICBM codpieces, this bunch had a whole song and dance number. It went on for a long time.

Some people didn't have quite so sophisticated a message.



But, oh, what a hair cut. And sometimes those who remain silent say them most.



The Bush administration's war in Iraq seems to have made this guy physically ill.

I promise the photos get better later in the week.

Is it just me, or does Sheikh Ahmed Yassin look an awful lot like Christopher Lee?


Photo from the New York Post


You be the judge:



[No, I don't condone state-sponsored assassinations, and I think this is a terrible thing. But this guy really looks like Christopher Lee]

Sunday, March 21, 2004

Was in a bit of a funk this morning. Had a tall cup of coffee and listened to Stop That Train (from Catch a Fire) with my foot on the subwoofer. That bass line seems to have sorted everything out.

I swear, underneath my Dutch exterior, I have descended from Jamaican or Mexican roots.

Off to soak my hands in chemicals for a couple of hours (A strong acid? You're soaking in it!).