tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
It looks like a good time for me to start auto-screening comments from people who are not on my Access List. I'll approve all comments that contribute to the discussion (see my userinfo for an idea of what that means to me), as determined by me. I think this may mean that all OpenID comments will be screened, even for OpenID commenters who are on my Access List. Sorry about that; I check email pretty often, so comments should generally get approved quickly unless I'm on vacation somewhere without Internet access, which basically never happens.
tim: "System Status: Degraded" (degraded)
The problem with pointing out that there's something a little bit off about somebody telling you to be more respectful, and telling you to (verbatim) "shut the fuck up" in the same paragraph, is that there's just no way to point that out without looking like a jerk.

(Yes, I know that it's probably just as obvious to everybody else as it is to me, and hence there's no need to point it out -- but I'm a programmer; my job is to restate the obvious.)
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (work)

I'm going to see if I can productively write these posts a bit at a time, during long compiles. Whee!

I mentioned how yesterday, I got everything to stop being broken and returned to a state in which the only thing that was breaking was my new test case. Here it is, btw:

// xfail-fast
// aux-build:cci_class_cast.rs
use cci_class_cast;
import cci_class_cast::kitty::*;
import to_str::*;
import to_str::to_str;

fn print_out<T: to_str>(thing: T, expected: str) {
  let actual = thing.to_str();
  #debug("%s", actual);
  assert(actual == expected);
}

fn main() {
  let nyan : to_str  = cat(0u, 2, "nyan") as to_str;
  print_out(nyan, "nyan");
}

I'm going to make the bold assumption that you already can read Rust (but if not, there's a tutorial that may or may not reflect the version of the language I'm using.) The test depends on an auxiliary crate; the "aux-build" directive in a comment tells our test runner to build it; the use directive links this program with the other crate, called cci_class_cast, and finally, the import directive imports the module kitty within the crate cci_class_cast. And yes, I try to make as many of my examples as possible involve cats. There's something wrong with that? Cut for length )

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (working)

In general, I don't blog about work. That's not a matter of policy, just that the topics that move me enough to cause me to sit down and write for a couple of hours tend not to be work-related. You might say that I should question the line of work I'm in because of that -- and believe me, I have. On the other hand, I do stay up late working because I have to know the solution to this problem rather than because there's a deadline (deadlines?) on a regular basis. And when I do find out the solution, I'm usually too tired to write about it. So there's that.

There are plenty of really good reasons to document what I do as I go along, though, and all of those reasons are centered around me rather than other people. Thus I'm going to start trying to write for an audience of one. But if I write here, in my public blog, rather than in a private text file, I'll be forced to write clearly enough that others might have a chance at understanding it -- which means I'll probably be able to understand it later myself, even if no one else ever does. So there's also that.

Some of my colleagues do a really great job writing beautifully detailed, explanatory posts, but I'm not going to try to do that, because it's just too intimidating. Instead, I'm going to write as close to every day as possible (though I won't beat myself up too much if I miss a day), as much as possible, and as uninterestingly as possible. You have been warned.

Today, I went back to working on implementing classes in Rust, as I've been doing for more or less the past four months. (The last two days of last week, I took some time to do bug triage and to fix what I thought was going to be an easy bug (to give myself that key little dopamine-surge of accomplishment) and turned out not to be.) When I left off working on it before, I was in one of those truly gruesome states where you're trying to add support for a new feature -- in this case, the ability to cast a class to an interface type -- but it breaks everything and you don't know why. In this case, I was trying to unify the code that handles implementations of interfaces (existing code), and classes that implement interfaces (new code), so I guess I did know why it broke (I messed up how interfaces got typechecked), but not how to fix it. Cut for length )

Spot-on

Apr. 24th, 2012 04:37 pm
tim: "System Status: Degraded" (degraded)
Currently I’m struggling with the fact that what one needs is not just the ability to say “Fuck you”, but the ability to keep saying it for years and years on end, through ups and downs and uncertainties, in the knowledge that mostly what you get in return for this is the opportunity to keep having to say “Fuck you” for the rest of your life.

I don’t know where that struggle will take me, right now.

-- GemmaM, in a comment on a post about being a woman in tech.

I'm not a woman, but that's still how I feel in being in tech.
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (working)
0. How old were you when you first learned about sex (the relational kind, not the personal characteristic), and under what circumstances?

In your edit, you said you thought you asked me this before, but I don't think you ever did! Hence, bonus question.

Unsurprisingly, the answer may be a bit TMI )

1. Somehow despite also holding down a job, exercising, feeding and clothing yourself, etc., you find the energy to participate in online fora to an extent that would have made total sense to me 10 years ago but is unthinkable now. What keeps you coming back to all these different spaces? (FB, DW, G+, Twitter, Reddit, etc.) Do you use each for different purposes, or do your social networking activities form a compact set mostly overlap under the banner of 'connecting with others'?

Well, first, exercising? Heh. The rest of this is not at all TMI, but I'm still cutting for length. )
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
(aka "no, I really don't want it to be 2003 again except in the sense of having meaningful discussions on LiveJournal.") These from [personal profile] luinied, who happened to overlap (mostly) with stuff I've been thinking about anyway. Well-done :-D

  1. Of all the places you've lived, which has been the least soul-crushing in terms of general place-to-live factors? That is, excluding your job, who you knew in the area, etc.. (As though this is easy to untangle, I know.)

    I try to aspire to a higher standard than "not soul-crushing", you know :P That said, I found Cambridge, England to be very pleasant. It's well-nigh impossible for me to separate that experience from my job, the overall headspace I was in then, where I came from, where I went afterward, and so on, but the surroundings helped. I'm not sure I would move back there, even with a reason, since it was hard to find much of a queer scene there. (Maybe that's changed.)

  2. What is it like working at Mozilla on a day-to-day basis?

    Leaving out the recent political tensions there (because that's the other post I'm working on): Read more... )
tim: 2x2 grid of four stylized icons: a bus, a light rail train, a car, and a bicycle (travel)
Open to: Registered Users, detailed results viewable to: All, participants: 13


"Some folks are born into a good life, and other folks get it anyway anyhow." -- Bruce Springsteen. What about you?

View Answers

I was born into a good life
9 (69.2%)

I got it anyway anyhow
2 (15.4%)

Neither
2 (15.4%)

Anything else you want to say?

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Folks with animals: thoughts on pet health insurance? I've heard conflicting things ("you must get it" from some people, "it works better to set aside the same amount of money in a savings account" from others).

In particular, it would be cool to hear from people who either had insurance and then had their animal have an expensive medical problem, or had the same thing happen without insurance.

I figure if I adopt an animal, it's my responsibility to take care of it (given what the power balance is in that situation), and not spending a couple thousand dollars in an emergency situation means having more money left to donate to causes that help people.
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
I thought maybe I should post about something other than kyriarchy once in a while, so I bring you five questions asked by [livejournal.com profile] hsifyppah, in a meme last seen sometime around 2005 or so.

1. Can we have a KITTEN PICTURE!!!!

I give you this one of the kittens locked in mortal combat on my bed this morning:
Two kittens doing a fight

2. The local transit agency has, surprisingly, adopted your sarcastic proposal for a new transit line. What's the technology - Soap-box racing? Bumper-cars? Bunny-drawn carriage? And where does it run?

I'm going to go for serious here: high-speed rail from Vancouver, BC to San Diego, CA with stops in Seattle, Portland, Arcata (making it easier for me to go to that cool place with the hot tubs), San Francisco, and Los Angeles. Travel time between SF and LA should be less than 3 hours with the entire route taking less than 10. It can happen. (Maybe that's not local. Whatevs!)

3. You have entered the world topiary championships, and the smart money is on you to win. Describe your prize-winning planty masterpiece. Also let's pretend "planty" is a real word.

It would be a tree satisfying the red-black tree properties. ("I see a red node and I want it to turn black...")

4. What novel have you read the most times?

_The World According to Garp_ by John Irving (I've read it about five times), but I'm not that sure I would like it if I read it again. I think I've read _The Rebel Angels_ by Robertson Davies and _Infinite Jest_ by David Foster Wallace three times each. I haven't read much fiction in a while... I keep feeling like there's so much I don't know that any time I spend reading fiction takes away time I could be spending reading nonfiction.

5. You're on a desert island, and you can only bring five albums. This is clearly unreasonable; you file a grievance with the desert-island ombudsman, and in the settlement you receive a lifetime supply of a tropical fruit of your choosing. Which one?

Durian, because it's DELICIOUS. I don't get the people who don't like the smell.

I believe this is where you're supposed to ask me to give you five questions. If you ask, I'll try my best!
tim: "System Status: Degraded" (degraded)
In the space of 24 hours, a place that I thought was relatively safe for me has flipped to seem totally unsafe. I linked to the Planet Mozilla admin post before; most of the subsequent comments have defended "free speech" (which is to say, bullies' right to bully) and demanded that those of us who are LGBTQ prove our humanity. I had this to say in response:

Most of the replies I'm seeing are replies that ask me to engage in a debate to prove that I'm human and that I deserve the same rights and respect that heterosexual cisgender people with cissexual bodies do. I refuse to engage in that debate, because being asked to prove I'm human in a work space is exactly what is making that space a hostile environment for me. (Mozilla prides itself on its distributedness, thus there should be no denial that online spaces with mozilla.com or mozilla.org domains attached are no less work spaces than the physical offices are.) White, heterosexual, able-bodied cisgender men who have cissexual bodies are never asked to provide an intellectual argument that they're human -- their humanity is taken as a given. That the rest of us apparently have to have a debate contest to prove it is why we're not, apparently, welcome or equal.

The blog software just gave me a blank page when I hit submit, so I'm not sure if the comment went through; I'm posting it here for posterity.

Of course, it's not that I'm surprised that any individual in my organization holds views that are inimical to my life and existence. Individuals are entitled to hold those views and express them using personal resources, during personal time. What I'm surprised about is that the institution has so far vociferously defended using institutional resources to promote the view that says I should be stamped out.

If you're hiring software engineers in the Bay Area (especially to do work on advanced programming languages) and your workplace doesn't tolerate hate speech against people in any protected class, please take a look at my résumé.

Edit: I have always maintained an internal rule that I'll delete any comments on this journal that use any of the silencing tactics listed at Derailing for Dummies or the Geek Feminism Wiki's list of silencing tactics. I've never had to employ that rule until now. There is plenty of derailing and silencing speech everywhere on the Internet; my blog doesn't need to be a place to host it.
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
When I checked email this morning, the first message I read was a posting on Homozilla, the internal LGBTQ/ally mailing list at Mozilla, about a posting from Gervase Markham, a Mozilla contractor who works on community relations, that appeared on the Planet Mozilla blog aggregator. Planet Mozilla syndicates blogs from various people (employees and volunteers) in the Mozilla community. Some people choose to only publish posts of theirs that are tagged with a certain tag on Planet Mozilla, while others publish their entire blogs. This leads to a mix of Mozilla-related and non-Mozilla-related content.

Gerv's post was not just non-Mozilla-related, but was a call for other UK residents to sign an anti-marriage-equality petition. While Gerv is entitled to his own opinions and to publish them on his own blog, publishing this opinion as a paid Mozilla staff member under the Mozilla banner implies that Mozilla endorses the hate speech that he chose to release. And yes, I'm calling it hate speech because saying that I don't deserve to have a fundamental human right is saying that I'm not a person. If that's not clear to you, perhaps you have a hard time empathizing with people who aren't as privileged as yourself. I would suggest you work on that; it's not really my job to help you learn.

The Mozilla staff members who administer Planet Mozilla responded by essentially standing behind Gerv's hate speech as published under the Mozilla banner. Again, Gerv has the right to say whatever he wants about how I'm not a human being, but as a company, Mozilla can make a choice about what kind of content to publish under their name.

In this case, the Planet Mozilla team -- which includes people employed by and speaking for Mozilla -- made the choice to defend the value of using a Mozilla blog to spread hate speech: Our policy for the last five years, since the creation of an official Mozilla module for planet.mozilla.org, has been that we do not filter or censor content on Planet. Further, we have encouraged our community to share more than just their Mozilla-related activities on Planet." And a number of people, some of whom are Mozilla employees, wrote comments that also defended the value of using a Mozilla blog to spread hate speech (see the same link for comments).

Whatever it accomplishes for Mozilla's mission of protecting the open Web to disseminate speech that denies the humanity of a marginalized minority group, I guess that's more important than affirming that Mozilla values the contributions made by its LGBTQ employees and volunteers. To me, defending rather than repudiating Gerv's hateful post says that my contributions, and those of every other LGBTQ contributor at Mozilla, aren't important -- that Mozilla as a company is willing to give up all of those contributions just to be able to distribute hate speech through the Planet Mozilla aggregator.

I can't help but see parallels with my experience at PSU -- in that case, authority figures made the judgment that another grad student's right to talk about raping another student, to their face, at work was more important than their or my education. Apparently, the value of rape jokes at work was so high to my group at Portland State that it was not possible to take any serious action against pervasive sexual harassment or to discipline the person who committed the most heinous act in any serious way. I thought Mozilla was better than that, but apparently there's a similar calculus at work here: the value of having hate speech targeting LGBTQ people on a blog aggregator that is clearly under the Mozilla umbrella (nobody could read it and not think it's an official Mozilla feed) is being deemed greater than the value of everything that LGBTQ contributors have to offer to Mozilla.

If you think that the term "hate speech" is overreaching, you may be confused about the distinction between offense and oppression. For example, a homophobe might be offended by this post, but it is not hate speech against homophobes, since homophobes are not an oppressed class (quite the opposite) and I have no systematic power over them. At least under California state law, it's easy to find out which classes are protected classes: for example, women, people of color, people with disabilities, members of gender and sexual minorities, among others. Speech that targets any of those groups as a group and tears down their humanity (for example, by suggesting they don't deserve a fundamental human right) is hate speech. Speech that targets individuals independently from their group membership, or that targets powerful groups that are not protected classes, is not hate speech. Speech that is merely offensive to somebody and does not have the power and violence of a dominant group (like men, white people, heterosexuals, or cisgender people with cissexual bodies) to back it up cannot be hate speech. Speech on behalf of heterosexuals that targets LGBTQ people is absolutely hate speech; words that imply we're not worthy of basic rights are the theory, and a fist to the face is the practice. Each incites the other.

Back in September at the Mozilla All-Hands meeting, Gary Kovacs, our CEO, said that people had already been fired for making bigoted remarks at work and he wouldn't hesitate to do it again. The room applauded. I felt like I was finally in a place where I could feel free to focus on work without being afraid that someone else would decide that their discomfort with my gender or sexual minority status was my problem and that the administration would side with the bully. Now, I'm not so sure. See, the thing is, you can't be neutral when a bully is bullying -- being neutral means taking the bully's side. You can't cite "free speech" when a bully is using words to commit an act of violence by asserting and renewing their superior social standing and power in a situation. Tolerating hate speech means destroying free speech for people in minority groups; unchecked free speech means that only people in powerful majority groups get to speak. When bullies are allowed to use their power to remind me that I'm not a person, that silences my voice.

I'm using the "research" tag for this post since if my setup from long ago still works, this post will be syndicated on Planet Mozilla. And, of course, this post represents about an hour that I could have spent doing research had a number of individuals not made the collective decision that my workplace should be a place where my humanity is not a given but, rather, up for debate.

Edit: Edited to remove the name of a particular person who I had mistakenly attributed more to than he was actually responsible for.
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
A couple weeks ago, Zoe Moyer, a student at Wellesley and writer for the Wellesley news, emailed me asking my opinion about a petition to make Wellesley admissions gender-neutral. I explained that in my opinion, Wellesley is already not a single-sex institution and the question is whether to admit people who were coercively assigned male at birth, not whether to admit men (since Wellesley already admits men, provided they were coercively assigned female at birth).

The article was published last week, but unfortunately, it appears I didn't make myself very clear in my comments, as the first part of the passage where my name is mentioned is accurate about my views, but the second part isn't. I wrote the following email to Zoe:
I'm afraid that something I wrote in my email may have
been unclear, because of this quote:

'Because transgender women are also allowed to apply to Wellesley,
Chevalier said that Wellesley "need[s] to be honest…and stop referring
to [itself] as a single-sex college.'"

The quote makes it look like I believe that trans women are not women,
and that's absolutely something I do not believe. Trans women don't
make Wellesley not-a-single-sex-college; trans *men* do. The quote
would reflect what I believe if "women" was changed to "men". Would
you mind printing a correction? I would hate for anyone to come away
from the article thinking that I said something that was so erasing of
trans women's personhood.


Anyway, I just thought I would post this here in case anyone came across the article and thought that my view is that admitting trans women (which Wellesley never does in practice, except for those women who have corrected their gender documentation and can avoid disclosing their trans status, as far as I know, so that's also a bit confusing) makes Wellesley not-single-sex.

If anyone is interested, my original reply from which the quotes from me are derived:
Read more... )
tim: Mike Slackernerny thinking "Scientific progress never smelled better" (science)
Remember when I posted about having surgery? Well, I had surgery. I want to try to write down what I remember about it before I forget, primarily for the benefit of other people who might be considering getting meta. I'm not sure how much interest it will have for anyone else, but I can never predict what someone else will find interesting. Finally, this post contains TMI but more of the "gross" sort than the "sexual" sort, so you have been warned.
How it went )
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
I have an announcement to make that some people may consider TMI and which may be NSFW if text can be NS F your W. In 3 1/2 weeks, I'm having genital reconstructive surgery. I'm a person who doesn't mind sharing details about my body that many would consider rather personal. The concept of TMI has never rang very true for me (in general, I want to know everything about everybody, and it's hard to imagine being squicked by somebody else knowing something about me). However, I also believe in consent, and part of that means not foisting details about my sexuality on anybody before they have the chance to opt out. So if you are someone who plays a role in my life such that knowing very intimate details about me would make you uncomfortable -- or if you just don't care what's going on in and around my crotch -- here's your chance to opt out. Don't follow the link.
For the rest of you... )
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Well, Jesus was a homeless lad
With an unwed mother and an absent dad
And I really don't think he would have gotten that far
If Newt, Pat and Jesse had followed that star
So let's all sing out praises to
That longhaired radical socialist Jew

When Jesus taught the people he
Would never charge a tuition fee
He just took some fishes and some bread
And made up free school lunches instead
So let's all sing out praises to
That long-haired radical socialist Jew

He healed the blind and made them see
He brought the lame folks to their feet
Rich and poor, any time, anywhere
Just pioneering that free health care
So let's all sing out praises to
That longhaired radical socialist Jew

Jesus hung with a low-life crowd
But those working stiffs sure did him proud
Some were murderers, thieves and whores
But at least they didn't do it as legislators
So let's all sing out praises to
That longhaired radical socialist Jew

Jesus lived in troubled times
the religious right was on the rise
Oh what could have saved him from his terrible fate?
Separation of church and state.
So let's all sing out praises to
That longhaired radical socialist Jew

Sometimes I fall into deep despair
When I hear those hypocrites on the air
But every Sunday gives me hope
When pastor, deacon, priest, and pope
Are all singing out their praises to
Some longhaired radical socialist Jew.

They're all singing out their praises to....
Some longhaired radical socialist Jew.

-- Hugh Blumenfeld

Music: http://www.youtube.com/watch?v=1_v9tz2nxvs

Updates

Dec. 2nd, 2011 02:04 pm
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Hi!

I'm turning 0x1F in two weeks and two days. This year I'm celebrating by raising money for the Lyon-Martin Clinic in San Francisco, a health clinic that provides informed-consent-based care on a sliding-scale basis and turns no trans person away; they also serve cis women, with a particular focus on lesbian and bi women. I started my medical transition at Lyon-Martin, so it's both personally significant to me and an institution that's very important in the process of establishing informed consent as the only way to provide needed care to trans people.

If you want to donate (which you can do anonymously or not), please go to my Causes page. All donations help, no matter how big or small.

Also, I'm still looking for housing in San Francisco or Oakland starting January 1, 2012 -- if you know of an available apartment or roommate situation, please let me know!
tim: "System Status: Degraded" (degraded)
"Whenever I hear some white queer talking about moving to Portland, I assume it’s because they want to be among their white brethren, because there are more white queers in portland than there are people of color. I wish them good luck in their separatist project in getting away from the rest of us. None of you white people INTEND to do this, but it’s what it amounts to and it’s sort of hilarious whenever I hear one of you say that you’re committed to anti-racism, and you also wish you could move to Portland, thus making the blinding whiteness of that city even more pristine.

This is pretty much common knowledge about Portland, isn’t it? When I was growing up, Portland was where the racist skins came to visit from and beat up people. And even Wikipedia says: “While Portland’s diversity was historically comparable to metro Seattle and Salt Lake City, those areas grew more diverse in the late 1990s and 2000s. Portland not only remains white, but migration to Portland is disproportionately white, at least partly because Portland is attractive to young college-educated Americans, a group which is overwhelmingly white.”

IT’S GETTING WHITER ALL THE TIME! I am not surprised you couldn’t find any trans women of color."

-- Coxy Rawr Michael, commenting on PrettyQueer

An equally awesome reply:

"I haven’t ever commented here, but I have to just AMEN this comment about Portland as a white queer haven.

As a queer woman of color, I am consistently astounded by the way that white queers who flock to Portland loooove to talk a good game about their anti-racist credentials, all the while never acknowledging that their voluntary migration to an incredibly white and super racist city that I have NEVER heard a good thing about from my queer POC friends might be part of the problem.

I mean, I get it – people hate to take macro-level responsibility for the potentially oppressive impact of their individual choices, but god damn. Once in my life, I would love to hear from a white queer who claims anti-racist politics what the draw is…"

-- PissyQWOC, ibid
tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (work)
I'm starting a job as a software engineer on the Research Team at Mozilla (where I interned from March to September this year), on January 2, 2012. I'll be working mainly from the San Francisco office and living in San Francisco (though I don't have housing yet -- let me know if you know of someone looking for a roommate or lease-taker-over!), spending some percentage of my time in the Mountain View office.

My term of employment concludes at the end of March, so anything is possible after that. Goat farming? Bicycle messengering? Returning to grad school, this time with mace? Or proving myself irreplaceable? Stay tuned...

What's in store for me in the meantime? Well, it probably looks a lot like this:

Lulu

(I'm the gray and white furry one with the green eyes.)
tim: "System Status: Degraded" (degraded)
I hate to say one more thing about Steve Jobs. But last night, after I lost cell phone signal while driving through wildest Marin and could no longer listen to Pandora, I turned on the radio to an archived Fresh Air interview with Jobs from 1996.

And he had all these inspiring things to say about how at Apple, they believed that everybody should be able to use technology, and that what's more, math and science should be for everybody.

But he didn't really mean it, because the people who work in factories in China assembling Apple products don't get to learn about technology or science, because they're paid such low wages that they can't possibly have time to. This is not an accident; without exploiting people this way, Apple wouldn't be able to sell you the products that entertain you so (including the one I'm using to type this post) at such low prices.

Nor do the people who suffer ill health or early death because of environmental degradation caused by Apple's manufacturing processes (they have one of the worst environmental records in the tech industry) get the chance to enjoy the delights of math, science and technology.

So when Steve Jobs said that technology was for everybody, he didn't really mean everybody, and he knew it, and everyone he was speaking to knew it. "Everybody" means white people, upper-middle-class people, Westerners, people who have privilege. Everybody else just doesn't quite make the grade of being considered "people".

And that's one of the fundamental problems I have with working in the field that I hypothetically still work in: you have to listen to people saying all these grand things about access to technology, and you have to know that those grand things fall somewhere in between meaningless and mendacious because they're deeply predicated on the maintenance of social inequality. You have to know it without talking about it, because the price of talking about it falls somewhere in between hostility and banishment. You have to embrace hypocrisy.

Profile

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Tim Chevalier

November 2021

S M T W T F S
 123456
78 910111213
14151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags