text:
# 37

Followup to: Where to Draw the Boundaries?

Without denying the obvious similarities that motivated the initial categorization {salmon, guppies, sharks, dolphins, trout, ...}, there is more structure in the world: to maximize the probability your world-model assigns to your observations of dolphins, you need to take into consideration the many aspects of reality in which the grouping {monkeys, squirrels, dolphins, horses ...} makes more sense.

The old category might have been "good enough" for the purposes of the sailors of yore, but as humanity has learned more, as our model of Thingspace has expanded with more dimensions and more details, we can see the ways in which the original map failed to carve reality at the joints ...

So the one comes to you—a-gain—and says:

Hold on. In what sense did the original map fail to carve reality at the joints? You don't deny the obvious similarities between dolphins and fish—between dolphins and other fish. That's a cluster in configuration space! The observation that dolphins are evolutionarily related to mammals may be an interesting fact that specialized professional evolutionary biologists care about for some inscrutable specialist reason. But I'm not a professional biologist. Choosing to define categories around evolutionary relatedness rather than macroscopic human-relevant features seems like an arbitrary æsthetic whim. Why should I care about phylogenetics, at all?

This one is going to take a few paragraphs.

Focusing on evolutionary relatedness is not an arbitrary æsthetic whim because evolution actually happened. Evolution isn't just a story that our Society's specialists happen to have chosen because they liked it; they chose it because it predicts what we see in the world. You can't choose a substantively different theory and make the same predictions about the real world. (At most, you'd end up with an isomorphic theory with additional epiphenominal elements, asserting that an allele rose in frequency "because" the angels willed it, without an account of why the angels' will happens to line up with what would have transpired if there were no angels.) Similarly, category definitions represent hidden probabilistic inferences; you can't "redraw" the "boundaries" of the categories your mind actually uses and still make the same predictions about the real world. Accordingly, it shouldn't be surprising that our knowledge of evolution turns out to have implications for how we should categorize organisms—not as an æsthetic choice, but for structural reasons that can be understood mechanistically.

One element of the evolutionary worldview is a "continuity" postulate: all else being equal, creatures that are more closely related are more similar in general. Creationists sometimes try to discredit evolution by ridiculing the absurdity of the idea that a monkey could give birth to a person. But actually, evolutionary biologists agree on the absurdity of that specific scenario. Monkeys don't suddenly give birth to humans in a single generation; if they did, that would utterly falsify our understanding of evolution! Rather, monkeys and humans had a common ancestor forty million years ago, with the separate lines of descent leading to present-day monkeys and present-day humans each accumulating their own differences one mutation at a time.

The fact that evolution persists information in the genome creates a regularity in the world that can be exploited by cognitive algorithms that know about phylogeny. In terms of the formalization of causality with directed acyclic graphs pioneered by Judea Pearl and others, an organism's genome is at the root of the causal graph underlying all other features of an organism:

In the language of causal graphs, conditioning on the "dolphin DNA" node in the diagram d-separates the paths between the "blowhole" and "flippers" nodes that run through the "dolphin DNA" node. That means that—assuming there aren't any other paths between "blowhole" and "flippers" that don't go through "dolphin DNA"—"blowhole" and "flippers" become conditionally independent given "dolphin DNA": when I see a creature with a blowhole, that makes me more likely to think it's a dolphin, which makes me more likely to think it has flippers, but given that I already know something is a dolphin, learning more about its flippers doesn't change my predictions about its blowhole.

But conditional independence assertions of this kind are exactly what makes "categorizing" a useful AI technique in the first place. It's often helpful to visualize this by claiming that entities in the same category belong to a cluster in some configuration space, but this handy visual metaphor is lacking in rigor and well-definedness.

What space? What do the dimensions of this space represent? "Features"? But there are no pre-existing "features" in the world. Assuming the existence of a "space" up front is punting on most of the actual AI challenge. "There's conditional independence structure in the causal graph" is a meaningfully deeper explanation than "There's a cluster in configuration space", because conditional independence is what what makes it possible to construct a "space" such that there are clusters. (Though this isn't a complete explanation: we still need to figure out where the "variables" in the causal graph come from.)

Going beyond the configuration space metaphor is important because it lets us understand how we can learn new things about dolphins that we don't already know. Dolphins are complicated! Dolphins are complicated in a very specific way. Dolphins are fragile: the shortest computer program that simulates a dolphin requires many bits of initial information, and if you changed some of the bits, you wouldn't have a dolphin anymore. Complex functional adaptations are universal within a species because each beneficial allele has to reach fixation before there can be selection pressure for the next incremental improvement. That's why it's possible to claim that there are 206 bones in "the" human skeleton, even if most humans haven't had their bones counted. I haven't been able to find a citation on how many bones dolphins have, but I'm confident that it's the same number for all or nearly-all members of a particular dolphin species.

But "number of bones" wasn't one of the dimensions of the "space" that we originally noticed the dolphin cluster in! That's what the "carving reality at the joints" metaphor means: genetic relatedness is an underlying generator of similarities, that includes the "finned swimmy animals" properties that dolphins and fish have in common, but also includes many more high-dimensional details: how dolphins are warm-blooded, how dolphins have eyelids, the way female dolphins nurse their live-born young, the way male dolphins sometimes gang-rape female dolphins, the way dolphins sleep with only half their brain at a time, the specific bones in the (the!) dolphin skeleton (however many there turn out to be), the way dolphins swim in a circle to trick fish into jumping and being eaten, &c.

In contrast, "finned swimmy animals" is an intrinsically less cohesive subject matter: there are similarities between them due to convergent evolution to the aquatic habitat, and it probably makes sense to want a short word or phrase (perhaps, "sea creatures") to describe those similarities in contexts where only those similarities are relevant.

But that category "falls apart" very quickly as you consider more and more aspects of the creatures: the finned-swimmy-animals-with-gills are systematically different from the finned-swimmy-animals-with-a-blowhole, in more ways than just the "respiratory organ" feature that I'm using in this sentence to point to the two groups.

A "definition" is just a description that helps someone else pick out "the same" natural abstraction in their own world-model: you can't pack everything there is to know about dolphins into the definition of the word "dolphin", in part because we don't know everything there is to know about dolphins as an empirical regularity in the real world. The "finned swimmy animals" category less useful to the extent that it fails to compress more information than is contained in its definition. Blood is thicker than water (that is, the similarities induced by shared blood cluster in a "thicker" (higher-dimensional) configuration space than the similarities induced by living in the water).

The one replies:

But what if I don't need to compress any more information than "finned swimmy animals"? If I'm watching a nature documentary, I don't think I'm being done any favors by having word-structures that group lungfish and lamprey while excluding sea turtles. In general, the concepts I find useful respond to my immediate needs. I care more about "would be at home atop a fruit pizza" rather than "everything anatomically analogous to an apple". When a child points at a whale and says "look, a fish", and you're like "haha no, its tail flaps horizontally and its grandma had hair", who's in the wrong here?

In some sense, sure: ignorance isn't better than knowledge if you don't care about knowing things. If you live in human civilization and don't need to carve up the world of aquatic life in much detail—if your use-case for thinking about aquatic animals is watching a nature documentary (for entertainment??) rather than living and working with them every day, then you might think the deeper causal structure isn't buying you anything. And for you and your extremely limited use-case, maybe it isn't. But you would likely change your mind if you were a veterinarian or a zoologist who actually had skin in the game in robustly describing this part of the world.

When people have skin in the game, they care about the underlying mechanisms and want short codewords for them, because the underlying mechanisms sometimes have decision-relevant implications. If you hurt your ankle while running, you would probably be interested to know whether it was a sprain or a stress fracture because that affects your decisions about how to recover. You wouldn't say, "Well, all I know is that my ankle hurts—that's all a child would know—so I'm going to call it a hurtankle; I don't care about anatomy."

You may not be intrinsically curious about anatomy, but even if the only thing you care about is relief from pain and recovering your mobility, you still benefit from living in a Society whose shared ontology distinguishes sprains and stress fractures being different things in the territory, even if they compress to the same point in your map of how much your ankle hurts right now. And you probably also benefit from living in a Society that can stabilize a shared map of living things based on the facts of evolutionary history, which we can all agree on in the limit of good science, unlike the vagaries of what I personally think tastes good on pizza.

When you think about it, it makes sense that our shared language ends up being optimized for robustly describing reality, rather than catering to the ignorance of people who don't have reasons to care about whether a particular distinction is actually robust. Personally, I confess I don't know the difference between alligators and crocodiles, and I don't particularly need to know: I'm not likely to encounter either outside of a zoo or a nature documentary. But precisely because I don't need to know, you don't see me demanding that the rest of the world redefine one of these words as a hypernym that includes both. The people who write encyclopedias seem to think there's a difference, and since they probably know what they're doing, it makes sense for their opinion to have more weight on English language common usage than mine—at least until I were to start regularly ending up in situations where I need to point to an alligator-or-crocodile in my environment and I still didn't notice any differences.

Some animals that I do see in my local environment sometimes are cats and dogs, because people often keep them as pets. I benefit from having separate words (in my map) for cats and dogs, because I can see that cats and dogs are actually different (in the territory). If my pen pal from a faraway land that had no cats were to visit America and encounter a cat for the first time, he might remark, "What a strange dog!" If I were to reply, "Actually, that's a cat; they're not the same thing as dogs", it would be pretty obnoxious if he were to snap back, "What kind of definitional gymnastics is this? It's a four-legged furry animal with a tail! As far as I'm concerned, it's a dog."

It's true that dogs and cats are both four-legged furry animal with a tail. If you had never seen a cat before, or you didn't spend much time around four-legged furry tailed animals at all, it might not be immediately obvious why someone might want to allocate two words for these subcategories, or why anyone might oppose just using dog to refer to the supercategory. And yet there's some sense in which my countrymen who think cats and dogs are different things know what they're doing. My "Actually, that's a cat" claim represented an attempt to convey information about the statistical structure of creatures in the real world, and my foreign friend's insistence that he can define a word any way he wants—to suit his ignorance, to avoid challenges to his current ontology—functions to shut down that transfer of information.

But if you don't know what a better ontology can buy you—if you don't know that there are mathematical laws governing the use of categories in a rational mind—you may not know what you're missing. As part of a review of a book on post-traumatic stress disorder, psychiatrist Scott Alexander casually mentions the American Psychiatric Association's "philosophical commitment to categorizing by symptoms rather than cause": "[w]hen the APA decides not to [recognize developmental trauma disorder], they're not necessarily rejecting the seriousness of child abuse, only saying it's not the kind of thing they build their categories around."

In a sane world, this would be utterly discrediting to the APA. The cognitive function of categories is to group relevantly similar things together in order to make similar predictions and decisions about them. But for the decisions involved in treating a condition, causes are of supreme relevance! Medical doctors understand this: we consider bacterial and viral infections to be different categories of disease even when they cause similar symptoms, because antibiotics can treat the former but not the latter. No matter what words are used to describe it, at some point your decision algorithm needs to categorize by cause in order to compute the correct treatment: for example, to give antibiotics to the patients with bacterial diseases and antivirals to the patients with viral diseases. If the authoritative body of professional psychiatrists has a "philosophical commitment" against this, that means we don't have a science of psychiatry.

In short, if you care about making high-quality decisions, mechanisms matter and causality matters, and mechanisms and causality aren't necessarily pinned down by whatever particular high-level surface analogy happens to seem most salient to a particular human.

The one replies:

Okay, you've convinced me that phylogenetics is—potentially—of more than just specialist interest. But "fish" are a paraphyletic category: descended from a common ancestor, but not including all the descendant groups—in this case, excluding the tetrapods (amphibians, reptiles, mammals, birds, &c.). If you've decided that you want to use phylogeny as the basis for your definitions, shouldn't you have the courage of your convictions and only admit monophyletic clades that include all descendants of a common ancestor?

But it's not that we've "decided" that we "want" to define animal words based on phylogeny. Definitions are uninteresting; you can't change reality by choosing a different definition! When we find structure in the distribution of animals in the world, and we want to come up with a "definition" of a category in order to efficiently point to the structure to someone who doesn't already know what the words in our language refer to, we're likely to end up talking about phylogenetics as a convenience, because the creatures that are actually all-around similar are actually related to each other for non-accidental reasons. But there is no principle that it would be hypocritical to betray, that definitions need to be monophyletic clades.

It's true that paraphyletic groups like fish are evolutionary non-events: there's no inherited feature that all fish share, that isn't also shared by the tetrapods. That doesn't mean we somehow can't or shouldn't talk about fish! Paraphyletic categories—descendants of a common ancestor, but excluding one or more monophyletic groups—can make sense when the excluded groups have picked up some salient features not shared by the other "branches" of the family. Tetrapods picked up a lot of adaptations specific to living on land; it's not crazy to want to talk about their cousins that didn't do that, even if that means that some fish are more recently related to some tetrapods than they are to some other fish.

Noticing the relevance of evolutionary relatedness to optimal categorization doesn't mean being slavishly committed to taking "years since last common ancestor" as our only criterion for which creatures are relevantly similar. "Years since last common ancestor" correlates with overall similarity, all other things being equal, but sometimes not all other things are equal, and people who aren't committed to the fallacy that words need to have a simple definition can take the other things into account.

If someone handed you a phylogenetic tree diagram of the development of life on some alien planet, and the diagram was only labeled with years and species names, without any other information about these alien creatures, you wouldn't have enough information to "carve it at the joints". You wouldn't spontaneously invent a paraphyletic grouping—but you also also wouldn't know which monophyletic groups are most significant.

In contrast, when classifying life on Earth, we're not in the position of making arbitrary cuts on an unlabeled tree diagram; rather, it's only after thousands of person-years of studying the natural world that people were able to infer things about evolutionary history and discover the the correct diagram.

It shouldn't be that surprising that the distinctions we notice in the natural world are both tied to the evolutionary history, but also don't always correspond to monophyletic clades. The continuity postulate in the evolutionary worldview imposes the desideratum that good categories should at least be a connected set on "phylogenetic space", not that we should never want to talk about "this clade, except for these few sub-clades that picked up a lot of important differences" as a category of interest—especially when talking about present-day creatures. (We talk about "last common ancestors", but no one has seen such creatures that lived millions of years ago; everything but the very leaves of the phylogenetic tree are inferred, not observed.)

The claim that dolphins shouldn't be considered "fish" because the alleged "courage of our convictions" should make us disdain paraphyletic categories only makes sense as an attempted reductio ad absurdum, not as a consistent argument on its own terms: putting dolphins and fish together would be polyphyletic! That's even worse! But as has just been explained, the reductio fails because the alleged principle being allegedly violated was never actually a principle of category formulation.

You know what else are paraphyletic taxa? Monkeys (excludes apes, even though the common ancestor of monkeys and apes was a monkey). Reptiles (excludes birds, even though the common ancestor of birds was a reptile). Protists (excludes animals, plants, and fungi, even though their common ancestor would have been a protist). Prokaryotes (excludes eukaryotes, even though the common ancestor of eukaryotes would have been a prokaryote). These are pretty commonsensical categories that it makes sense to have words for! But because of the continuity of evolution, it's not a coincidence that these commonsensical categories that people want words for ended up being connected sets in phylogenetic space.

The one replies:

Not all of them did, though! "Fish" used to just mean the swimmy animals: in the Bible, Jonah was swallowed by a "great fish", thought to be a whale. It was only after we figured genealogy that some pedants decided that whales didn't count.

But the claim that the distinction between fish and cetaceans (dolphins and whales) was only recognized after their differing evolutionary histories were discovered is just false to historical fact. Aristotle, writing in the fourth century BCE, already distinguished cetaceans from fish ("Very extensive genera of animals, into which other subdivisions fall, are the following: one, of birds; one, of fishes; and another, of cetaceans"). Aristotle was not being a phylogenetics pedant, because Aristotle did not know about evolution! He actually noticed the differences!

The pattern generalizes. Some determined contrarians might be inclined to argue "bats are birds" (flappy flying animals) on the same grounds as "dolphins are fish" (flappy swimmy animals). But did you know the German word for bat is Fledermaus ("flutter mouse"), which dates back to fledarmūs in Old High German? Apparently, people way back in the tenth century or so (also long before evolution was understood) already thought bats were like a mammal-that-happened-to-fly rather than a bird-that-happened-to-be-furry.

Similarly, we recognize ostriches and penguins as birds on the basis of overall similarity, even though they don't fly (although we may sometimes qualify them as "flightless birds", in recognition of the fact that most birds fly). It would seem that "flappy flying animals" is not the common usage meaning of bird.

To be sure, convergent evolution is a thing, such that sometimes we might want short codewords that point to the cluster-structure-produced-by-convergent-evolution rather than the conditional-independence-structure-produced-by-connectedness-in-phylogenetic-space—trees, and possibly crabs, are a case in point. But it's important to notice the difference—to see through to the inferences your concepts are buying you—and what gets lost when you try to reason in a domain where your concept falls apart.

The power to define concepts is the power to delimit thought, to determine what kinds of inferences are easily representable. Finding the right concepts to explain and control the world we see is a fundamentally empirical challenge, a scientific challenge—to see the difference between things that seem similar and to see the similarities between things which seem different.

But although the quest is an empirical one—something that can only be achieved by studying what's out there, not just by writing blog posts about philosophy—it turns out that a little bit of philosophy is necessary to ground the rules of the investigation. Not much. Just the basics. The map–territory distinction. Probability, clustering. Conditional independence.

Maybe someday it could be possible to have a real science of psychiatry that reflects the actual structure of the mind, instead of doing the equivalent of lumping sprains and stress fractures together as hurtankles. Maybe even greater achievements are possible. Personally, I'm not optimistic about humanity's prospects.

I'm sure of one thing, though. If there is a better world out there, a way to unlock the secrets of the universe and wield them in the service of our values, it's only possible if we stop playing nitwit games and admit that dolphins don't belong on the fish list.

(Thanks to Tailcalled for the "root of the causal graph" observation and John S. Wentworth for explaining the importance of conditional independence.)

# 37

Pingbacks
New Comment

Sometimes other people are going to care about different regularities from what you care about.

If I am in a botany laboratory, and a botanist instructs me to 'put the fruit samples in Refrigerator 1 and the vegetable samples in Refrigerator 2', I will...well, I'll ask for clarification first, but if I can't do that I will put tomatoes in with the fruit samples.  This is because botanists care about the regularities for which tomatoes are similar to other fruits (like being made of flesh and full of seeds).

If I am in a kitchen, and a cook instructs me to 'put the vegetables in the salad bowl and the fruits in the fruit salad bowl', I will put the tomatoes in with the vegetables.  This is because cooks care about the regularities for which tomatoes are similar to other vegetables (like being tasty in a salad and not in a dessert).

Both of these definitions of 'fruit' are valid, depending on context.

If you show up in a kitchen and demand that the cooks stop putting tomatoes in salads, soups and savory sauces (like you do with vegetables) and instead put tomatoes in the fruit salad, make a tomato crumble, and a tomato ice cream sundae (like you do with fruits), because according to botany tomatoes are fruits, then you are a lunatic.

If you show up in a kitchen and demand that the cooks say 'put the vegetables plus the tomatoes in the salad bowl, and the fruits except for the tomatoes in the fruit salad bowl', you're at least not screwing up dinner, but you're being annoying by denying cooks access to a useful regularity that they care about.

(I actually agree with this. Sorry if it's confusing that the rhetorical emphasis of this post is addressing a different error.)

Would it be fair to say that the error this post is addressing is analogous to if the cook told the botanists, "No, tomatoes aren't fruits."?

I know the tomato is the traditional example for this, but in my own thinking I like to use the word "berry." Botanically, "berry" includes bananas, grapes, cucumbers, pumpkins, melons, and citrus fruits, but excludes raspberries, strawberries, and blackberries. I think it's a much more stark difference.

We have a concept of "carnivore" that is distinct from the order Carnivora.  Animals that eat meat are carnivores even if they're not carnivorans, and there are herbivorous carnivorans. Carnivores are not monophyletic, carnivorans are.

We have a concept of "flying animals" that is not monophyletic (flight has evolved at least 4 times, gliding more). And as you note, there are flightless members of Aves.

Being nocturnal or diurnal is trait that has evolved many times that we have a name for because sometimes we care more about when an animal is active than what it descended from.

Having a polyphyletic concept of "swimming animal" doesn't seem unreasonable to me, and "fish" doesn't seem like a better or worse set of phenomes for it than any other. It will still have confusing edge cases (proto-whales? hippos? moose?) because biology is messy and gross, and the most useful definition will depend on the situation, and sometimes swimming will not be the only characteristic you care about, but it's not unreasonable for the joint of reality you care about to sometimes be "100% aquatic with a body well adapted to it".

EDIT: my comment describes polyphyletic groups where the OP calls fish paraphyletic, which I missed because I found OP very hard to read and mistakenly remembered the common definition of fish to be polyphyletic. I'm not sure how this changes the argument, but they plausibly should be treated quite differently, and if I want to argue they shouldn't I need to make that case.

Ditto.

This is addressed as a side-note in the paragraph

To be sure, convergent evolution is a thing, such that sometimes we might want short codewords that point to the cluster-structure-produced-by-convergent-evolution rather than the conditional-independence-structure-produced-by-connectedness-in-phylogenetic-space—trees, and possibly crabs, are a case in point. But it's important to notice the difference—to see through to the inferences your concepts are buying you—and what gets lost when you try to reason in a domain where your concept falls apart.

Zack, what are you claiming is lost? The straw-anti-phylogenist who headlines your post says:

Choosing to define categories around evolutionary relatedness rather than macroscopic human-relevant features seems like an arbitrary æsthetic whim.

This seems genuinely straw, relative to the simple position: "[Swimming-adapted animals] is a useful, joint-carving concept. [The clade containing all swimmers, minus the clade of landlubbers] is a useful, joint-carving concept. Sometimes one or the other is most suitable. If someone tells me I'm supposed to use one or the other, when the alternative is more suitable, based on some simplistic policy of using words that are joint-carving in one way but not the other (rather than arguing suitability), they're just being silly." Each of these concepts compresses cluster-structure in thingspace. You can't explain why dolphins and fish both propel themselves by undulating in a certain way by reference to phylogeny, you have to talk about adaptation to the vorticial behavior of water. You can't explain why dolphins breath air by reference to swimming-adaptedness, you have to talk about phylogenetic relatedness to air-breathers.

A potential crux:

genetic relatedness is an underlying generator of similarities

I would also say:

niche similarity is an underlying generator of similarities

but I'm not sure you'd admit that, since the niche shows up in the causal graph in at best a cryptic way.

Certainly, there are lots and lots of different aspects in which things in the world can be similar, and we want our language to have lots and lots of concepts to describe those similarities in the contexts that they happen to be relevant in; if someone were to claim that carnivore shouldn't even be a word, that would be crazy, and that's not what I'm trying to do.

Rather, I'm trying to nail down a sense in which some concepts are more "robust" than others—more useful across a wide variety of situations and contexts. If someone asked you, "Do you have any pets? If so, what kind?", and your pet was the animal depicted in the Wikimedia Commons file Felis_silvestris_catus_lying_on_rice_straw.jpg, you might reply, "Yes, I have a cat." But you probably wouldn't say, "Yes, I have a carnivore", or "Yes, I have an endotherm." You wouldn't even say "Yes, I have a furry-four-legged-tailed-mammal"—a concept which includes dogs, but which English doesn't even offer a word for! But all of those statements are true. What's going on here? Is it just an arbitrary cultural convention that people talk about owning "cats" instead of endotherms or furry-four-legged-tailed-mammals—a convention that could have just as easily gone the other way?

I argue that it's mostly not arbitrary. (You could say that the convention has a large basin of attraction.) Cat-ness is causally upstream of carnivory and four-legged-ness and furriness and warm-bloodedness and nocternalness and whiskers and meowing and lots and lots of other specific details, including details that I don't personally know, and details that I "know" in the sense that my brain can use the information in some contexts, but of which I don't have fine-grained introspective access into the implementation details: it's a lot easier to say "That's a cat" when you see one (and be correct), than it is to describe in words exactly what your brain is doing when you identify it as a cat and not a dog or a weasel.

(The relevant Sequences post is "Mutual Information, and Density in Thingspace".)

So while it's true that the category of interest depends on context and the most useful definition can depend on the situation, concepts definable in terms of ancestry (but not even necessarily monophyletic groups) are so robustly useful across so many situations, that it makes sense that English has short words for cat and fish and monkey and prokaryote—if these words didn't already exist, people would quickly reinvent them—and we don't suffer much from "sea animals" being a composition of two words. I think common usage is actually doing something right here, and people like Scott Alexander ("if he wants to define behemah as four-legged-land-dwellers that's his right, and no better or worse than your definition of 'creatures in a certain part of the phylogenetic tree'") or Nate Soares ("The definitional gynmastics required to believe that dolphins aren't fish are staggering") who claim it's arbitrary are doing something wrong.

I don't think Scott is claiming it's arbitrary, I think he's claiming it's subjective, which is to say instrumental. As Eliezer kept pointing out in the morality debates, subjective things are objective if you close over the observer - human (ie. specific humans') morality is subjective, but not arbitrary, and certainly not unknowable.

But also I don't think that phylo categorization is stronger per se than niche categorization in predicting animal behavior, especially when it comes to relatively mutable properties like food consumption. Behavior, body shape etc are downstream of genes, but genes are cyclical with niche. And a lot of animals select their food opportunistically.

Phylo reveals information that niche doesn't. But niche also reveals information that is much harder to predict from phylo. I think Scott's objection goes against the absolutizing claim that "phylo is all you need."

"Swimming animals" vs. "fish" seems like a fairly neutral term choice, so it's somewhat boring as an example. It's a much bigger deal to choose between terms where one option has negative connotations and the other positive (or even just very different connotations!). Cf. various political debates over terms that shall not be named here.

For the whale point, am I fairly interpreting your argument as saying that mammals are more similar, and more fundamentally similar, to each other, than swimmy-things? If so, consider a thought experiment. Swimmy-things are like each other because of convergent evolution. Presumably millions of years ago, the day after the separation of the whale and land-mammal lineages, proto-whales and proto-landmammals were extremely similar, and proto-whales and proto-fish were extremely dissimilar. Let's say in 99% of ways, whales were more like landmammals, and in 1% of ways, they were more like fish. Some convergent evolution takes place, we get to the present, and you're claiming that modern whales are still more like landmammals than fish - I have no interest in disputing that claim, let's say they're more like landmammals in 85% of ways, and fish in 15% of ways. Now fast-forward into the future, after a billion more years of convergent evolution, and imagine that whales have evolved to their new niche so well that they are more like fish in 99% of ways, and more like mammals in only 1% of ways. Are you still going to insist that blood is thicker than water and we need to judge them by their phylogenetic group, even though this gives almost no useful information and it's almost always better to judge them by their environmental affinities?

(I don't think this is an absurd hypothetical - I think "crabs" are in this situation right now)

And if not, at some point in the future, do they go from being obviously-mammals-you-are-not-allowed-to-argue-this to obviously-fish-you-are-not-allowed-to-argue-this in the space of a single day? Or might there be a very long period when they are more like mammals in some way, more like fish in others, and you're allowed to categorize them however you want based on which is more useful for you? If the latter, what makes you think we're not in that period right now?

Are you still going to insist that blood is thicker than water and we need to judge them by their phylogenetic group, even though this gives almost no useful information and it's almost always better to judge them by their environmental affinities?

No, of course not: we want categories that give useful information.

Did I fail as a writer by reaching for the cutesy title? (I guess I can't say I wasn't warned.) The actual text of the post—if you actually read all of the sentences in the post instead of just glancing at the title and skimming—is pretty explicit that I'm not proposing that phylogenetics is of fundamental philosophical importance ("it's not that we've 'decided' that we 'want' to define animal words based on phylogeny" [...] "we're likely to end up talking about phylogenetics as a [mere] convenience"), and I'm not saying no one should ever want to talk about convergent-evolution categories ("trees, and possibly crabs, are a case in point").

Rather, the reason I wrote this post is because I keep running into idiocies of the form "But who cares about evolutionary relatedness; I only care if it swims" (on the "Are dolphins fish?" question) or "But who cares about sex chromosomes; I only care about presentation and preferred pronouns" (on the "Are trans women women?" question). And I'm pointing out that even if genetics isn't immediately visible or salient if you glance at an organism from a distance, genetics being at the root of the causal graph buys you lots and lots of conditional independence assertions. (And if you don't know what conditional independence is and why it matters, then you have no business having positions about the philosophy of language. Read the Sequences.)

In the process of writing this up, I succumbed to the temptation of running with the proverbial title as a catchy concept-handle, but I would have hoped the audience of this website was sophisticated enough to understand that it was just a catchy concept-handle for the "root of the causal graph, means more conditional independence assertions, means the clustering happens in a much higher-dimensional space" thing, and not some kind of deranged assertion that "Blood Is Infinitely Thicker Than Water" or "Blood Is Thicker Than Water In All Possible Worlds, Including Thought Experiments Where Evolution Works Differently."

And if not, at some point in the future, do they go from being obviously-mammals-you-are-not-allowed-to-argue-this to obviously-fish-you-are-not-allowed-to-argue-this in the space of a single day?

No, of course not. Like many Less Wrong readers, I, too, am familiar with the Sorites paradox.

Or might there be a very long period when they are more like mammals in some way, more like fish in others, and you're allowed to categorize them however you want based on which is more useful for you?

You should categorize them whichever way is more useful for making predictions and decisions in whatever context you're operating in.

I don't want to summarize this as "however you want", because the question of which categories are most useful for making decisions and predictions is something people can be wrong about, and moreover, something people can be motivatedly wrong about, and—as we've seen—the general laws governing which categories are useful is something people can be motivatedly wrong about.

Suppose we have three vectors in ten-dimensional space, u = [1, 1, 1, 0, 0, 0, 0, 0, 0, 0], v = [1, 1, 1, 2, 2, 2, 2, 2, 2, 2], ad w = [3, 3, 3, 0, 0, 0, 0, 0, 0, 0]. A rich language with lots of vocabulary for describing the world will probably want both a word for a category that groups u and v together (because they match on through ), and a word for a category that groups u and w together (because they match on through ).

You'll probably end up talking about {u, w} more often than {u, v} because the former cluster is in a "thicker", higher-dimensional subspace, and it's not always obvious exactly which variables are "relevant." If I own the animal appearing in the photo located at the URL https://commons.wikimedia.org/wiki/File:A_white_cat.jpg, and you ask if I have a pet, I'm probably going to say "Yes, I have a cat", rather than "Yes, I have a white-animal" or "Yes, I have an endotherm", even though the latter two statments are both true and it's good to have language for them. I think this kind of thing is why English ended up allocating a short codeword bird to a category that includes penguins and excludes bats, even though sparrows and bats have something very salient in common (flying) that penguins don't.

Unfortunately, sometimes the same word/symbol ends up getting attached to two different categories—that's why dictionaries have a list of numbered definitions for a word. Dolphins aren't fish(1) (cold blooded water-dwelling vertebrate with fins and gills), but they are fish(2) (water-dwelling animals more generally). Bananas aren't berries in the culinary sense, but they are berries in the botantical sense. Obviously, it would be retarded to get in a fight over bananas "are berries": it depends on what you mean by the word, and which meaning is relevant can usually be deduced from whether we're baking a pie or studying biology, and if it's not clear which meaning is intended, you can say something like "Oh, sorry, I meant the botanical sense" to clarify.

All this is utterly trivial for people who are actually trying to communicate—who want to be clear about what which probabilistic model they're trying to point to. But I think it's important to articulate the underlying principles rather than saying "you're allowed to categorize them however you want", because sometimes people don't want to be clear: suppose someone were to say "Dolphins are fish because if they weren't, then I would be very sad and might kill myself. You ought to accept an unexpected acquatic mammal or two deep inside the conceptual boundaries of what would normally be considered fish if it'll save someone's life; there's no rule of rationality saying that you shouldn't, and there are plenty of rules of human decency saying that you should."

This emotional-blackmail maneuver is obviously a very different kind of thing than straightforwardly saying "Dolphins are fish in the second sense, but not the first sense; it's important to disambiguate which sense you mean when it's not clear from context." If some intellectually dishonest coward were to try to pass off the emotional-blackmail attempt as a serious philosophy argument, they would be laughed out of the room. Right?

This is a good post, but it doesn't seem very consistent with the part of the Body Keeps the Score review that I was picking on? In response to people who say that "depression" probably isn't one thing, you reply that those research programs haven't panned out. That makes sense: if you don't know how to find a more precise model, a simple model that probably conflates some things might be the best you can do.

But that's an empirical point about what we (don't) know about "depression", not a philosophical one. I'm saying the APA's verdict on van der Kolk's "developmental trauma disorder" proposal should follow the same methodology as your reasoning about depression. If they're not persuaded by van der Kolk's evidence as a matter of science, fine; if van der Kolk's evidence doesn't matter because "that's not the kind of thing we build our categories around" as a matter of philosophy, that's insane.

I think "crabs" are in this situation right now

What reading or experience is this based off of? This sounds more like something someone would say if they've only heard the term "carcinisation" as a fun fact on the internet, rather than actually reading the Wikipedia page in detail.

For the "I would be sad for those boundaries" I think there is reason not to naively just obey it but its not as hopeless as "being laughed out of the room".

I want to differentiate two different layers of this problem: A difference in what is a natural category to a person and how to manage and choose a shared meaning system.

I previously used a analogy of berries which are chemically different but morhpologically very similar, ie they have nearly the same color but they are metabolically different. Then say there is a small fraction of humans that have a lot of trouble digesting one variant and very easy time with the other variant while most other humans have equally easy peasy time with all variants.

Now I want to evoke an analogy of nut allergy. If you have a nut allergy you really really want for packaging to contain information if there are nuts in the product or whether there is possibility of traces. One could also imagine a human that did not infact have a nut allergy but just disliked the taste of nuts. Both groups would be for lessening the amounts of nuts used in cooking and both groups would be for labeling products that do use nuts so they could not consume them.

Someone could be "allergy sceptical" and think people that advocate for nutlabels are all or mostly people who just really dislike nut flavour. Then the "proof of the existence of allergies" would be to specify how nuts entering cause harm beyond mild annoyance and symptoms like death. And in a "typical" human this allergy and harm is not present.

A nut allergic person forced to navigate a world that doesn't support nut detection would be genuinely dangerous. If they have anxiety or fear about it that would be justified by the structure of their existence.

A claim of sadness from a particular concept could be likened to a report of how an allergic persons immune responds has different properties. Or of a claim how racistic institutions or behaviours cause elevated cortisol levels. To say that high cortisols levels are a "you problem" points to the direction of that the proper reaction against hostility would be calmness rather than stress. So with those words it could also read to not be blackmail but just informing of the (likely) consequences.

Where it would go full blackmail is if the primary effect is to have the desired societal policy in place and we fabricate the required story to get it passed. A nut-disliker might want to upsell their unpleasantness that they get. There is a the danger that if they lie "it would kill me" than people could disbelieve genuine allergics reports.

So I think the "but me sad" argument is at its weakest on whether or not there are laws of rationality that are in fact violated. Feelings don't have any specific "free pass" to be freely chosen and like fear or anxiety can be improperly paranoic or proper threat detection the feeling of sadness should be based. For dolphins I would need to genuinely ask "what do you mean makes you sad?", I would guess that the nut case could be established (and a nut-disliker would need to lie) althought the detail level as a non-allergic person is a bit fuzzy to me. For the controversial area it is likey that it is hard to estalish what happens and via what mechanism and there is a lot of trusting the word and understanding of different parties (chemists and biologists don't have much disagreement about the properties of nuts or human guts).

As a non-allergic person I should not be annoyed that my food is filled with annoying and senseless-to-me food information. And arguing that senseless-to-me would be a very good basis for senseless-for-food-packaging. It is a different issues whether we for example consider dogs to be food consumers and include them in our circle of care when making labeling decisions ("but it wasn't labeled toxic for dogs!" is not a valid excuse atleast in this point in time). What happens in the "general case" can be very relative.

>"But who cares about sex chromosomes; I only care about presentation and preferred pronouns" (on the "Are trans women women?" question)

So, like, depending on context, this might be that, say, you brought up some question for which chromosome-women is the obviously relevant concept, and then someone else tried to stop you from using "women" to mean chromosome-women. Which would be a fault of theirs. Or it might be that someone was trying to, say, work out how to treat people in ways that are good for them, and then you tried to stop them from using "women" to mean, the cluster of social practices around treating women as opposed to men. Which would perhaps be a fault of yours, or at least, I'd want to know why you were doing that, e.g., because you thought the linguistic territory shouldn't be somehow ceded.

"Dolphins are fish because if they weren't, then I would be very sad and might kill myself. You ought to accept an unexpected acquatic mammal or two deep inside the conceptual boundaries of what would normally be considered fish if it'll save someone's life; there's no rule of rationality saying that you shouldn't, and there are plenty of rules of human decency saying that you should."

So, insofar as the category "fish" was supposed to be about animal biology and not social practice, this is of course antirational. But, say it's the case that if dolphins are fish, then I would be very sad and might kill myself. This isn't purely about animal biology, it also involves my values, and so almost certainly involves other facts, e.g. how I and others will relate to tr... dolphins. Just like convergent evolution somehow "overlays" or "overlaps" phylogenetic descent, as a usefully-separately-conceived causal/explanatory factor, so too might these (additional, non-biological, partly social) concepts about dolphins overlay the (also useful, biological) concepts about dolphins.

Even taking everything else you write here for granted (which I wouldn’t normally, but let’s go with it for now)… the question in your last sentence seems easy to answer: we’re not in that period right now, because right now, by construction, whales are more landmammals in 85% of ways, so if you classify them as mammals, and then use that to make predictions about heretofore-unobserved traits, you will be right 85 / 15 = ~5.67 times more often than if you had classified them as fish.

No matter what words are used to describe it, at some point your decision algorithm needs to categorize by cause in order to compute the correct treatment: for example, to give antibiotics to the patients with bacterial diseases and antivirals to the patients with viral diseases. If the authoritative body of professional psychiatrists has a "philosophical commitment" against this, that means we don't have a science of psychiatry.

This is overstating your evidence. Categorizing by cause in order to compute the correct treatment is only helpful (in treatment) if treatments differ by cause. To some extent, that's definitely true. If someone experiences sadness, you want to treat a short term sadness caused by an event (eg. a loved one dying) separately from a long term sadness caused by a hormone imbalance (eg. generic long term depression). The APA does distinguish these - according to the DMV, you don't diagnose sadness as depression if it is short term and caused by a significant event. However, I'm not convinced that it applies for all issues.

Imagine Sisyphus whose job is to keep a boulder balanced at the top of a flat-topped hill. If a wind came and pushed the ball off the peak, he must push the boulder back up. If a god comes and knocks the boulder off, he must push the boulder back up. The treatment is the same no matter the cause. Even in medicine, a broken bone is treated the same whether it is caused by falling out of a tree or getting hit by a rock. If I'm a doctor and I know that you broke your bone, knowing the cause isn't helpful for me to resolve it. Categorizing by cause is only useful to the degree that cause informs treatment more than symptoms do.

The key is to be able to distinguish illnesses by the relevant factors. When the APA decided to not recognize developmental trauma disorder, it was because they thought that knowing that a disorder was caused specifically by childhood trauma is not the primary piece of knowledge needed to help a patient. I'm admittedly not a psychiatrist, but that sounds very plausible to me.

One factor it also depends on is what kind of treatment one is attempting to do - curing vs palliative care. If someone has a serious mental health problem, then presumably there is some persistent difference(s) between them and other people, generating that problem.

(Even if the generation only happens in a liability sense, e.g. someone might have a temprary psychotic episode. The episode itself is not a persistent difference, but most people never have psychotic episodes at all. So the fact that someone does sometimes and that those who do sometimes can get then repeatedly suggests that they have some underlying thought disorder that makes them vulnerable to it.)

If you want to cure the problems, then your best bet is to treat the underlying difference, or at least have a treatment specialized to it so you're sure you get rid of all of the effects. But if you just want to perform palliative care, reducing the harm of symptoms while being unable to fully get rid of them, then focusing on what the symptoms are is a good bet.

It seems to me that a lot of psychiatry is essentially palliative.

Not sure why I got downvoted? :(

(FWIW your comment seems helpful to me, and in general LW voting seems noisy in general as a signal of value, like often helpful things are ignored or downvoted and low-value things are heavily upvoted.)

Oh it seems to be back up, when I posted it I was at -5, I thought I had done something very wrong.

Structuring reality wil have effctson how you can understand and manipualte it. This post has a tone where we have this very sophisticated and cool understanding and everything that fails to be it must be dumb and ignorant. Sure it could be important for a life form to understand and manipulate realtedness based lines but does that lead that other proficiencies are forbidden?

Medical science uses the word "infection" and doesn't make it go away as being ambigious. If distinguishing between baterial and viral infection is not overwhelming why not adopt a similar mode for "fish"? Or why does not the fish argument apply for the abolishment of "infection"?

Taking loan and coinage from toki pona call "generic land animal" someli and "sea animal" kala. If the foreing quest thinks "thats a weird someli" and you insist "thats a cat not a someli" its not clear to me why it would be okay to impose english standard over toki ona standards. Further more if some memer comes along and says "thats not a dog but a doge" shouldn't you accept their technoloogy of hidden additional knowledge and use the more sophisticated term? Why would detail level of dogs dominate over other detail levels?

For conspiracy and esoteric thinking one might be tempted to entertain the idea if Jona was captured into a unidentified submerging object. None of the biology "cluster hitting" would apply particularly well then but "big fish" in the "aquatic animal" sense would be much closer.

There are also a lot of idioms such as "there are plenty of fish in the sea", "easy like shooting fish in a barrel" and "like fish out of water" which make way more sense in the kala sense than as biological clusters and operate in the adaptational sense and limited sense as biological clusters. A movie like "free willy" makes sense because a water container is enough to work as a prison for a whale.

For treating a disease overdiagnosing can mean later than neccesary treament and access. For some differential diagnoses it is proper to stop asking questions, the differential doesn't need to be of infinite resolution. For a bacterial infection you don't neccearily need to know the bacteria strain and describing a generic antibacterial might be highly proper.

Also to a similar kind of mode that bats are flyers penguin are very lose to being kala. I would imagine that for the purposes of tracing poison accumulation and transfer that dolpins and penguins would be very similarly situated. A study on how radioactive materials impact fish would probably include those for the reality carving reasons. Such a delineations would survive "sailor of old" kind of antiquement critisms.

That the relatedness cravins are powerful doesn't mean one gets to be blind to the other connections or that one must always use relatedness compatible concepts. Thusd demanding overwheming reverence can get harmful.


text:
1
In a baseband communication link, frequencies upto $3500 \; \text{Hz}$ are used for signaling. Using a raised cosine pulse with $75 \%$ excess bandwidth and for no inter ...
2
Two or more correct answer applicable Which of the following are true of a model in the context of software development? a. A model is an abstract representation of the p...
3
4
Given below are two statements: If two variables $V_1$ and $V_2$ are used for clustering, then consider the following statements for $k$ means clustering with $k=3$: Stat...
5
The simplex method is so named because It is simple. It is based on the theory of algebraic complexes. The simple pendulum works on this method. No one thought of a bette...
6
Can someone please shed some light on what questions they ask in a written test? Objective, subjective? Interview experience anyone from last year. Thank you.
7
??????????
8
For $n\geq 1$, let $a_n=\frac{1}{2^2} + \frac{2}{3^2}+ \dots +\frac{n}{(n+1)^2}$ and $b_n=c_0 + c_1r + c_2r^2 + \dots + c_nr^n$,where $\mid c_k \mid \leq M$ for all integ...
9
A cylindrical vessel $60 \; \text{cm}$ in diameter is partially filled with water. A sphere $30 \; \text{cm}$ in a diameter is dropped into it. The increase in the level ...
10
If $x=p, y=q$ then which of following are $p$ and $q$ respectively for pair of equations $3x-7y+10=0$ and $y-2x-3=0 :$ $– 1, 1$ $1, 1$ $1, 0$ $0, 1$
11
$\dfrac{1}{2}\; \log_{10}25 – 2 \log_{10}3 + \log_{10}18$ equals $:$ $18$ $1$ $\log_{10}3$ None of these
12
In a parallelogram $\text{ABCD, AP}$ and $\text{BP}$ are the angle bisectors of $\angle \text{DAB}$ and $\angle \text{ABC}.$Find $\angle \text{APB} :$ $85^{\circ}$ $90^{\... 1 answer 13 Instead of walking along two adjacent sides of a rectangular field, a boy took a short cut along the diagonal and saved a distance equal to half the longer side. Then, th... 1 answer 14 In a mixture of$60 \; \text{L},$the ratio of milk and water is$2 : 1.$If the ratio of milk and water is to be$1 : 2,$then the amount of water to be further added mu... 1 answer 15 The students in a class are seated according to their marks in the previous examination. Once it so happens that four of these students get equal marks and therefore the ... 1 answer 16 A factory employs skilled workers, unskilled workers and clerks in the proportion$8: 5: 1,$and the wages of a skilled worker, an unskilled worker and a clerk are in the... 1 answer 17 Directions$(19$–$21) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the inform... 1 answer 18 Directions$(19$–$21) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the inform... 1 answer 19 Directions$(19$–$21) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the inform... 2 answers 20 Directions$(14 – 18) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the informat... 1 answer 21 Directions$(9-13) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the information. ... 1 answer 22 Directions$(9-13) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the information. ... 1 answer 23 Directions$(9-13) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the information. ... 1 answer 24 Directions$(9-13) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the information. ... 1 answer 25 Directions$(9-13) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the information. ... 1 answer 26 Directions$(7-8) :$In the given questions below, a statement is given followed by two conclusions numbered$\text{I}$and$\text{II}$. You have to take the statement to... 1 answer 27 Use following diagrams to answer question number$1$to$2 :$Cloud, River, Mountain$:\text{II}\text{I}\text{IV}\text{III}$1 answer 28 A carrier$Ac\cos(\omega c)t$is frequency modulated by a signal$Em\cos(\omega m)t.$The modulation index is$mf.$The expression for the resulting FM signal is$Ac\cos ...
29
The graph theoretic concept will be useful in software testing is Cyclomatic number Hamiltonian circuit Eulerian cycle None of these
30
A data warehouse is always _________. Subject oriented Object oriented Program oriented Compiler oriented
31
The main objective of designing various modules of a software system is : To decrease the cohesion and to increase the coupling To increase the cohesion and to decrease t...
32
In which of the following methods proper choice of initial value is very important? Bisection method False position Newton-Raphson Bairsto method
33
Rakesh is standing at a point. He walks $20 \; \text{m}$ towards the East and further $10 \; \text{m}$ towards the South, then he walks $35 \; \text{m}$ towards the West ...
In a fraction, numerator is increased by $25 \%$ and the denominator is diminished by $10 \%.$ The new fraction obtained is $5/9.$ The original fraction is $:$ $2/5$ $5/9... 1 answer 38 Directions$(14 – 18) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the informat... 1 answer 39 Directions$(14 – 18) :$Read the information given below and on the basis of the information, select the correct alternative for each question given after the informat... 1 answer 40 Directions$(14 – 18) :\$ Read the information given below and on the basis of the information, select the correct alternative for each question given after the informat...

format: plain


text:
# Dimension of fixed points of Galois group actions

I have a question about fixed points of Galois group actions. I am hoping that this is easy for the experts.

Let $k$ be a field of characteristic $0$. Let $K$ be a finite Galois extension of $k$ with Galois group $G$.

Supose that $A$ is any finite dimensional $G$-representation over $k$. Then $G$ acts diagonally on $A\otimes K$. The question is to determine $\dim_{k}(A\otimes K)^{G}$. I am hoping the answer is $\dim_{k}(A)$.

Any ideas on how to attack this problem are more than welcomed.

-

This follows from the fact that $K$ is isomorphic as $G$ module to the free module $k[G]$. (use the existence of a basis of $K$ over $k$ consisting of Galois conjugates.


text:
# Conditional content in moderncv

I am using the package moderncv. I implemented already a conditional statement in the preamble:

\usepackage{ifthen}
\newif\ifresume
\resumetrue %true for RESUME, false for CV

This allows me to set up different designs for either generation of a resume or a cv based on the same data. What I would like to do now, is to also to implement this condition in the

\cventry{year--year}{Degree}{Institution}{City}{Grade}{Description}

data fields in the following sense:

\cventry{year--year}{Degree}{Institution}{City}{Grade}{(short) Description for resume}{(long) Description for CV}

I already tried various ideas to implement this, but none succeeded. The obvious solution would be

\cventry{year--year}{Degree}{Institution}{City}{Grade}{\ifresume
%Text for RESUME
\else
%Text for CV
\fi}

but that does not appear very pracicable.#

Any ideas how to solve this smoothly?

Cheers, Mil

• Have you considered using a combination of xparse and expl3? That would allow you a very simple document-level interface with very readable code-behind. (If you go this route, I'd also recommend using l3keys, but that's my preference… something like cvtext= and resumetext=.) – Sean Allred Jan 31 '14 at 15:17
• I havn't heard about these packages before and am not completely sure what their result would be. I will look into them though. :) – Mil Jan 31 '14 at 15:20
• Make a \newcommand that incorporates \cventry into it with 7 args.; when \resumetrue is in effect, it spits out all 7, when \resumefalse is in effect, it spits out 6. Note that the ifthen package is not needed for \newif, and also is superseded in many ways by etoolbox. – jon Jan 31 '14 at 15:20
• I had the same idea at the same moment! :) – Mil Jan 31 '14 at 15:21

Consider using a combination of expl3 and xparse:

Note that, since it's keyval-based markup, you can explicitly set resume-mode for any single item (or group of items, if you do { \ResumeMode[true] \CVEntry{…} \CVEntry{…} … }).

\documentclass{moderncv}
\usepackage{expl3,xparse}
\ExplSyntaxOn
\keys_define:nn { mil / resume } { % from expl3
start        .tl_set:N   = \l_mil_resume_start_tl,
end          .tl_set:N   = \l_mil_resume_end_tl,
degree       .tl_set:N   = \l_mil_resume_degree_tl,
institution  .tl_set:N   = \l_mil_resume_institution_tl,
city         .tl_set:N   = \l_mil_resume_city_tl,
resume-text  .tl_set:N   = \l_mil_resume_resumetext_tl,
cv-text      .tl_set:N   = \l_mil_resume_cvtext_tl,
resume-mode  .bool_set:N = \l_mil_resume_mode_bool
}
\NewDocumentCommand \ResumeMode { O{true} } { % from xparse
\keys_set:nn { mil / resume } { resume-mode = #1 }
}
\NewDocumentCommand \CVEntry { m } {
\group_begin:
\keys_set:nn { mil / resume } { #1 }
\cventry{\l_mil_resume_start_tl--\l_mil_resume_end_tl}
{\l_mil_resume_degree_tl}
{\l_mil_resume_institution_tl}
{\l_mil_resume_city_tl}
{
\bool_if:NTF \l_mil_resume_mode_bool {
\l_mil_resume_resumetext_tl
} {
\l_mil_resume_cvtext_tl
}
}
\group_end:
}
\ExplSyntaxOff

\moderncvstyle{oldstyle}
\name{John}{Doe}

\ResumeMode[false]

\begin{document}
\CVEntry{
start=1993,
end=2005,
degree=B.\,S.,
institution=\TeX\ StackExchange,
city=Internet,
resume-text=resume text,
cv-text=cv text,
}
\CVEntry{
start=1993,
end=2005,
degree=B.\,S.,
institution=\TeX\ StackExchange,
city=Internet,
resume-text=resume text,
cv-text=cv text,
resume-mode=true,
}
\end{document}

• That looks like a very promising solution Seal Allred! Its very elegant! Just a short question: I am trying to change my layout settings in dependence on \ResumeMode[false] or \ResumeMode[true], however I am not sure how to adjust the if-command: \ifResumeMode %settings for resume \else %settings for cv \fi. Do you know what the proper command is? :) – Mil Feb 1 '14 at 15:40
• @Mil Take a look at the \bool_if:NTF macro there -- it takes a look at \_mil_resume_mode_bool and inserts resumetext or cvtext depending. Take a look at page 38 of texdoc interface3 for a more detailed explanation, but the syntax idea is basically \if{resume mode}{true code}{false code}. That is, \bool_if:NTF \l_resume_mode_bool {true code}{false code} or \bool_if:NT \l_resume_mode_bool {true code} or \bool_if:NF \l_resume_mode_bool {false code}. – Sean Allred Feb 1 '14 at 15:53
• Ah, that clears things up, thank you. I thought I understood how it works, but the implementation still doesnt work. I tried \moderncvcolor{\bool_if:NTF \l_mil_resume_mode_bool {blue}{green}} and \bool_if:NTF \l_mil_resume_mode_bool {\moderncvcolor{blue}}{\moderncvcolor{green}} but I only get "undefined control sequence. – Mil Feb 1 '14 at 16:09
• @Mil What is it saying is undefined? (My gut tells me to try \exp_args:No \moderncvcolor { \bool_if:NTF ... }) – Sean Allred Feb 1 '14 at 16:43
• I think your gut was right: It doesnt give any errors now. However it only works for the "true" code. ResumeMode[false] gives the same result as ResumeMode[true]. – Mil Feb 1 '14 at 16:52

The following code gives me a solution. But it is still not very nice:

\newcommand{\Cventry}[7]{\ifresume \cventry{#1}{#2}{#3}{#4}{#5}{#6} \else \cventry{#1}{#2}{#3}{#4}{#5}{#7} \fi}


text:
The results of a search for the production of second generation scalar leptoquarks are presented for final states consisting of either two muons and at least two jets or a muon plus missing transverse momentum and at least two jets. A total of 1.03 fb−1 integrated luminosity of protonproton collision data produced by the Large Hadron Collider at √s = 7 TeV and recorded by the ATLAS detector is used for the search. The event yields in the signal regions are found to be consistent with the Standard Model background expectations. The production of second generation leptoquarks is excluded for a leptoquark mass mLQ < 594 (685) GeV at 95 % confidence level, for a branching ratio of 0.5 (1.0) for leptoquark decay to a muon and a quark.

Search for second generation scalar leptoquarks in pp collisions at $\sqrt{s}=7~\mbox{TeV}$ with the ATLAS detector

Abstract

The results of a search for the production of second generation scalar leptoquarks are presented for final states consisting of either two muons and at least two jets or a muon plus missing transverse momentum and at least two jets. A total of 1.03 fb−1 integrated luminosity of protonproton collision data produced by the Large Hadron Collider at √s = 7 TeV and recorded by the ATLAS detector is used for the search. The event yields in the signal regions are found to be consistent with the Standard Model background expectations. The production of second generation leptoquarks is excluded for a leptoquark mass mLQ < 594 (685) GeV at 95 % confidence level, for a branching ratio of 0.5 (1.0) for leptoquark decay to a muon and a quark.
Scheda breve Scheda completa Scheda completa (DC)
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/11571/536842
• ND
• 87
• 23


text:
# MySQL query in nested loop to get scores and averages for students

I am trying to get the scores and average for all assignments for records in a MYSQL database. The code below works but seems to take quite a bit of time to run because of the nested while loop. Any suggestions on how to combine the queries into one?

$query4 ="SELECT studentsisid,coursename,learningoutcomeid,learningoutcomename, count(RecordID) as assessmentcount, count(if(outcomescore >= 3,outcomescore, NULL)) as over3, avg(outcomescore) as scoreavg from studentscores WHERE studentsisid LIKE '$studentid' AND coursename='$coursename' Group by studentsisid,coursename, learningoutcomeid ORDER BY studentname, learningoutcomename";$result4=mysql_query($query4); if (mysql_numrows($result4) == 0){
die("No result.");
}

while ($row4 = mysql_fetch_assoc($result4)) {
$learningoutcomeid = (int)$row4['learningoutcomeid'];
$coursename =$row4['coursename'];
$studentid =$row4['studentsisid'];
$learningoutcomename =$row4['learningoutcomename'];
$learningoutcomeid = (int)$row4['learningoutcomeid'];
$assessmentcount = (int)$row4['assessmentcount'];
$scoreavg = number_format($row4['scoreavg'], 1);
$over3 =$row4['over3'];

$query5 ="SELECT count(if(outcomescore >= 3,outcomescore, NULL)) as recentover3, avg(outcomescore) as recentscoreavg FROM ( SELECT outcomescore FROM studentscores WHERE studentsisid='$studentid' AND coursename='$coursename' AND learningoutcomeid='$learningoutcomeid'
ORDER BY RecordID DESC LIMIT 3) as r";

$result5=mysql_query($query5);

while ($row5 = mysql_fetch_assoc($result5)) {
$recentscoreavg = number_format($row5['recentscoreavg'], 1);
$recentover3 =$row5['recentover3'];

I am trying to get the data below and the code above does accomplish the goal:

studentsisid;coursename;loid;loname;assessmentcount;over3;scoreavg;recentover3;recentscoretavg
1234";"Course1";"7982";"LearningOutcome1";"1";"1";"3.2";"1";"3.2"
1234;"Course1";"7995";"LearningOutcome2";"4";"4";"2.5";"2";"2.5"
1234;"Course1";"7991";"LearningOutcome3";"6";"6";"3.8";"3";"3.2"
1234;"Course1";"7889";"LearningOutcome4";"1";"1";"3.4";"1";"3.2"
1234;"Course1";"7839";"LearningOutcome5";"2";"2";"2,6";"1";"3.2"

• There seems to be part of your code missing. What happens in the second while loop?
– tim
Mar 3 '15 at 21:29
• The second while loop is used to get the two variables $recentscoreavg and$recentover3 from $query5 Mar 3 '15 at 21:52 • Yes, I see that, but what happens then? You never close the loop, so the code you posted here would not actually compile. – tim Mar 3 '15 at 21:57 • Correct. This is part of a PHP page that then takes the variables and publishes in a table. Everything works fine now but I am trying to combine query4 and query5 so I do not have to put in an additional query and nested while statement to get the variable$recentscoreavg and $recentover3. Mar 3 '15 at 22:06 • What you may and may not do after receiving answers. I've rolled back Rev 4 → 2. Mar 3 '15 at 22:32 ## 2 Answers You can replace: $learningoutcomeid = (int)$row4['learningoutcomeid'];$coursename = $row4['coursename'];$studentid = $row4['studentsisid'];$learningoutcomename = $row4['learningoutcomename'];$learningoutcomeid = (int)$row4['learningoutcomeid'];$assessmentcount = (int)$row4['assessmentcount'];$scoreavg = number_format($row4['scoreavg'], 1);$over3 = $row4['over3'];  by: extract($row4);
$scoreavg = number_format($scoreavg,1);

Note that there are several weird things in your code: 2x 'learningoutcomeid' and 'studentsisid'. Sloppy coding?

Your code here is also incomplete and not working. Sorry, that means no answer to your question.

What is also a serious problem is that the code is undocumented. There are NO comments to explain what's being done. Suppose you hand over this project to someone else, how is this next person to make sense of it? I looked at it for a while, and I cannot make sense of it. There seems to be just one table you use: 'studentscores', but it's structure eludes me.

• I could post the entire code but it has much unrelated to this problem. I tried to edit the code to make it easier to read but it was reverted. I am going through cleaning up the code now. Thanks for the feedback. Mar 3 '15 at 23:03
• I understand. The idea here is to publish working code. We cannot work with your code in any way. We don't have the data, the structure of the database, working code, or an explanation of what it is supposed to do. You could make a working PHP fiddle (phpfiddle.org) and put it in a comment (they cannot revert that). Mar 3 '15 at 23:11

• don't write all lower case. learningoutcomename is really hard to read for example.
• query4 and row4 are not very good names, as they don't tell me anything (except that you have quite a lot of queries, probably too many for one function).
• why do you use like instead of equals for the student id? This seems a bit odd.


text:
categorifying induction in homotopy type theory

In trying to understand homotopy type theory, I stumbled upon the following silly question, which is likely to be trivial for the experts.

Let $B=\sqcup_{n\in\Bbb N} BS_n$, which I'd like to think of as the categorified version of the natural numbers $\Bbb N$. There is an obvious map $\sigma:B\to B$ that covers the successor map $s:\Bbb N\to\Bbb N$, $s(n)=n+1$.

On the other hand, in Martin-Löf's type theory, there is the inductive type of natural numbers, written as

Inductive nat : Type := O : nat | S : nat -> nat.

in the syntax of Coq. The induction rule reads

nat_rect: forall P: nat -> Type,
x: PO -> ((forall n: nat, Pn -> P(Sn)) -> (forall n: nat, Pn)).

Question: Can nat and S be interpreted as $B$ and $\sigma$? Presumably not, but why so?

In fact, such interpretation is impossible, according to Voevodsky: (1) because nat has contractible components (see Theorem isasetnat here); (2) because nat_rect would cause the fibration $\sigma$ to have a section.

Both arguments elude me, however. (1) just needs better knowledge of Coq and more patience with this new way of writing down proofs than I've developed so far (so I don't follow the proof of his Theorem isasetifdeceq). In (2), I fail to see how nat_rect manages to mention a section of $\sigma$, or even that $\sigma$ must be a fibration. Indeed, let me parse the second line of the induction rule.

P: nat -> Type

I'm reading this as $p\in Map(B, U)$, where $U$ is a universe.

forall n: nat, Pn

This is the space of sections of $p^*\xi$, where $\xi$ is the universal fibration over $U$.

S: nat -> nat

This says $\sigma\in Map(B, B)$.

Pn -> P(Sn)

And this is $Map(\xi^{-1}(p(x)),\xi^{-1}(p(\sigma(x)))$.

forall n: nat, Pn -> P(Sn)

Here the previous space of maps needs to be understood as the homotopy fiber of a fibration over $B$. This fibration is $G_\sigma^*(p\times p)^*Map(\xi,\xi)$, where $G_\sigma: B\to B\times B$ is the graph of $\sigma$, $p\times p: B\times B\to B\times B$, and $Map(\xi,\xi)$ is the fibration over $U\times U$ whose fiber over $(X,Y)$ is $Map(\xi^{-1}(X),\xi^{-1}(Y))$. (I understand that fibrations like $Map(\xi,\xi)$ and $\xi\times\xi$ are implicitly postulated by saying that $U$ is closed under products, dependent products, etc.; and these postulates correspond to Martin-Löf's universe formation rules.)

So we end up with the space of sections $Sect(G_\sigma^*(p\times p)^*Map(\xi,\xi))$.

(forall n: nat, Pn -> P(Sn)) -> (forall n: nat, Pn)

This is $Map(Sect(p^*\xi), Sect(G_\sigma^*(p\times p)^*Map(\xi,\xi)))$. Let me call it $M(p)$.

x: PO -> [(forall n: nat, Pn -> P(Sn)) -> (forall n: nat, Pn)]

and this is just $Map(\xi^{-1}(p(0)),M(p))$.

It seems to be a bit harder to parse the entire nat_rect; but I don't see how on earth this could help one to find a section of $\sigma$.

-
I don't quite understand why you wish to think of the sum of $BS_n$ as the categorified natural numbers. I am far more accustomed to seeing $BS_n$ as a categorified reciprocal whose decategorified shadow is $1/n!$, so that the sum of the $BS_n$ is a categorification of $e$, and the functor which takes a space $X$ to the space obtained as a sum of $E S_n \otimes_{S_n} X^n$ is a categorified exponential $\exp(X)$. –  Todd Trimble Jun 9 '11 at 18:15
Todd, then what is your categorified natural numbers? I'm simply following the well-trodden path a standard reference for which is Baez-Dolan. In more detail, some people tend to think of '$3$' as the 'equivalence class' of three apples, three pears, etc. Whereas $BS_n$ can be identified with the nerve of the category of $n$-element sets and their isomorphisms, and the universal $n$-fold covering $ES_n\to BS_n$ is the tautological covering over this nerve: the fiber over an object is the $n$-element set represented by this object. –  Sergey Melikhov Jun 9 '11 at 22:13
Sergey, I didn't mean to seem aggressive here; I just wanted to understand your point of view. (I also acknowledge that there is more than one answer, depending on what one wants.) My first response is: $Fin$, the category of finite sets, which as a category with products that distribute over coproducts, decategorifies to the rig $\mathbb{N}$. But this suggests to me another way to interpret your meaning: just as $\mathbb{N}$ is the free commutative monoid on one generator, so the groupoid $\sum_n S_n$ is equivalent to the free symmetric monoidal category on one generator. No worries then.:-) –  Todd Trimble Jun 9 '11 at 23:02
What is the 'obvious' map $\sigma$? I guess it corresponds to a choice of inclusion $S_n \hookrightarrow S_{n+1}$ for each $n$. But I would wonder if there are any coherence conditions lying around. For example we know that $(0,s):1+\mathbb{N} \to \mathbb{N}$ is an isomorphism. I don't expect this be echoed in your $B$ above, but I feel there could be something lying around... (and I echo Todd's sentiment that categorification is an art, and so goes down various paths). –  David Roberts Jun 10 '11 at 2:01
Todd and David, I agree, it should have been, a (not the) categorification (there are no articles in my native language, so I don't always get them right without a conscious effort). Also the category $Fin$ may be a better categorification of $\Bbb N$ than the nerve B of isomorphisms of $Fin$, so maybe I should've put 'categorification' in quotes. But in homotopy type theory, a 'categorification' (or '∞-categorification') of $\Bbb N$ should be a type, hopefully with additional structure corresponding to $+$, $∗$ and induction. Should it be sought in Awodey-style, not Voevodsky-style HTT? –  Sergey Melikhov Jun 10 '11 at 11:13

The first reason you give is sufficient to answer your question: any interpretation of nat (and any other type with decidable equality) must have contractible components. Let me try to unpack the proof:
The proof of isasetifdeceq goes as follows: Fixing $x:X$, we must show that $\text{Paths}(x,x)$ is contractible. We know that $\Sigma_{x':X}\text{Paths}(x,x')$ is contractible, so we just need the natural map $f:\text{Paths}(x,x)\to\Sigma_{x':X}\text{Paths}(x,x')$ to be a weak equivalence. This follows from the hypothesis using the theorem onefiber, which establishes that for a fibration which is empty over all but one path-component of the base, the total space is equivalent to a fiber over the remaining component.
Regarding (2). I think there's some confusion here: Let me try to unpack nat_rect in a more direct way: For any fibration $\Sigma_{\text{nat}} P\to\text{nat}$ over nat, given a point in $P_0$ and a section of $\Pi_{n:\text{nat}}\text{Map}(P_n,P_{n+1})\to\text{nat}$, you get a section of $P$. That is the interpretation of primitive recursion/induction.
Thanks, Ulrik! With your comments, I seem to understand the proof of isasetifdeceq now, but I'd say that semantically, it's an incredible kind of reasoning! The law of excluded middle, or 'decidable equality', is stated as saying that either there is a path between x and x' or there's no path between them; now the latter assertion also has another meaning: the path fibration, sending to x' every path from x to x' is empty over all components except that of x. Then the topological observations you mentioned apply. Correct me if I'm wrong, but this is the first time I see a topological ... –  Sergey Melikhov Jun 9 '11 at 21:36
... thinking have some application to logic, and not just providing an interpretation of what is already known in logic. It's a pity that there seems to be no more human-readable exposition of this argument. I'll need to think it all over to see what is going on here (in particular in my example with $B$ and $\sigma$). –  Sergey Melikhov Jun 9 '11 at 21:42
I agree it's an incredible kind of reasoning - that's part of the fun! And you're right that to give a full unpacking we have to interpret Type by a univalent universe, $U$, with corresponding fibration $\Sigma_{A:U} T(A)\to U$ (universe a la Tarski with decoding $T$). And then nat_rect is represented by a section of a certain fibration with base space $\text{Map}(\text{nat},U)$. But it's frankly easier to understand in the type-theoretic notation, remembering to understand constructs constructively/continuously. –  Ulrik Buchholtz Jun 10 '11 at 6:05
As for (2): The argument you refer to doesn't make much sense to me, since $\sigma$ is not interpreted as a fibration, so why does the question arise as to whether it has a section? That's why I suggested there might be some confusion going on – although I'm probably also confused :-) –  Ulrik Buchholtz Jun 10 '11 at 6:09


text:
# Universal and Individual Gas Constant

1. Mar 5, 2008

### Altairs

I got injured while playing football and had to miss a Thermodynamics-I lecture. Got the notes afterwards but they tend to make things more complicated. The notes starts with :-

$$Pv=RT$$

Which R is this the Universal Gas Constant or the Individual Gas Constant ?

Is the Molar Volume and Specific Volume same thing?

Then it says $$R = \frac{R_{u}}{Mol Wt.}$$, which seems alright.

Then it says that :-

For EE :-

$$R = \frac {1545}{Mol Wt.}$$

For SI :-

$$R = \frac {8314}{Mol Wt.}$$

Question is that I have always seen the Molar Gas Constant to be $$8.134 JK^{-1}mol^{-1}$$. How does 8314 come ?

I'll be obliged if someone can give systematic answers. this way my confusion will be eliminated.
(looks like there's some problem with LaTex)

Last edited: Mar 5, 2008


text:
# Difference between revisions of "Paper:Maruti Ram Murty/The Fibonacci Zeta Function"

Published $1976$, Journal of the London Mathematical Society.


text:
# Phoenix Docstrings Guidelines¶

This document gives a brief introduction about the current docstrings standards in the Phoenix project. Most of the documentation in the Phoenix core is automatically generated by parsing the wxWidgets XML docs; however, Phoenix has its own pure-Python functions and classes in at least two places:

• Core Library: examples include wx.CallLater and wx.date2pydate, which require manual input of the documentation strings. This is achieved by editing the source Python files located in the etg folder in the Phoenix directory tree;

• wx.lib: the whole of wx.lib (and its sub-folders) is made up of pure-Python modules, often representing owner-drawn widgets which are not available as wrapped modules. Again, this requires manual editing of the source Python files.

This document is a starting point in setting some reasonable standards on how the pure-Python docstrings may be edited and improved to make the overall appearance of the Phoenix documentation consistent and pleasant.

## Info Field Lists¶

Info Field Lists refer to the various options available while documenting a method or a function, and in particular its parameters, keywords, return type and possibly raised Python Exceptions.

Inside Python object description directives, reST field lists with these fields are recognized and formatted nicely:

• param, parameter, arg, argument, key, keyword: Description of a parameter.

• type: Type of a parameter.

• raises, raise, except, exception: That (and when) a specific exception is raised.

• var, ivar, cvar: Description of a variable.

• returns, return: Description of the return value.

• rtype: Return type.

The field names must consist of one of these keywords and an argument (except for returns and rtype, which do not need an argument). This is best explained by an example:

.. method:: Set3StateValue(self, state):

Sets the checkbox item to the given state.

:param state: can be one of: wx.CHK_UNCHECKED (check is
off), wx.CHK_CHECKED (check is on) or
wx.CHK_UNDETERMINED (check is mixed).
:type state: integer

:returns: True if the value was successfully set, False
otherwise.
:rtype: bool

:raise: Exception when the item is not a 3-state checkbox item.

This will render like this:

### Methods¶

Set3StateValue(self, state):

Sets the checkbox item to the given state.

Parameters

state (integer) – can be one of: wx.CHK_UNCHECKED (check is off), wx.CHK_CHECKED (check is on) or wx.CHK_UNDETERMINED (check is mixed).

Returns

True if the value was successfully set, False otherwise.

Return type

bool

Raise

Exception when the item is not a 3-state checkbox item.

It is also possible to combine parameter type and description, if the type is a single word, like this:

:param integer state: can be one of: wx.CHK_UNCHECKED (check
is off), wx.CHK_CHECKED (check is on) or
wx.CHK_UNDETERMINED (check is mixed).

In general, the standards for the :param field are the following:

1. Do not use the @param construct, as I am not sure Sphinx and docutils understand it;

2. Always try and define the parameter type: if the parameter is another Phoenix class, you can simply write this:

:param Point pt: the mouse pointer location.

Or, alternatively:

:param pt: the mouse pointer location.
:type pt: Point

Similarly, for the :return: and :rtype: field, you may consider doing the following:

1. Try and put double-backticks on words like True, False, None and the various Phoenix constants (i.e., wx.TR_DEFAULT_STYLE);

2. If you can’t guess what a method function returns, just leave the :returns: and :rtype: fields blank.

Admonitions are specially marked “topics” that can appear anywhere an ordinary body element can. They contain arbitrary body elements. Typically, an admonition is rendered as an offset block in a document, sometimes outlined or shaded, with a title matching the admonition type. For example:

.. warning:: I am a warning.

Will render as:

Warning

I am a warning.

Currently, the sphinx_generator tool recognizes the following admonitions:

1. .. note:: or :note: : simple annotations to make a particular comment/sentence stand out against the rest of the documentation strings for a particular class, method or function;

2. .. warning:: : this admonition normally indicates a problem or a severe limitation of a method, class or function. In the Phoenix world, this may also indicate that a particular widget is not supported under one or more platforms;

3. .. wxdeprecated:: : used to mark deprecated methods, classes or functions. Please avoid using .. deprecated. ;

4. .. availability:: : normally employed to make the user understand on which platform(s) a particular functionality is supported/available;

5. .. seealso:: or :see: : added primarily to facilitate the browsing of the docs, this admonition should be employed every time you think a user may be interested in seeing a related/similar method or a function providing an alternative implementation;

6. .. todo:: : used to mark incomplete methods/functions, or simply as a remainder for the user and the developer that some more functionality needs to be added.

You can put pretty much anything inside an admonition section, as long as it is properly indented. The recommendation is to implement it like this:

.. note::

The class :ref:wx.TreeCtrl can be used to display a tree, with these notes:

- The note contains all indented body elements
following.
- It includes this bullet list.

Which will render as follows:

Note

The class wx.TreeCtrl can be used to display a tree, with these notes:

• The note contains all indented body elements following.

• It includes this bullet list.

In addition to the aforementioned admonitions, you can also use the default Sphinx directives like .. versionadded:: and .. versionchanged::, to highlight the fact that some method, function or class has been added/modified starting with a particular Phoenix version.

## Contributing Samples¶

If you wish to contribute a (short) sample to be included in the documentation, please follow these conventions:

1. Name the snippet of code like wxmodule.classname.methodname.INTEGER.py, i.e. if you wish to contribute 2 snippets about the wx.CheckBox.SetValue method, please name your snippet files like this:

• wx.CheckBox.SetValue.1.py

• wx.CheckBox.SetValue.2.py

2. At the very top of the snippet file (on the first line), put your name, or your alias, or anything you use as internet name preceded by a double-hash, i.e.:

##Andrea Gavana

So that your source code looks more or less like this:

##Chris Barker
#!/usr/bin/env python
"""
A simple test of the GridBagSizer
http://wiki.wxpython.org/index.cgi/WriteItYourself
"""

# Whatever code here...
def SendSizeEvent(self):

This snippet will end up in the snippets contrib folder, to differentiate it from the snippets automatically generated when parsing the wxWidgets C++ XML documentation.

Please keep the snippets as short as possible: they don’t need to be fully-runnable and self contained applications, they are simply meant to show a particular/clever/unusual way of using a method, a class or a function.

Please do submit the sample snippets to the wxWidgets/Phoenix Github repository as PR (Pull Request). The snippets should be placed in the source tree in this folder:

Phoenix/docs/sphinx/rest_substitutions/snippets/python/contrib

## Contributing Screenshots¶

Currently Phoenix is relatively short of widgets screenshots, especially on Linux/Mac platforms.

If you wish to contribute a screenshot of a widget to be included in the documentation, please follow these conventions:

Please submit the screenshots to the wxWidgets/Phoenix Github repository as a PR (Pull Request). The screenshots should be placed in the source tree in this folder:

Phoenix/trunk/docs/sphinx/_static/images/widgets/fullsize

Please make sure to put your images in the appropriate sub-folder, depending on the platform you chose to take the screenshots on.