Well, this is depressing.
Not that the existence of dark matter has been confirmed; that's just interesting, although it's a little disappointing that the MOND theories are pretty much sunk. No, the depressing part is the last few words of the article, where it notes that the evidence "supports the view that dark matter particles interact with each other almost entirely through gravity."
The practical upshot of this is that dark matter not merely exists, but is boring — almost certainly sterile neutrinos or something very much like. It can't generate interesting structures like atoms, let alone chemical compounds, and certainly can't serve as a universal computational substrate. There are no sentient dark-matter entities on any scale of space or time, no possibility of invisible civilizations in the extragalactic halo.
I suppose it's just barely possible that it could form something vaguely starlike, after a long while left to “cool” — a massive gravitationally-bound clump of dark matter only held apart by neutrino degeneracy pressure. However, I suspect (admittedly with no better than cursory knowledge of the physics involved) that neutrino degeneracy pressure wouldn't suffice, and "something vaguely starlike" would just be a black hole.
Also by then the Big Rip might have happened already.
Saturday, February 28, 2009
Friday, February 27, 2009
Day 99, End of Time
Day 99, End of Time
The Lamp flickered again today. At the same time, I heard something from out in the Dark; it actually sounded like a car of some sort. I don't think the Epoch had an internal combustion engine, but ... actually, that seems vaguely plausible. Lucca did maintenance on it and made modifications to it at one point, didn't she? I wish I'd played Chrono Trigger more recently.
Of course I'm probably just starting to hallucinate again. Not even a hundred days have gone by, and I've already lost my grasp on sanity twice. I think it must be twice, and not just once — if I were imagining all of this, I wouldn't be imagining this again, would I? You can't imagine how bored I am. I can't imagine how bored I am. I must not be imagining how bored I am. I wish I were imagining how bored I am. I suspect I'm boring, too.
You'd think that gate in the bucket in the corner would look more tempting. In fact it looks kind of green and scummy.
I wonder if I have enough time to completely solve chess before Gaspar or Spekkio shows up?
Day 12,779,932,831,054,009,849,986,784, End of Time
White wins. Also, the bucket-gate doesn't work.
Yes, I counted. Infinity is too big.
The Lamp flickered again today. At the same time, I heard something from out in the Dark; it actually sounded like a car of some sort. I don't think the Epoch had an internal combustion engine, but ... actually, that seems vaguely plausible. Lucca did maintenance on it and made modifications to it at one point, didn't she? I wish I'd played Chrono Trigger more recently.
Of course I'm probably just starting to hallucinate again. Not even a hundred days have gone by, and I've already lost my grasp on sanity twice. I think it must be twice, and not just once — if I were imagining all of this, I wouldn't be imagining this again, would I? You can't imagine how bored I am. I can't imagine how bored I am. I must not be imagining how bored I am. I wish I were imagining how bored I am. I suspect I'm boring, too.
You'd think that gate in the bucket in the corner would look more tempting. In fact it looks kind of green and scummy.
I wonder if I have enough time to completely solve chess before Gaspar or Spekkio shows up?
Day 12,779,932,831,054,009,849,986,784, End of Time
White wins. Also, the bucket-gate doesn't work.
Yes, I counted. Infinity is too big.
Thursday, February 26, 2009
-- speaking of mad science --
"And CUT!" the director's voice blared in my ear. (And everyone else's, I hoped.) I kept the camera rolling — partly because I didn't want to forget to restart it when Scinti's next "Akshin!" came through my headset, and partly because I figured someone would want some "behind-the-scenes" footage later. Zil was left holding position with his forelimb embedded in the skyscraper down the block while people ran around checking on each other and moving cameras to new positions.
A murmur started up on the Social channel, which I still had active on low volume; I could just make out Zil's characteristic good-natured buzzing, the effect of being digitally pitched up five octaves. (It helped that it was in time with his actual rumbling speech, which I was close enough to feel through the roof under my feet.)
Gus — my backup, though he'd say the same of me — crushed his cigarette under his heel. "... yeah, okay. You win."
I gave my best Cheshire-cat grin. "I win ... what, exactly?" As if I didn't know.
"Oh, shut the —— up," he said, without any real malice. "And how much was ILM asking, anyway? I mean, I know we had the city already, and I know I don't know how much the lab rats charged to make him, but there ain't no way in hell it's gonna cost less than a billion just to keep him fed 'til we're done shootin'. And what're they gonna do afterward? Butcher him and sell 'Zilla dogs at the premiere?"
"... Gus? You're a sick, sad piece of work, you know that?"
He grinned. "Yeah, I'm thinkin'a goin' into management."
A murmur started up on the Social channel, which I still had active on low volume; I could just make out Zil's characteristic good-natured buzzing, the effect of being digitally pitched up five octaves. (It helped that it was in time with his actual rumbling speech, which I was close enough to feel through the roof under my feet.)
Gus — my backup, though he'd say the same of me — crushed his cigarette under his heel. "... yeah, okay. You win."
I gave my best Cheshire-cat grin. "I win ... what, exactly?" As if I didn't know.
"Oh, shut the —— up," he said, without any real malice. "And how much was ILM asking, anyway? I mean, I know we had the city already, and I know I don't know how much the lab rats charged to make him, but there ain't no way in hell it's gonna cost less than a billion just to keep him fed 'til we're done shootin'. And what're they gonna do afterward? Butcher him and sell 'Zilla dogs at the premiere?"
"... Gus? You're a sick, sad piece of work, you know that?"
He grinned. "Yeah, I'm thinkin'a goin' into management."
Wednesday, February 25, 2009
So occasionally I wonder what the human equivalent of the Three Laws of Robotics are. Not in an ethical sense, like the "Three Laws of Humanics" Asimov later put forth (with seriousness varying by account), but from a psychological standpoint: does psychology have any nontrivial, unbreakable laws, the way physics has? (Or seems to. But that way lies solipsism, so let's say 'has'.)
The existence of unbreakable laws of psychology isn't necessarily any more contradictory to the concept of free will than the existence of unbreakable laws of physics, of course; the question of the existence of free will is equivalent to the question of whether or not the system which is a human being is underconstrained by those laws, and to what degree.
Even if there are no "unbreakable" laws, merely stochastic ones, that would still be useful knowledge. If I understand correctly (and I probably don't; I left off at classical electrodynamics), electron motion is exactly like that — and yet we have electric circuits and computers with component failure rates of `10^{-enough}`.
And that leads me to the real reason that I wonder about this, because I'm actually not hugely interested in the details of what any laws of psychology are. The real question for me is whether or not they, like the laws of physics, can support (even in aggregate) a system of universal computation.
Specifically, I want to hack people — not like in Snow Crash, which would probably be impossible regardless of the laws in question, mind. I just want to play Pong on a substrate of minds.
Why, yes, I suppose I am a mad scientist.
The existence of unbreakable laws of psychology isn't necessarily any more contradictory to the concept of free will than the existence of unbreakable laws of physics, of course; the question of the existence of free will is equivalent to the question of whether or not the system which is a human being is underconstrained by those laws, and to what degree.
Even if there are no "unbreakable" laws, merely stochastic ones, that would still be useful knowledge. If I understand correctly (and I probably don't; I left off at classical electrodynamics), electron motion is exactly like that — and yet we have electric circuits and computers with component failure rates of `10^{-enough}`.
And that leads me to the real reason that I wonder about this, because I'm actually not hugely interested in the details of what any laws of psychology are. The real question for me is whether or not they, like the laws of physics, can support (even in aggregate) a system of universal computation.
Specifically, I want to hack people — not like in Snow Crash, which would probably be impossible regardless of the laws in question, mind. I just want to play Pong on a substrate of minds.
Why, yes, I suppose I am a mad scientist.
Tuesday, February 24, 2009
A test of ASCIIMathML.js
So let's see if this works.
`(12+144+20+3 sqrt(4))/7 + 5*11 = (3^2)^2 + 0`
A dozen, a gross, and a score,
plus three times the square root of four,
divided by seven,
plus five-times-eleven,
is three squared resquared and no more.
From here:
And a recurrence relation, for later:
`p(j,k,n) = sum_{i=1}^oo p(j-1,i+k-1,n-i)`
`(12+144+20+3 sqrt(4))/7 + 5*11 = (3^2)^2 + 0`
A dozen, a gross, and a score,
plus three times the square root of four,
divided by seven,
plus five-times-eleven,
is three squared resquared and no more.
From here:
As we approached the Aleph Inn and tried to park our car,
They noticed there was one of us for every point in `RR`;
Their room-list had the wrong transfinite cardinality,
Alas — for it was `aleph_0` and our bunch was 𝔠.So we're banned from Aleph, almost all,
Banned from Aleph -- their hotel's just a little small.
We may be only `aleph_1` (or `{::}_12` or `{::}_54`)
But Aleph has no room for any more.
And a recurrence relation, for later:
`p(j,k,n) = sum_{i=1}^oo p(j-1,i+k-1,n-i)`
Monday, February 23, 2009
De Tsuchiya Ruka
So interesting fact: Tsuchiya Ruka, of Shoujo Kakumei Utena, is clearly a self-insert character.

No, really. Permit me to present the evidence:
A very long time ago — what, a decade now? — Scott K. Johnson and Scott K. Jamison were coauthoring an Utena fanfic — a subversion of the usual self-insertion trope — by the name of Ma Vie et Roses. Alas, the former has dropped off the face of the earth, and the latter seems no longer to write; I should dearly have loved to see Skyler Sands' reaction to Tsuchiya Ruka.

No, really. Permit me to present the evidence:
- he has Special hair, of a sort not found in nature (and to stand out amongst the colorful Utena cast, that's saying something!);
- he comes out of nowhere partway through the season, usurping the position of one of the main cast;
- he knows everything;
- he successfully manipulates an existing cast member into being his pawn (and a disfavored one, at that);
- he defeats Juri in a duel (which even Utena never does outright);
- he kisses Juri;
- he steals Touga's line.
A very long time ago — what, a decade now? — Scott K. Johnson and Scott K. Jamison were coauthoring an Utena fanfic — a subversion of the usual self-insertion trope — by the name of Ma Vie et Roses. Alas, the former has dropped off the face of the earth, and the latter seems no longer to write; I should dearly have loved to see Skyler Sands' reaction to Tsuchiya Ruka.
Sunday, February 22, 2009
(Think tanks think.)
Think tanks think.

Think tanks think and think and think.

Think tanks link, to think in sync.
Think tanks think, in sync, of Tink.

Suddenly, Tinkerbell exists, because people believe in fairies!

Tink thanks think tanks.

Think tanks blink, and need a drink.

A thousand much deserved apologies to the late and much-missed Theodor Geisel; and special thanks to Google Image Search and to Rhymezone's rhyming dictionary, without whom this travesty could not have been assembled from the central, spooneristic tongue twister "Tink thanks think tanks." (Bet you can't say it five times fast — I know I certainly can't.)
Of course, I now remain stuck with a final image of disembodied brains flying unsteadily about in a sterile laboratory room, possibly bumping into each other or walls, since they're high on ethyl alcohol doped (originally) with synthetic serotonin and (later) with fairy dust. (Tink pranks think tanks!)
Now will somebody tell the ambulatory/volitant hallucination that they don't believe in her before she gets into the other liquor cabinet? One impossible entity is quite enough for the day; we don't need her to go believing in more fairies.... or, heavens forbid, pink elephants.

Think tanks think and think and think.

Think tanks link, to think in sync.
Think tanks think, in sync, of Tink.

Suddenly, Tinkerbell exists, because people believe in fairies!

Tink thanks think tanks.

Think tanks blink, and need a drink.

A thousand much deserved apologies to the late and much-missed Theodor Geisel; and special thanks to Google Image Search and to Rhymezone's rhyming dictionary, without whom this travesty could not have been assembled from the central, spooneristic tongue twister "Tink thanks think tanks." (Bet you can't say it five times fast — I know I certainly can't.)
Of course, I now remain stuck with a final image of disembodied brains flying unsteadily about in a sterile laboratory room, possibly bumping into each other or walls, since they're high on ethyl alcohol doped (originally) with synthetic serotonin and (later) with fairy dust. (Tink pranks think tanks!)
Now will somebody tell the ambulatory/volitant hallucination that they don't believe in her before she gets into the other liquor cabinet? One impossible entity is quite enough for the day; we don't need her to go believing in more fairies.... or, heavens forbid, pink elephants.
Saturday, February 21, 2009
Review: The Stepsister Scheme
So I was recently shamed into decreasing my to-read stack.
The Stepsister Scheme, by Jim C. Hines, is a recently-published fantasy novel (January 2009), the first of the Princess series, which is set in a fantasy milieu based loosely on several classic fairy tales. (The tales exist as tales within the setting; and oh, yes, there are Fairies.)
The protagonists, despite being Cinderella, Sleeping Beauty, and Snow White, act more like the protagonists of modern fantasy rather than those of a fairy-tale; they are exceptions, though, for all the antagonists and most of the supporting cast could have stepped in from the dark cobwebbed corners of pre-Perraultian folklore. (Students of which will probably recognize Talia by the name alone.)
The setting is particularly interesting: there is a Fairyland, and there is a treaty between it and the human kingdom of Lorindar; but Fairyland is still made of fairies, who are themselves made of mischief and malice and that subtle alien quality — they are not human, and with few exceptions it is not possible to forget this. This makes for interesting politics, to say the least.
Ms. Yolen, on the blurb on the back cover, says it "turns fairy-tale conventions upside down". She does know her fairy tales, but I'm still going to have to respectfully disagree; while it's true enough that the princess-protagonists are inversions, subversions, extensions and extrapolations of their respective source materials, and while much of the tale is modern in flavor and in flow, where the conventions of fairy-tales are used, they are played straight.*
Summary: 1, on a scale of 1 to 1. I'm looking forward to the upcoming second book of the trilogy.
* Page 283 counts as "played straight", and damn the pun.
The Stepsister Scheme, by Jim C. Hines, is a recently-published fantasy novel (January 2009), the first of the Princess series, which is set in a fantasy milieu based loosely on several classic fairy tales. (The tales exist as tales within the setting; and oh, yes, there are Fairies.)
The protagonists, despite being Cinderella, Sleeping Beauty, and Snow White, act more like the protagonists of modern fantasy rather than those of a fairy-tale; they are exceptions, though, for all the antagonists and most of the supporting cast could have stepped in from the dark cobwebbed corners of pre-Perraultian folklore. (Students of which will probably recognize Talia by the name alone.)
The setting is particularly interesting: there is a Fairyland, and there is a treaty between it and the human kingdom of Lorindar; but Fairyland is still made of fairies, who are themselves made of mischief and malice and that subtle alien quality — they are not human, and with few exceptions it is not possible to forget this. This makes for interesting politics, to say the least.
Ms. Yolen, on the blurb on the back cover, says it "turns fairy-tale conventions upside down". She does know her fairy tales, but I'm still going to have to respectfully disagree; while it's true enough that the princess-protagonists are inversions, subversions, extensions and extrapolations of their respective source materials, and while much of the tale is modern in flavor and in flow, where the conventions of fairy-tales are used, they are played straight.*
Summary: 1, on a scale of 1 to 1. I'm looking forward to the upcoming second book of the trilogy.
* Page 283 counts as "played straight", and damn the pun.
Friday, February 20, 2009
The Exultant Way
The shadar-kai natively speak Common; but the uncommon Common word "exult" (and all its derivatives) happened to fall out of use amongst them some hundreds of years ago. As such, the monastic school which calls itself "the Exultant Way" has repurposed it slightly.
Their teachings are considered esoteric amongst the shadar-kai: they are ascetics, in that they are required to abstain from seeking sensual pleasure, but unlike many other ascetic groups they are also required to abstain from seeking pain. Thus they do not fast nor feast; they tend to live simply, but not in a state of privation. They are often recognizable by their lack of tattoos, piercings, and scarification.
While the Exultants do train warrior-monks in the school's style, Shinqfwuchyuan* — these are shadar-kai, after all — they are primarily a philosophical school rather than a martial one. The ultimate goal of the Exultant, their nirvāṇa or enlightenment, is the state they call Exultation, which may be rendered fairly well as what a human or halfling might mean by "happiness" or even "contentment"; it is at least slightly alien to the shadar-kai mindset, so they have chosen an at least slightly alien word to name it, to avoid the connotations of the more common words as they are used by the shadar-kai.
Exultants very carefully do not decry worship of the Raven Queen as harmful. It is publically the position of all major splinters of the Exultants that the Raven Queen is an enlightened being who has transcended pleasure and pain; it is often also, and more truthfully, their position that those would-be demagogues who decry the worship of the Raven Queen are clearly seekers of the pain of a violent death and therefore are not truly followers of the Exultant Way.
Exultationism is a reaction to the excesses of the shadar-kai, as many ascetic sects have been reactions to the excesses of their places and times.
The Exultants have a very close real-world analogue in the Stoics.
* And doesn't that look like I just smashed the keyboard? I didn't, though; those fourteen characters took more time than the whole rest of this post.
Their teachings are considered esoteric amongst the shadar-kai: they are ascetics, in that they are required to abstain from seeking sensual pleasure, but unlike many other ascetic groups they are also required to abstain from seeking pain. Thus they do not fast nor feast; they tend to live simply, but not in a state of privation. They are often recognizable by their lack of tattoos, piercings, and scarification.
While the Exultants do train warrior-monks in the school's style, Shinqfwuchyuan* — these are shadar-kai, after all — they are primarily a philosophical school rather than a martial one. The ultimate goal of the Exultant, their nirvāṇa or enlightenment, is the state they call Exultation, which may be rendered fairly well as what a human or halfling might mean by "happiness" or even "contentment"; it is at least slightly alien to the shadar-kai mindset, so they have chosen an at least slightly alien word to name it, to avoid the connotations of the more common words as they are used by the shadar-kai.
Exultants very carefully do not decry worship of the Raven Queen as harmful. It is publically the position of all major splinters of the Exultants that the Raven Queen is an enlightened being who has transcended pleasure and pain; it is often also, and more truthfully, their position that those would-be demagogues who decry the worship of the Raven Queen are clearly seekers of the pain of a violent death and therefore are not truly followers of the Exultant Way.
Exultationism is a reaction to the excesses of the shadar-kai, as many ascetic sects have been reactions to the excesses of their places and times.
The Exultants have a very close real-world analogue in the Stoics.
* And doesn't that look like I just smashed the keyboard? I didn't, though; those fourteen characters took more time than the whole rest of this post.
Thursday, February 19, 2009
Modular robotics
So apparently I have totally not been paying attention.
(One would think hoop-snaking would be a more popular method of locomotion amongst the linear crowd.)
(This one even has a punchline of sorts.)
So yeah, it looks like we're well on our way to utility fog! ... okay, we've got a ways to go yet. But you don't need utility-fog capabilities for commercializability; I'd love to have, say, furniture or made out of tens or thousands of centimeter-size versions of these. Or make the non-load-bearing walls of a house out of tens of millions of them. (Never mind blurring the line between architecture and interior decoration — just imagine never worrying about finding a nearby power outlet again!)
Offhand (i.e. without doing any research and all off the top of my head) it looks like the major barriers are miniaturization and power-supply. Power might not be as much of a problem: the smaller (and therefore more numerous-per-volume) they are, the less force they should each have to exert; but there will be both "bending energy" and "bonding energy" to consider, and while the former I think is line-cube, the latter seems to be at best square-cube, not as amenable to reduction as the first. (Centrifugal force and gravity are harsh taskmasters; the first can be reduced, with some cleverness, but the second is quite inescapable.) Still, it's probably not a significant problem at all for the housewalls version, though room-temperature superconductors would probably be nice there.
On the other hand, to the best of my knowledge, miniaturization of sufficiently powerful motors to the millimeter scale is just not something we know how to do. (This recent motor is about two orders of magnitude insufficiently powerful.)
(Edit 2009-02-20: fixed formatting.)
(One would think hoop-snaking would be a more popular method of locomotion amongst the linear crowd.)
(This one even has a punchline of sorts.)
So yeah, it looks like we're well on our way to utility fog! ... okay, we've got a ways to go yet. But you don't need utility-fog capabilities for commercializability; I'd love to have, say, furniture or made out of tens or thousands of centimeter-size versions of these. Or make the non-load-bearing walls of a house out of tens of millions of them. (Never mind blurring the line between architecture and interior decoration — just imagine never worrying about finding a nearby power outlet again!)
Offhand (i.e. without doing any research and all off the top of my head) it looks like the major barriers are miniaturization and power-supply. Power might not be as much of a problem: the smaller (and therefore more numerous-per-volume) they are, the less force they should each have to exert; but there will be both "bending energy" and "bonding energy" to consider, and while the former I think is line-cube, the latter seems to be at best square-cube, not as amenable to reduction as the first. (Centrifugal force and gravity are harsh taskmasters; the first can be reduced, with some cleverness, but the second is quite inescapable.) Still, it's probably not a significant problem at all for the housewalls version, though room-temperature superconductors would probably be nice there.
On the other hand, to the best of my knowledge, miniaturization of sufficiently powerful motors to the millimeter scale is just not something we know how to do. (This recent motor is about two orders of magnitude insufficiently powerful.)
(Edit 2009-02-20: fixed formatting.)
Wednesday, February 18, 2009
On commonly-used magic systems (5/?)
I'll have to retract my earlier statement: the element N of non-elemental spells is the unique element such that for all elements E and all targets t∈T, D(E,t) = D(E,t) * D(N,t) — or, equivalently, for which every element is a hybrid element of itself and N. This is less restrictive than the former statement (t∈T, D(N,t) = 1); it is equivalent thereto iff * is associative and invertible on some extension of R. (Which is exceedingly rare, as R will usually include 0 to indicate that an enemy is immune to an element.) This allows enemies to be immune to (via, e.g., antimagic field) or reflective of (via, e.g., Reflect) all magic.
Surprisingly, by this definition, status-inflicting spells are rarely non-elemental: while in some cases (such as Skies of Arcadia) the status magics are explicitly folded into the obvious elemental system, more often certain classes of enemies will simply be exempted from them. (When was the last time you saw a boss that was vulnerable to an instant-death attack? — okay, other than Revive Kills Zombie. And no, the Vanish/Doom trick doesn't count: Vanish changes the value of t the same way Reflect does.)
Exercise for the reader: the class M of Megido ("Almighty-element") spells, from the Persona series, does have a uniform coefficient of effectiveness of 1 for all targets — even those with Makarakarn (the Shin Megami Tensei equivalent of Reflect) cast on them. Is M⊆N?
(Edit 2009-02-19: fixed equivalency condition. I think.)
Surprisingly, by this definition, status-inflicting spells are rarely non-elemental: while in some cases (such as Skies of Arcadia) the status magics are explicitly folded into the obvious elemental system, more often certain classes of enemies will simply be exempted from them. (When was the last time you saw a boss that was vulnerable to an instant-death attack? — okay, other than Revive Kills Zombie. And no, the Vanish/Doom trick doesn't count: Vanish changes the value of t the same way Reflect does.)
Exercise for the reader: the class M of Megido ("Almighty-element") spells, from the Persona series, does have a uniform coefficient of effectiveness of 1 for all targets — even those with Makarakarn (the Shin Megami Tensei equivalent of Reflect) cast on them. Is M⊆N?
(Edit 2009-02-19: fixed equivalency condition. I think.)
Tuesday, February 17, 2009
References
In recent years, people have had far more leisure time. This directly translates to far more literature consumed — although note that for our purposes, we interpret ‘literature’ broadly, as any widely-distributed reasonably non-ephemeral work, including television, radio, blogs (possibly eventually via Wayback), usw.
This has, of course, led directly to much of humanity sharing a common cultural background. Of course not everyone will read the same books, watch the same movies, listen to the same podcasts... but there is and will continue to be a great deal of overlap. Rarely will two native speakers of English be separated by so great a gap as exists between, say, the wizarding and Muggle worlds — to make a familiar reference. They all have a minimal shared culture on which to fall back, stories and analogies like the preceding, and that minimal culture grows daily.
Not entirely unrelatedly, it is often noted that everything that can be written about has. This is not quite true, but as the number of works of literature (by the above definition) increases, it is at least certain that everything day-to-day, all the combinations of common events and the feelings coincident with them, will have been written about, and written about famously.
Someday, these two phenomena will touch.
On that day, we will all be Darmok and Jalad at Tanagra.
This has, of course, led directly to much of humanity sharing a common cultural background. Of course not everyone will read the same books, watch the same movies, listen to the same podcasts... but there is and will continue to be a great deal of overlap. Rarely will two native speakers of English be separated by so great a gap as exists between, say, the wizarding and Muggle worlds — to make a familiar reference. They all have a minimal shared culture on which to fall back, stories and analogies like the preceding, and that minimal culture grows daily.
Not entirely unrelatedly, it is often noted that everything that can be written about has. This is not quite true, but as the number of works of literature (by the above definition) increases, it is at least certain that everything day-to-day, all the combinations of common events and the feelings coincident with them, will have been written about, and written about famously.
Someday, these two phenomena will touch.
On that day, we will all be Darmok and Jalad at Tanagra.
Monday, February 16, 2009
... what?
Skittering deliciously across-upwards the isosurface, I came to an epiphany.
It was large and round, spiraling jaggedly offdown, and I soon perceived that it had completely diverted me from my previous traverse. Alien layers slid scathingly past me as I twisted ever farther from the initial realization, until by the end I was left sliding without direction, orbital-distal to an unfamiliar yellow tune.
Damn, I swore quietly. (The ripples faded into the tune before subsiding.) I didn't know exactly where I was, but the warm-spiky texture of the local groundstate was a horrifyingly clear indication that this was not the sort of place I wanted to think alone in, not unless I wanted to become a statistic. Even the cobalts didn't come places like this closetide without armed backup.
Fortunately it was opentide here — epiphanies are like that — so I backtraced, pulling in, trying to keep myself down until I could strike to an edge. I did have my glass-fan with me, for all the good it would do.
Except I wasn't finding any edges. And no matter how I went, the texture never got any cleaner. And... shouldn't I have second-touched someone by now? Even if —
[extended burst of static]
It was large and round, spiraling jaggedly offdown, and I soon perceived that it had completely diverted me from my previous traverse. Alien layers slid scathingly past me as I twisted ever farther from the initial realization, until by the end I was left sliding without direction, orbital-distal to an unfamiliar yellow tune.
Damn, I swore quietly. (The ripples faded into the tune before subsiding.) I didn't know exactly where I was, but the warm-spiky texture of the local groundstate was a horrifyingly clear indication that this was not the sort of place I wanted to think alone in, not unless I wanted to become a statistic. Even the cobalts didn't come places like this closetide without armed backup.
Fortunately it was opentide here — epiphanies are like that — so I backtraced, pulling in, trying to keep myself down until I could strike to an edge. I did have my glass-fan with me, for all the good it would do.
Except I wasn't finding any edges. And no matter how I went, the texture never got any cleaner. And... shouldn't I have second-touched someone by now? Even if —
[extended burst of static]
Sunday, February 15, 2009
A random magic system
So never mind all that. There are five elements: Sweet, Pungent, Prickle, Orange, and Boom.
Most humans are Prickle-elemental, meaning that they're weak against Pungent, resistant to Orange, healed by Sweet, and best at producing Boom-elemental effects (one way or another).
Pungent-elementals are typically "angels" or "demons"; they are weak against Sweet, resistant to Boom, healed by Orange and are best at Prickle effects.
Orange-elementals are typically reified or quasi-reified concepts; they are weak against Boom, resistant to Prickle, healed by Pungent and best at producing Sweet.
Only the aliens (who are almost all in the bonus dungeon) are Sweet-elemental; this actually means "rearrange the other four randomly depending on the return value of
The only Boom-elemental enemies are the Voices In Your Head — and since you don't have access to any elemental effects (other than Boom, if you typically have certain weapons equipped) during those battles, they are very deliberately programmed to reflect back any non-Boom elemental effects as non-elemental damage. Bad cheater! No biscuit!
Most healing items actually deal Sweet damage. Hot dog buns deal random non-Sweet damage (one point's worth), unless the realtime clock says it's currently Friday, in which case they deal Sweet damage (also one point's worth).
Eris herself, if you fight her (you don't have to, but you have the option) takes a random amount of damage (coefficient of effectiveness varies equiprobably within [-1, 1]) from every attack or spell regardless of its elemental affiliation. Her sister Aneris is simply immune to elemental attacks, but as she doesn't actually exist this isn't a problem.
Most humans are Prickle-elemental, meaning that they're weak against Pungent, resistant to Orange, healed by Sweet, and best at producing Boom-elemental effects (one way or another).
Pungent-elementals are typically "angels" or "demons"; they are weak against Sweet, resistant to Boom, healed by Orange and are best at Prickle effects.
Orange-elementals are typically reified or quasi-reified concepts; they are weak against Boom, resistant to Prickle, healed by Pungent and best at producing Sweet.
Only the aliens (who are almost all in the bonus dungeon) are Sweet-elemental; this actually means "rearrange the other four randomly depending on the return value of
time(2)
when battle is joined."The only Boom-elemental enemies are the Voices In Your Head — and since you don't have access to any elemental effects (other than Boom, if you typically have certain weapons equipped) during those battles, they are very deliberately programmed to reflect back any non-Boom elemental effects as non-elemental damage. Bad cheater! No biscuit!
Most healing items actually deal Sweet damage. Hot dog buns deal random non-Sweet damage (one point's worth), unless the realtime clock says it's currently Friday, in which case they deal Sweet damage (also one point's worth).
Eris herself, if you fight her (you don't have to, but you have the option) takes a random amount of damage (coefficient of effectiveness varies equiprobably within [-1, 1]) from every attack or spell regardless of its elemental affiliation. Her sister Aneris is simply immune to elemental attacks, but as she doesn't actually exist this isn't a problem.
Saturday, February 14, 2009
Odin Sphere
So I should talk about Odin Sphere for just a bit.
Oftentimes you will hear a videogame described with the terms "epic" or "saga". This may bring a twitch to the eye of a student of literature: games rarely follow the conventions of epic poetry, much less those of the Norse sagas.
Odin Sphere does.
It is a epic in the Greek style, and an epic in the Wagnerian style, and a saga in the style of the fornaldarsögur. It involves journeys into the underworld and prophecy and lost royalty and clashes between rulers and wise and terrible dragons and several interlinked tales and the end of the world, in sea and in fire. And tragic heroes — not all of whom are player-characters.
It is of byzantine complexity — try tracing the ownership of the ring Titrel over the course of the game — did I mention the shoutouts to Der Ring des Nibelungen? Yeah. Concomitantly it is also massively, massively long. Reading the Iliad followed by the Odyssey followed by the Aeneid followed by the Nibelungenlied followed by the entire Wheel of Time series would have taken me less time than playing this game did. (Admittedly this is largely due to my completionist tendencies, but eliding those just means replacing Wheel of Time with A Song of Ice and Fire.)
It is fun to play. Okay, I am possibly not the best judge of this, but will you at least take the words of Tycho and Gabe? Combat is difficult but rewarding, inventory management is challenging but not actually frustrating, the alchemy system is fun, and the food looks good enough to eat.
Also, although this is not even remotely where I was going with this, it has characters named Valentine.
Oftentimes you will hear a videogame described with the terms "epic" or "saga". This may bring a twitch to the eye of a student of literature: games rarely follow the conventions of epic poetry, much less those of the Norse sagas.
Odin Sphere does.
It is a epic in the Greek style, and an epic in the Wagnerian style, and a saga in the style of the fornaldarsögur. It involves journeys into the underworld and prophecy and lost royalty and clashes between rulers and wise and terrible dragons and several interlinked tales and the end of the world, in sea and in fire. And tragic heroes — not all of whom are player-characters.
It is of byzantine complexity — try tracing the ownership of the ring Titrel over the course of the game — did I mention the shoutouts to Der Ring des Nibelungen? Yeah. Concomitantly it is also massively, massively long. Reading the Iliad followed by the Odyssey followed by the Aeneid followed by the Nibelungenlied followed by the entire Wheel of Time series would have taken me less time than playing this game did. (Admittedly this is largely due to my completionist tendencies, but eliding those just means replacing Wheel of Time with A Song of Ice and Fire.)
It is fun to play. Okay, I am possibly not the best judge of this, but will you at least take the words of Tycho and Gabe? Combat is difficult but rewarding, inventory management is challenging but not actually frustrating, the alchemy system is fun, and the food looks good enough to eat.
Also, although this is not even remotely where I was going with this, it has characters named Valentine.
Friday, February 13, 2009
On commonly-used magic systems (4/?)
Dual-elemental magics are relatively uncommon: I'm not offhand aware of any in any of the Final Fantasy games, for instance, although Chrono Trigger has the Antipode series of Double Techniques. Part of this is because it may require special handling: what happens if an enemy is weak to one of the elements, but strong against another? The dissection described in the previous post is silent on the matter effectively assumes that this does not happen, and that identical coefficients do not stack.
The structure we have so far isn't quite enough to describe the case where they do stack. If stacking is to take place, you'll have to define a multiplication operation on R; this is easy if R⊆ℝ, but somewhat less so in, e.g., Persona 3, where R = {2, 1, 0.5, 0, -1, Reflect}. (Just making Reflect override everything [∀r∈R: Reflect * r = Reflect = r * Reflect] would work, but it would be a design decision. P3 evades the issue entirely: it has no multielemental spells.) Then an element h is a hybrid element iff there exists some set of elements V = {v1, ... vn} such that for all t∈T, D(h,t) = ΠD(v,t).
(I have really got to find a better way to type up math; that product just looks wrong, and I can't even fit the index in properly without a full-blown table.)
Actually, that's probably a better way to work than protoelements and derived protoelements; the non-stacking case reduces to defining * as being idempotent on R, 1 as being the identity on *, and leaving all other operations of * undefined. Then you don't need to differentiate between protoelements and derived protoelements and construct elements out of them; just let what was described as a protoelement be an element instead, and all the old dual-elementals are hybrid elements. N is, more comprehensibly, the unique element such that ∀t∈T, D(N,t) = 1. (Although there may be t∈T that are "weak against magic" — but in that case "melée" is just another element.)
The structure we have so far isn't quite enough to describe the case where they do stack. If stacking is to take place, you'll have to define a multiplication operation on R; this is easy if R⊆ℝ, but somewhat less so in, e.g., Persona 3, where R = {2, 1, 0.5, 0, -1, Reflect}. (Just making Reflect override everything [∀r∈R: Reflect * r = Reflect = r * Reflect] would work, but it would be a design decision. P3 evades the issue entirely: it has no multielemental spells.) Then an element h is a hybrid element iff there exists some set of elements V = {v1, ... vn} such that for all t∈T, D(h,t) = ΠD(v,t).
(I have really got to find a better way to type up math; that product just looks wrong, and I can't even fit the index in properly without a full-blown table.)
Actually, that's probably a better way to work than protoelements and derived protoelements; the non-stacking case reduces to defining * as being idempotent on R, 1 as being the identity on *, and leaving all other operations of * undefined. Then you don't need to differentiate between protoelements and derived protoelements and construct elements out of them; just let what was described as a protoelement be an element instead, and all the old dual-elementals are hybrid elements. N is, more comprehensibly, the unique element such that ∀t∈T, D(N,t) = 1. (Although there may be t∈T that are "weak against magic" — but in that case "melée" is just another element.)
Thursday, February 12, 2009
Voice Search
So the G1 got a system update today.
“Mardi Gras.” → mardi gras
I suppose it's obvious. But then, the best things so often are.“... ♫ Supercalifragilisticexpialidocious? ♪” → supercalifragilistic expialidocious
It can be a little tricky to use, mind. You don't speak into the phone like you do for a conversation;“... 物の哀れ。” → illinois
you just speak at the phone, as though it were on speakerphone.“GameFAQs.” → gamecocks
Which I suppose it actually is.“Monomorphism.” → monomorphism
It's also a shiny new toy; I have little doubt that thousands of G1 owners are“Epimorphism.” → ectomorphs
hammering Google's server with random phrases and fragments,“In a galaxy far far away.” → in a galaxy far far away
bits of half-remembered poetry or song lyrics,“While the evening is spread out against the sky —” → biodiesel industries houston skyline
or just random words.“Unsophisticated.” → concert tickets
I suppose it's good practice for their recognition systems,“Anechoic chamber.” → minnesota chamber
but given that people are just going to be playing around,[very high-pitched] “Yay!” → yahoo
they're likely to pick up a fair amount of deliberate noise.“Da da da, da dat-da-da da-dat-da-da da-dat-da da dat-da!” → joseph sylvester ga
(In every sense of the word.)[random yawning] → where in the middle
[whistled tone] → phone
[snap of the fingers] → No matches found
Wednesday, February 11, 2009
On commonly-used magic systems (3/?)
(continued from last)
So an elemental magic system, as commonly implemented, has at its base a mapping D from spells s ∈ S and spell-targets t ∈ T to an effect-modifier α∈R (where R is usually a small subset of the real line, but must contain 1). We call β = D(s,t) the coefficient of effectiveness for that spell and target.
Note that any of S, T, or R may be infinite, or even merely absurdly large. In the case of T specifically, we consider a player character with two different sets of equipment to be two distinct targets; likewise considered distinct are entities with statuses such as Reflect, Ice Break, or Zombie applied, or the various states of a boss which switches around its elemental weaknesses.
A collection of spells E⊆S all of which have the same β for any target [∀s1, s2∈E: ∀t∈T: D(s1,t) = D(s2,t)] we call coelemental; if no superset of E shares this quality, E defines a protoelement. For convenience, we extend the mapping D such that we may write D(E,t) for a protoelement E to refer to that protoelement's shared coefficient for that target. Note that any two distinct protoelements are disjoint.
We say a target t is affected by a protoelement E exactly when D(E,t) ≠ 1. Given two protoelements E and E', if any target affected by E is affected identically by E' [∀t∈T: D(E,t) ≠ 1 → D(E,t) = D(E',t)], we say that E' is a derived protoelement of E.
Finally, an element V is an ordered pair: a single protoelement v which is not a derived protoelement (called the base protoelement), and the collection of all protoelements which are derived protoelements of v. Once again, we extend the mapping D, such that we may write D(V,t) for D(π1(V),t) (that is, identifying the β of an element with that of its base protoelement). We say that protoelements E belong to V if they are any of the protoelements that compose it, base or derived.
The unique protoelement N that belongs to every element, if it exists, is actually the set of non-elemental spells. (It would include things like Apocalypse, Flare, Giga Flare, Gravity Well, Megido, Meteo, NUKE, Ultima... you may possibly see something of a pattern here.)
Derived protoelements other than N may not exist, in which case we can simply say that every protoelement defines an element (including one special non-element from N), and then essentially forget about the protoelemental structure. (This is the usual case.) However, if another (necessarily derived) protoelement exists which belongs to more than one element, that protoelement is a set of multi-elemental spells (e.g., D&D4e's common Fire and Radiant combination).
A derived protoelement that belongs to only one element would be curious indeed, and doesn't seem to have any concrete examples.
(To be continued, with examples and extensions.)
So an elemental magic system, as commonly implemented, has at its base a mapping D from spells s ∈ S and spell-targets t ∈ T to an effect-modifier α∈R (where R is usually a small subset of the real line, but must contain 1). We call β = D(s,t) the coefficient of effectiveness for that spell and target.
Note that any of S, T, or R may be infinite, or even merely absurdly large. In the case of T specifically, we consider a player character with two different sets of equipment to be two distinct targets; likewise considered distinct are entities with statuses such as Reflect, Ice Break, or Zombie applied, or the various states of a boss which switches around its elemental weaknesses.
A collection of spells E⊆S all of which have the same β for any target [∀s1, s2∈E: ∀t∈T: D(s1,t) = D(s2,t)] we call coelemental; if no superset of E shares this quality, E defines a protoelement. For convenience, we extend the mapping D such that we may write D(E,t) for a protoelement E to refer to that protoelement's shared coefficient for that target. Note that any two distinct protoelements are disjoint.
We say a target t is affected by a protoelement E exactly when D(E,t) ≠ 1. Given two protoelements E and E', if any target affected by E is affected identically by E' [∀t∈T: D(E,t) ≠ 1 → D(E,t) = D(E',t)], we say that E' is a derived protoelement of E.
Finally, an element V is an ordered pair: a single protoelement v which is not a derived protoelement (called the base protoelement), and the collection of all protoelements which are derived protoelements of v. Once again, we extend the mapping D, such that we may write D(V,t) for D(π1(V),t) (that is, identifying the β of an element with that of its base protoelement). We say that protoelements E belong to V if they are any of the protoelements that compose it, base or derived.
The unique protoelement N that belongs to every element, if it exists, is actually the set of non-elemental spells. (It would include things like Apocalypse, Flare, Giga Flare, Gravity Well, Megido, Meteo, NUKE, Ultima... you may possibly see something of a pattern here.)
Derived protoelements other than N may not exist, in which case we can simply say that every protoelement defines an element (including one special non-element from N), and then essentially forget about the protoelemental structure. (This is the usual case.) However, if another (necessarily derived) protoelement exists which belongs to more than one element, that protoelement is a set of multi-elemental spells (e.g., D&D4e's common Fire and Radiant combination).
A derived protoelement that belongs to only one element would be curious indeed, and doesn't seem to have any concrete examples.
(To be continued, with examples and extensions.)
Tuesday, February 10, 2009
Foolery
So the original Duke Nukem 3D was released just about exactly thirteen years ago, and FPS gamers past and present have been waiting thirteen years for the release of Duke Nukem Forever. The title's become synonymous with the term “vaporware” — in fact, you scarcely ever see one term without the other.
Pfft. Pikers. Johnny-come-latelies and mid-show seaters, all of you.
We puzzle-gamers have been waiting twenty-two years for The Fool and his Money, the sequel to the still-unsurpassed 1987 megapuzzler and metapuzzler The Fool's Errand. (Okay, eighteen if you mark from the 1991 release of the formally-unrelated-but-similarly-awesome 3 in Three instead. (And no, the CD-I games don't count.)) Quite literally legendary, the Errand's fiendish puzzles, intertwined story, and overarching metapuzzle essentially established the genre of the puzzle adventure, brought to later fame by the similarly-patterned Myst; much like the text adventure games of an only slightly earlier era, it holds up more than merely nostalgically well against the ravages of time.
(As an aside: The Fool's Errand was a HyperCard game, which all on its own brings back memories of half-baked games and halfheartedly-slapped-together applications. Interestingly, The Fool and his Money promises to be in Flash, which also brings thoughts of half-bakedness to mind.)
Of course, one might argue that the real difference between Duke and the Fool — never mind such petty trivialities as genre and time and timelessness — is that the Fool, well, isn't entirely future-tense anymore.
Pfft. Pikers. Johnny-come-latelies and mid-show seaters, all of you.
We puzzle-gamers have been waiting twenty-two years for The Fool and his Money, the sequel to the still-unsurpassed 1987 megapuzzler and metapuzzler The Fool's Errand. (Okay, eighteen if you mark from the 1991 release of the formally-unrelated-but-similarly-awesome 3 in Three instead. (And no, the CD-I games don't count.)) Quite literally legendary, the Errand's fiendish puzzles, intertwined story, and overarching metapuzzle essentially established the genre of the puzzle adventure, brought to later fame by the similarly-patterned Myst; much like the text adventure games of an only slightly earlier era, it holds up more than merely nostalgically well against the ravages of time.
(As an aside: The Fool's Errand was a HyperCard game, which all on its own brings back memories of half-baked games and halfheartedly-slapped-together applications. Interestingly, The Fool and his Money promises to be in Flash, which also brings thoughts of half-bakedness to mind.)
Of course, one might argue that the real difference between Duke and the Fool — never mind such petty trivialities as genre and time and timelessness — is that the Fool, well, isn't entirely future-tense anymore.
Monday, February 9, 2009
On commonly-used magic systems (2/?)
(continued from last)
Curiously, both of these strictly-dualistic systems derive from more complicated, less perfectly orthogonal systems. The Final Fantasy series has historically (I-VI) used Fire, Ice, and Lit (aka Bolt, aka Lightning) as elements, with a random potpourri of other unrelated spells: while Fire and Ice oppose, Lightning stands somewhat apart. This in turn stems from AD&D, in which the three most accessible and consistently used damage types were fire, cold, and electric. Chrono Trigger's magic system was similar, in that it used Fire, Water (incl. Ice), and Lightning: the three could combine to form the fourth magic type, Shadow.
This, too, is a common extension: Persona 3, for instance, used Fire/Ice, Lightning/Wind, and Light/Darkness (the last two only existing as instant-death magics), but had an additional, "Almighty" pseudo-element which could not be blocked nor resisted. Many of the Final Fantasy series have had non-elemental Flare or Ultima spells.
Of course, some elemental systems have no concept of "opposing" elements at all. The Chinese classical elements (a source of inspiration sadly underutilized amongst game designers) consists of five elements — fire, water, wood, metal, and earth — each of which supports one element, is supported by another, undermines a third element, and is undermined by the remaining. (This is usually shown as a directed version of K5, with two separately colored cycles.) Skies of Arcadia's system of elements simply eschews any sort of underlying symmetry.
(TBC)
Curiously, both of these strictly-dualistic systems derive from more complicated, less perfectly orthogonal systems. The Final Fantasy series has historically (I-VI) used Fire, Ice, and Lit (aka Bolt, aka Lightning) as elements, with a random potpourri of other unrelated spells: while Fire and Ice oppose, Lightning stands somewhat apart. This in turn stems from AD&D, in which the three most accessible and consistently used damage types were fire, cold, and electric. Chrono Trigger's magic system was similar, in that it used Fire, Water (incl. Ice), and Lightning: the three could combine to form the fourth magic type, Shadow.
This, too, is a common extension: Persona 3, for instance, used Fire/Ice, Lightning/Wind, and Light/Darkness (the last two only existing as instant-death magics), but had an additional, "Almighty" pseudo-element which could not be blocked nor resisted. Many of the Final Fantasy series have had non-elemental Flare or Ultima spells.
Of course, some elemental systems have no concept of "opposing" elements at all. The Chinese classical elements (a source of inspiration sadly underutilized amongst game designers) consists of five elements — fire, water, wood, metal, and earth — each of which supports one element, is supported by another, undermines a third element, and is undermined by the remaining. (This is usually shown as a directed version of K5, with two separately colored cycles.) Skies of Arcadia's system of elements simply eschews any sort of underlying symmetry.
(TBC)
Sunday, February 8, 2009
On commonly-used magic systems
So the basis for... probably most CRPG magic systems is the classical four elements. This can be seen in, for example, Final Fantasy X.
Final Fantasy X doesn't actually use the classical elements outright; rather, its four primary elements are fire, ice, water, and lightning. However, they're still opposed in exactly the same manner as the classics: where Paracelsus had fire/water and earth/air opposed, FFX has fire/ice and water/lightning. It's the same graph, just with different labels.
Of course, this can be extended to more than two opposing pairs, usually by adding light/darkness, or a close facsimile thereof. Chrono Cross used a similar, three-way opposing system: red/blue, green/yellow, and black/white. Exactly what physical concept was represented by each color was a little loose, but the strict opposition and noninteraction between them was not.
Intuitively, these map to `RR^2` and `RR^3` respectively — although the situation is actually a little more complex than that, since games using this system tend to find ways to break the axes at the origin: e.g., a player character wielding a Flame Sword but wearing an Antifreeze Charm, so that they can take on Ice-aspected enemies.
(TBC)
Final Fantasy X doesn't actually use the classical elements outright; rather, its four primary elements are fire, ice, water, and lightning. However, they're still opposed in exactly the same manner as the classics: where Paracelsus had fire/water and earth/air opposed, FFX has fire/ice and water/lightning. It's the same graph, just with different labels.
Of course, this can be extended to more than two opposing pairs, usually by adding light/darkness, or a close facsimile thereof. Chrono Cross used a similar, three-way opposing system: red/blue, green/yellow, and black/white. Exactly what physical concept was represented by each color was a little loose, but the strict opposition and noninteraction between them was not.
Intuitively, these map to `RR^2` and `RR^3` respectively — although the situation is actually a little more complex than that, since games using this system tend to find ways to break the axes at the origin: e.g., a player character wielding a Flame Sword but wearing an Antifreeze Charm, so that they can take on Ice-aspected enemies.
(TBC)
Saturday, February 7, 2009
De finibus praesentibus technologiae
So I went to last SIGGRAPH not too long ago, and I got an idea. The idea is separable into two parts: I have since found that the first part has been done, so I shall describe the second for now.
Most current research in haptics is focused on the simulation of textures, rather than force-feedback, simply because there's more interesting work (and more work that's interesting) to be done in the former than the latter. At present we simply can't easily apply virtualspace forces to the entire human hand without huge, unwieldy exostructures; the only low-profile force-exerting gloves in development that I'm aware of use magnetorheological fluid, and those can fundamentally only exert a resistive, reactive force rather than an arbitrarily-directed active force. This is fine if you just want to trick the hand into feeling the surface resistance of an inanimate virtual object, but isn't so useful for, say, shaking hands with someone half a world away.
So you can't easily move someone's hands by computer control with any reasonable degree of precision, (even if they're cooperating). This is a shame, because otherwise you could wear a long jacket or a cape or somesuch, harness a MacBook Air to your back, tuck a couple of minicameras through your collar (possibly concealed amongst many distracting rhinestones), and replace Tom Hannu's fingers with a pair of force-gloves.
Most current research in haptics is focused on the simulation of textures, rather than force-feedback, simply because there's more interesting work (and more work that's interesting) to be done in the former than the latter. At present we simply can't easily apply virtualspace forces to the entire human hand without huge, unwieldy exostructures; the only low-profile force-exerting gloves in development that I'm aware of use magnetorheological fluid, and those can fundamentally only exert a resistive, reactive force rather than an arbitrarily-directed active force. This is fine if you just want to trick the hand into feeling the surface resistance of an inanimate virtual object, but isn't so useful for, say, shaking hands with someone half a world away.
So you can't easily move someone's hands by computer control with any reasonable degree of precision, (even if they're cooperating). This is a shame, because otherwise you could wear a long jacket or a cape or somesuch, harness a MacBook Air to your back, tuck a couple of minicameras through your collar (possibly concealed amongst many distracting rhinestones), and replace Tom Hannu's fingers with a pair of force-gloves.
Friday, February 6, 2009
I'm going to R'lyeh for this one.
Female doppelgänger warlock (star pact)
Level 3, [Neutral] Good
“Bisminnujum sa-aʿqabukum!”
Str 10, Con 13, Dex 13, Int 12, Wis 8, Cha 20
AC 12, Ft 12, Rf 13, Wl 18
HP 35 (bloodied at 17); Surges 7/day, 8 HP
Languages: | Common |
Powers: | Dire Radiance, Eldritch Blast, Glow of Ulban1, Dread Star, Ethereal Stride, Eldritch Rain |
Feats: | Astral Fire, Starfire Womb1 |
Trained Skills: | Arcana, History, Insight, Religion |
There was, before the oldest of days and ages and times, a young woman of aethereal beauty; whose soul she had pledged to the stars, and whose hands she had pledged to justice, and whose heart she had pledged to her love.
But all things pass, in time and time enough; and time enough there was before the War, when titans clashed with gods of elder days and rived apart from Chaos Aether's Sea, her kin and kingdom's dust to long be lost: nothing now compares to the wilds of Yhtill, diamond lyres played on the shores of Hali, Demhe's cloud-borne cities' unmeasured depths, nor shining Carcosa.
Arnabah knows this, though it makes no sense. The sages (those with only their own light in their eyes) have all told her that to study the stars for too long, to pledge yourself to them in return for power, is a sure path to madness. She has seen it herself — brushed against people wielding a deeply alien, terrifyingly familiar power. And yet, as well as she remembers her current life, so too does she remember her former one as this long-ago warrior of the stars.
Guided by her memories, Arnabah wields her pact shuriken and her power as once she did in time before time, to right wrongs and to triumph against evil... and perhaps, she hopes, one day, to set the stars right.
Apologies for any mangled Arabic; I spent four hours researching that phrase, and I'm still not sure whether nujum needs a genitive marker, or if al-Sakinah makes any sense here. And I don't think "Arnabah" can even be made right.
I don't apologize for the impromptu poetry, though.
1Defined and described in Dragon 368.
Thursday, February 5, 2009
De luna
The moon is made of silver. This is why werewolves transform under the light of the full moon; the high silver content of the light irritates their body and causes transformation as an inflammatory reaction.
While this had been predicted by alchemists since at least Paracelsus' time, the observations of Newton on the properties of prism-dispersed moonlight were the first strong scientific evidence of the composition of the moon. True confirmation, of course, did not come until the Apollo missions, when the first verifiable moonsilver was brought back to earth.
Sadly, few samples of true moonsilver could be collected during the short lifetime of the program; these still exist, closely guarded by NASA, with a very few samples available for research to selenologists and theoretical alchemists. Still, this research has been enough not merely to establish the properties of moonsilver — and, with reference thereto, to disprove the authenticity of every historical relic ever claimed to contain it — but has recently also resulted in the development of an alchemical process to synthesize moonsilver. (This synthetic moonsilver is most commonly marketed under the trade names Dianite and Tilion, or the generic name synthelune, but ‘moonsilver’ is still the most commonly heard term.)
While this had been predicted by alchemists since at least Paracelsus' time, the observations of Newton on the properties of prism-dispersed moonlight were the first strong scientific evidence of the composition of the moon. True confirmation, of course, did not come until the Apollo missions, when the first verifiable moonsilver was brought back to earth.
Sadly, few samples of true moonsilver could be collected during the short lifetime of the program; these still exist, closely guarded by NASA, with a very few samples available for research to selenologists and theoretical alchemists. Still, this research has been enough not merely to establish the properties of moonsilver — and, with reference thereto, to disprove the authenticity of every historical relic ever claimed to contain it — but has recently also resulted in the development of an alchemical process to synthesize moonsilver. (This synthetic moonsilver is most commonly marketed under the trade names Dianite and Tilion, or the generic name synthelune, but ‘moonsilver’ is still the most commonly heard term.)
Wednesday, February 4, 2009
(headdesk)
Occasionally I wonder at my predecessors.
I'm fairly sure that the original authors of this codebase wrote X11 code in C; this is because a) vast swaths of the C++ code are pretty much made of C-isms, with a few old comments describing conversion-from-C, and b) there are calls to
So, given the frequency and consistency with which X11 uses a pair of "
This is another reason Boost.Function is the crowning jewel of the Boost libraries. By design, it functions as a drop-in replacement for those function pointers: I can just change them to
I'm fairly sure that the original authors of this codebase wrote X11 code in C; this is because a) vast swaths of the C++ code are pretty much made of C-isms, with a few old comments describing conversion-from-C, and b) there are calls to
X*
and Xt*
functions in the code to handle various things at least some of which a library that wants to be cross-platform should probably not be trying to handle on its own. (Not all. But some.)So, given the frequency and consistency with which X11 uses a pair of "
return_type (*fp)(void *, other_stuff); void *arg;
" for callbacks to user code, you would think that the designers of this system would have the sense to do so themselves, instead of passing around pure function pointers (whose usual function-values, when invoked, go on to reference global data).This is another reason Boost.Function is the crowning jewel of the Boost libraries. By design, it functions as a drop-in replacement for those function pointers: I can just change them to
boost::function<return_type (other_stuff)> fp
, toss a nonce-closure in (although probably boost:bind
-constructed, unlike that example), and walk away unworried — everything that worked before will still compile and run properly.
Tuesday, February 3, 2009
De transportatione supprocedurarum omnium ex bibliotheca statica
Interesting fact: with Visual Studio, there appears to be no way for a dynamic library to automatically reëxport functions imported from a static library.
With the GCC toolchain this is relatively easy:
Visual Studio's linker does not make this so easy. Even if you have
It's possible to get around doing this manually by using a
With the GCC toolchain this is relatively easy:
ld
supports an argument --whole-archive
which causes any following static libraries to be slurped entire into the output assembly (and a corresponding --no-whole-archive
tag, if you need to interleave this with ordinary archive inclusions). Then all you need is to ensure that you're exporting the functions properly (e.g. with -fvisibility=default
or __attribute__((visibility("default")))
).Visual Studio's linker does not make this so easy. Even if you have
__declspec(dllexport)
in the headers in all the right places, functions et al. thus tagged will only be included and exported if they were actually used in the assembly being built. This means you have to explicitly name every exported function in the library.It's possible to get around doing this manually by using a
.def
or .cpp
file autogenerated from the output of DUMPBIN
, but at that point it's probably easier just to convert the static library to a dynamic one and distribute that alongside your DLL instead.
Monday, February 2, 2009
The eye closed,
The eye closed, and we backed away, bowing reverently (as best we could without tripping over the hems of our borrowed robes). The monks around us lowered the curtain and dimmed the lights in a well-practiced voiceless synchrony; the rustle of cloth against cloth, the crunch of rough rope, and the faint squeaks of pulleys and valves were somehow more perfect and eerie than utter silence would have been.
I could not have chosen to break that sussurous symphony — indeed I might have gone a lifetime without ever having spoken again; but in due course my companion turned to me, and asked of me in her alien tongue: "Penny for your thoughts?"
So startled was I that I met her eyes — those coal-dark eyes that had stared down princes and warriors! that had just Seen, as I had Seen, yet spoke not fear nor doubt! — but quickly cast my gaze aside and down. "Pray, mercy," I whispered, in reflexive apology; but I continued more meaningfully: "— mercy on us all."
She only smiled, the wrinkles beside her eyes deepening. "We'll have to arrange for that on our own," she replied cryptically, as we passed through the final titans'-doors.
I could not have chosen to break that sussurous symphony — indeed I might have gone a lifetime without ever having spoken again; but in due course my companion turned to me, and asked of me in her alien tongue: "Penny for your thoughts?"
So startled was I that I met her eyes — those coal-dark eyes that had stared down princes and warriors! that had just Seen, as I had Seen, yet spoke not fear nor doubt! — but quickly cast my gaze aside and down. "Pray, mercy," I whispered, in reflexive apology; but I continued more meaningfully: "— mercy on us all."
She only smiled, the wrinkles beside her eyes deepening. "We'll have to arrange for that on our own," she replied cryptically, as we passed through the final titans'-doors.
Sunday, February 1, 2009
Questions on languages
Let D(⋅, ⋅) be a "distance" operator on phonemes such that phonemes with smaller "distances" sound more similar than phonemes with smaller "distances". (We assume for simplicity that such operators exist and that they can be defined up to isomorphism in a mostly language-independent manner; it is acceptable that they define merely a semimetric rather than a proper metric on any given set of phonemes. If these assumptions are too strong, then for at least the interesting questions below, phonemes may be tagged with their originating language, and D can then be defined strictly in terms of the perception of speakers of the language from which its first argument is drawn.)
Let ℳ be the set of functions from the phonemes of a language a to the phonemes of a language b. Let any M∈ℳ such that ∀x∈a, y∈b: y = M(x) → ¬∃z∈a: D(x,z) < D(x,y) (that is, any M∈ℳ such that M(x) selects a D-closest point in b to x) be called a natural mapping from a to b — a function notionally applied by a speaker of b to obtain familiar phonemes from b from potentially unfamiliar phonemes in a.
We shall write a ⊑ b if there exists an injective natural mapping from a to b; we may then read a ⊑ b as "b phonetically subsumes a" or somesuch. For example, Māori ⊑ Japanese, and Japanese ⊑ French.
Let E be the set of all human languages. What does the graph (E,⊑) look like? (Specifically, what is its graph density?) How strong is the correlation between mutual intelligibility and local symmetry of ⊑? Are there more sources or sinks than one would expect solely from the graph density? Is ⊑ transitive? (Mathematically, it need not be.)
Most relevantly, the question that prompted the definition of ⊑: given languages a, b, and c such that a ⊑ b and a ⋢ c, will a native speaker of a generally notice a qualitative difference between the accent of an accented speaker of b and an accented speaker of c? And is the average intelligibility of speakers of c vs. those of c' related to the degree to which those languages' relevant natural mappings from a fail to be injective?
Let ℳ be the set of functions from the phonemes of a language a to the phonemes of a language b. Let any M∈ℳ such that ∀x∈a, y∈b: y = M(x) → ¬∃z∈a: D(x,z) < D(x,y) (that is, any M∈ℳ such that M(x) selects a D-closest point in b to x) be called a natural mapping from a to b — a function notionally applied by a speaker of b to obtain familiar phonemes from b from potentially unfamiliar phonemes in a.
We shall write a ⊑ b if there exists an injective natural mapping from a to b; we may then read a ⊑ b as "b phonetically subsumes a" or somesuch. For example, Māori ⊑ Japanese, and Japanese ⊑ French.
Let E be the set of all human languages. What does the graph (E,⊑) look like? (Specifically, what is its graph density?) How strong is the correlation between mutual intelligibility and local symmetry of ⊑? Are there more sources or sinks than one would expect solely from the graph density? Is ⊑ transitive? (Mathematically, it need not be.)
Most relevantly, the question that prompted the definition of ⊑: given languages a, b, and c such that a ⊑ b and a ⋢ c, will a native speaker of a generally notice a qualitative difference between the accent of an accented speaker of b and an accented speaker of c? And is the average intelligibility of speakers of c vs. those of c' related to the degree to which those languages' relevant natural mappings from a fail to be injective?
Subscribe to:
Posts (Atom)