A new look / Death to spies

[6 December 2012]

This blog has a new look, courtesy of the crackers who broke in and rendered it necessary to delete the blog, reinstall WordPress from trusted media, re-configure things, change passwords, and re-import the posts and comments. The old theme wasn’t part of the new installation, and while I kind of liked it, I didn’t like it enough to spend any time trying to retrieve it. The old theme was the then-current default theme for WordPress blogs; the new theme is (again) the default for WordPress blogs.

[“Are you kidding me? You can't even be bothered to change the _____ theme?” hissed my evil twin Enrique at this point. “I did look at alternatives. Really. I just happened to like the default pretty well. It's not like I'm lazy.” “Not just that you're lazy, I think you mean?” sighed Enrique. “Oh, hush,” I said.]

The new theme seems to want a header image; I am grateful to Flickr for providing search qualifiers that allow one to search only for photos licensed under Creative Commons and allowing commercial use. The image above is drawn from a photo published on Flickr under the name Glass Bead Game by the photographer Darren Kirby of Edmonton, Alberta, to whom thanks (and an acknowledgement in the footer).

[“Wow,” said Enrique. “His blog photo makes him look way too young to be a reader of Hermann Hesse. Has there been a Hesse resurgence while I wasn't looking?” “Not sure, but I think I heard that in fact there has been. It's not the 80s anymore, Enrique.” “Are you sure? The House majority does not agree with you. And haven't you heard anything about higher education in the UK lately? Sure sounds like Mrs. Thatcher's Britain to me!” “Oh, be quiet, and leave politics out of this.”]

On the minus side, the links to other blogs have been lost, at least for the moment (I do have a list; it’s just a matter of typing them in again). And of course, I’ve lost a few days’ work (and counting), cleaning up after the Viagra hawkers.

On the plus side, I now have nicer blog backup utilities and more convenient tools for intrusion detection (on the theory that making them more convenient is a good way to increase the likelihood of their being used regularly). It turns out that when a web site is just a checked-out working copy of a Subversion repository which gets updated automatically when things are checked into the repository using a commit hook (as this Web site is), then just logging in to the server and running svn status gives you a nice list of things that have been placed on the server by intruders coming in the back door. So for those who do manage their sites this way, and who have never managed to get around to installing tripwire or similar tools, a local shell script reading, in its entirety, ssh hostname 'for d in *.com ; do (echo; cd $d; pwd; svn status); done' may be able to serve as at least a poor, partial substitute.

Still, while it’s almost always nice to learn new things, there are other things I’d rather have spent the last few days on. I find I have new sympathy for the motto Death to spies.

The view from Black Mesa

[31 December 2010]

The view from Black Mesa is a new blog I have started, for posts related to digital preservation, data longevity, and the use of descriptive markup in institutions (especially but not limited to memory institutions: libraries, museums, archives).

Readers of this blog will find the style and many of the pre-occupations familiar, but the new blog will probably have fewer excursions into random topics not relevant to the mission of Black Mesa Technologies.

Blogging and apothegms

[25 March 2009]

For some time now I’ve been carrying around a little notebook with (among other things) notes on various topics I have thought it would be useful and interesting to make blog posts about. I haven’t had time to work out coherent expositions or arguments on most of the topics, though, so nothing happens. All I’ve got are short fragments in a telegraphic style — just enough (I hope) to remind myself, when I come back to the topic, of the line of thought I wanted to pursue.

Sometimes I think I should post the notes I’ve got, despite their incomplete, inadequate formulations. It might not help you, dear reader (sorry) but it might make this lab notebook more useful for me.

(See also Matt Kirschenbaum’s ruminations from 2005 on the use(s) of blog posts, which is a message in a bottle I’ve just run across.)

And I have begun to wonder if this explains the aphoristic, telegraphic style I associate with the posthumous notebooks and journals of great writers, full of incomprehensibly terse remarks. Are the fragments of (say) the Schlegels nothing but notes for things they would later have worked up into blog posts, if only they had not been born two hundred years too soon?


Or perhaps I should say:

Notebook full of ideas for posts.

Telegraphic — aphoristic — apothegmatic?

Schlegels (Nietzsche?) as bloggers avant la lettre?

Is profundity nothing more than haste to get something — something — a trail of breadcrumbs? — down quick?

Hmm. Breadcrumbs. Guess DanC (all of DIG?) thinks so.

Hmm.


Spam Karma 2, again

[2 January 2009]

As noted earlier, I hesitated to try to install Spam Karma 2 in the new location of this blog, since I wasn’t sure it would work with WordPress 2.6.5.

But after a couple of weeks with only Bad Behavior minding the fort, I became desperate. (BB does filter out a lot — my only problem was that almost everything it let through for me to moderate was in fact spam. I have better things to do than get ten or twenty messages in a day asking me to moderate comment spam.)

So I’ve installed Spam Karma 2 again, and so far it appears to work well with WordPress 2.6.5.

And my life is a bit quieter. (Actually, it would be quieter even without SK2, since the day with twenty comment spams appears to have been a fluke; SK2 hasn’t been catching twenty a day since its installation. But the next time the bots find me, SK2 will be in place.)

An ineffable moment

[2008-12-31+07:00 / 2009-01-01Z]

If we add it all up, the XML Schema Working Group has spent a lot of time, since the beginning of the group, worrying about leap seconds.

XSD 1.0 attempts to accommodate them in its descriptions of the date/time types, but leaves some aspects of behavior unspecified. Accordingly, implementations of XSD 1.0 vary wildly in how carefully they handle leap seconds; not every implementation comes with built-in knowledge of when leap seconds have occurred in the past, and not every implementation enforces the rules which specify that, when they occur in the future, leap seconds will occur only at midnight, UTC, at the end of a month. You can read some things on the Web that seem to imply leap seconds can only occur at the end of June or December, or possibly also March and September, but that’s not what the relevant spec says. The quarter days are to be preferred, but in principle a leap second could occur at the end of any month. You can also read things on the Web that suggest many people are uncertain whether the responsible authorities could in principle insert (or delete) two leap seconds at a time, or even more. I was unsure myself, until some time after I read the relevant specification it finally dawned on me that the answer is no.

[“The relevant spec?” asked Enrique. “Which is that?” “Well, if you want to be precise, it’s Recommendation ITU-R TF.460-6: Standard-frequency and time-signal emissions, published by the International Telecommunications Union (Geneva: ITU, February 2002). I don’t remember how I managed to acquire a copy.” “And how can you be sure there can never be adjacent leap seconds, if it doesn’t say that flat out?” “What it says is that leap seconds are to be added at the end of some month, UTC, in order to keep UTC within 0.8 seconds of the appropriate solar time measure (maybe UT1 or UT2, but it’s been a while and I forget the details). If after adding two leap seconds, UTC is within 0.8 seconds of solar time, then before they were added it must have been more than 0.8 seconds off. But it’s not allowed to be more than 0.8 seconds off — that’s the point of adding or deleting leap seconds.” “What if there was a large change between January and June?” insisted Enrique. “Then the spec implies that a leap second should be added between January and June. The spec does not limit the insertion of leap seconds to December 31 and June 30, it just says to prefer those dates. I think the implication is pretty clear that if you need to add a leap second at the end of May, you are supposed to do so.”

[“Yeah, but what if the world slowed down by two seconds in the course of a single month? Isn't that logically possible?” “Logically possible, yeah, I guess so. But astronomically implausible. If the rotation of the earth starts to vary that much, it's likely to be because a large asteroid just hit us, or something. Under those circumstances, schema-validity is likely to be the least of our worries” “Well, my point exactly,” said Enrique. “If the world is falling apart, that's the last time you want your systems to start failing because the schema validator doesn't like your time stamps. There will be more important things to be worrying about!”]

In developing XSD 1.1, we spent a lot of time trying to nail things down better, but ultimately reached the conclusion that there just was no good way to allow all real leap seconds and only real leap seconds, to handle validation of dateTime values for the future, and to maintain the principle that a document’s schema-validity against a given schema is the same today and in the future; it should not change from day to day depending on decisions made by the managers of Universal Coordinated Time. In the end, we said that XSD 1.1 processors just don’t handle leap seconds at all: the moments in the global time-line which are occupied by leap seconds do not correspond to values in the xsd:dateTime value space.

It’s an important principle of schema design (and of the use of other formalisms as well, I think) that in the general case, what the formal notation can express may be only an approximation to the reality you are modeling. Some things may exist without being able to be spoken. Mostly we mean by that that specific rules that apply in a given context may not be expressible in a given formal notation, since the expressive power of the formalism may be hobbled in order to preserve its tractability. It’s nice, I think, that the principle is also instantiated by the dateTime type: there are some moments of UTC time that cannot be captured as values in the dateTime value space.

All this is on my mind, of course, because one of those moments is scheduled to occur today. At midnight UTC. Any moment, now, in fact.

[Pause.]

[“Shouldn't it be midnight local time?” hissed Enrique. “No, you're thinking of shifting to and from Daylight Savings Time. Leap seconds are inserted at the same moment all around the globe. Hush, now, don't spoil it. Just wait and watch.”]

And there it went. Midnight UTC has passed, and the sequence of seconds shown by the applet at http://www.time.gov for Mountain Time went:

  • 16:59:56
  • 16:59:57
  • 16:59:58
  • 16:59:59
  • 16:59:60 [That's it! That's it!! “Hey, come look at this!” I wanted to call to my wife.]
  • 17:00:00 [“No, wait, never mind. It’s over already.”
  • 17:00:01

All of these past weeks, as events in W3C and in the economy and in the world have gone from bad to worse, I’ve been waiting impatiently to shake the dust of this year from my feet, and yearning for 2009 and a new leaf. The new year will surely be hard in many ways, I tell myself, but it cannot be as bad as the year just ending. As far as I can tell, I am not alone; 2009 has a heavy freight of hope and expectations to carry. A heavier freight than it’s fair to ask any year to bear.

So I like the idea that between the old year, so widely and deservingly anathematized, and the new one which carries so much fragile hope, time paused, just for a second, to gather its forces before picking up its burden and marching forward again.

Happy New Year, o my readers. Happy New Year.