<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Tim&apos;s journal</title>
  <link>http://tim.dreamwidth.org/</link>
  <description>Tim&apos;s journal - Dreamwidth Studios</description>
  <lastBuildDate>Fri, 18 May 2012 08:32:58 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>tim</lj:journal>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='self' href='http://tim.dreamwidth.org/data/rss' />
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://www.dreamwidth.org/userpic/940054/234887</url>
    <title>Tim&apos;s journal</title>
    <link>http://tim.dreamwidth.org/</link>
    <width>94</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1742061.html</guid>
  <pubDate>Fri, 18 May 2012 08:32:58 GMT</pubDate>
  <title>&quot;Success is somebody else&apos;s failure.&quot;</title>
  <link>http://tim.dreamwidth.org/1742061.html</link>
  <description>&quot;I hope you live without the need to dominate, and without the need to be dominated. I hope you are never victims, but I hope you have no power over other people. And when you fail, and are defeated, and in pain, and in the dark, then I hope you will remember that darkness is your country, where you live, where no wars are fought and no wars are won, but where the future is.&quot;&lt;br /&gt;&lt;br /&gt;-- Ursula K. Le Guin, &lt;a href=&quot;http://www.pacifict.com/ron/Mills.html&quot;&gt;commencement speech at Mills College, 1983&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;(Her comment about &quot;separatism&quot; strikes me as dancing at the edge of trans erasure... but then, it&apos;s their world. As with many things, good if you ignore that.&lt;br /&gt;&lt;br /&gt;And you know, I hope she wasn&apos;t talking about the need to dominate and/or be dominated in an overarchingly affectionate context of consent, but one just never knows that either.)&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1742061&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1742061.html</comments>
  <category>quotations</category>
  <category>failure</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1741740.html</guid>
  <pubDate>Fri, 18 May 2012 06:21:38 GMT</pubDate>
  <title>TMI: Appetite for destructors</title>
  <link>http://tim.dreamwidth.org/1741740.html</link>
  <description>&lt;h4&gt;Yesterday&lt;/h4&gt;

Finishing up porting resource tests to use destructors. I got behavior I couldn&apos;t understand
with one test, &lt;tt&gt;resource-cycle&lt;/tt&gt;, so I&apos;ll ignore that for now and move on to &lt;tt&gt;resource-generic&lt;/tt&gt;.

&lt;p&gt;Aside from having to prefix every field reference with &lt;tt&gt;self.&lt;/tt&gt;, the porting itself is pretty straightforward. (As I&apos;d expect, since a class with a destructor is a pretty straightforward generalization of a resource.)

&lt;p&gt;Random thought: I love seeing an internal compiler error -- it&apos;s much better than a program segfaulting -- because I know it&apos;s absolutely a bug no matter what, and that I can get a backtrace that will probably be helpful. In this case it was a non-exhaustive match in &lt;tt&gt;type_use::type_uses_for&lt;/tt&gt;. Yet another reason why I despise &lt;tt&gt;alt check&lt;/tt&gt; (Rust&apos;s non-exhaustive pattern-matching construct, like an incomplete &lt;tt&gt;case&lt;/tt&gt; in Haskell) -- when I&apos;m extending the compiler with new variants for a data type, I get less help from the compiler than I should otherwise.
&lt;p&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1741740.html#cutid1&quot;&gt;Cut for length&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;
&lt;p&gt;Times when I have to remember extra hard to redact my debug statements before checking in code: when I&apos;m feeling inarticulate and just use &lt;tt&gt;#debug(&quot;meow&quot;)&lt;/tt&gt; to denote which &lt;tt&gt;alt&lt;/tt&gt; pattern matched.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1741740&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1741740.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1741294.html</guid>
  <pubDate>Wed, 16 May 2012 05:29:35 GMT</pubDate>
  <title>TMI: Destructors</title>
  <link>http://tim.dreamwidth.org/1741294.html</link>
  <description>&lt;p&gt;Yesterday and today, I worked on adding destructors to classes. A destructor is a method that can&apos;t be named directly, to which the compiler inserts a call whenever the memory for the class is about to be freed (so, whenever its reference count becomes zero). Here&apos;s a super simple example of a class with a destructor:
&lt;pre&gt;
class shrinky_pointer {
  let i: @@mut int;
  fn look_at() -&amp;gt; int { ret **(self.i); }
  new(i: @@mut int) { self.i = i; }
  drop { **(self.i) -= 1; }
}
&lt;/pre&gt;
&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1741294.html#cutid1&quot;&gt;Read more...&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1741294&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1741294.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1740119.html</guid>
  <pubDate>Wed, 16 May 2012 05:15:45 GMT</pubDate>
  <title>TMI: Fun with boxed classes</title>
  <link>http://tim.dreamwidth.org/1740119.html</link>
  <description>I&apos;ve been writing posts but not posting them for the past couple days, so now I&apos;m catching up. This one is from Tuedsay, May 8.&lt;br /&gt;&lt;br /&gt;Tuesday featured a marathon meeting session in the morning, after I continued working on heap-allocated classes. I started out being kind of puzzled about how to annotate classes&lt;br /&gt;in the AST to indicate whether they&apos;re allocated in the stack or the heap -- because they&lt;br /&gt;already have &lt;a href=&quot;http://smallcultfollowing.com/babysteps/blog/2012/02/15/regions-lite-dot-dot-dot-ish/&quot;&gt;region parameter&lt;/a&gt; annotations.&lt;br /&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1740119.html#cutid1&quot;&gt;Read more...&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1740119&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1740119.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1739777.html</guid>
  <pubDate>Sun, 13 May 2012 23:21:38 GMT</pubDate>
  <title>Against my better judgment, I&apos;m not friends-locking this one</title>
  <link>http://tim.dreamwidth.org/1739777.html</link>
  <description>I used to think that arguing on the Internet was a way of procrastinating, and that if I got into an argument it would distract me for the rest of the afternoon because hey, I&apos;m a lazy procrastinator. Now I&apos;m not so sure. I don&apos;t want to appropriate the language of triggers, because I&apos;d rather leave that for the people who actually have PTSD (and I&apos;m not one of them, as far as I know). But I am &lt;i&gt;tempted&lt;/i&gt; to appropriate it because I&apos;m not sure how else I can talk about the physical effect on me that it has when someone makes a boundary-crossing remark (usually not personally directed at me, but at a group I&apos;m part of, for example); I engage because it&apos;s my reflex to; and they respond by shitting all over boundaries even more so. It&apos;s a heart-racing, dreading-opening-up-the-next-reply but doing it anyway and then it just gets worse kind of thing. And then I either stay in the argument, or do other equally non-productive things because my ability to focus on anything else is ruined for the next few minutes, the next few hours, or the whole day, depending.&lt;br /&gt;&lt;br /&gt;Knowing what I know now, I&apos;m less inclined to explain it in terms of conscious mechanisms (I don&apos;t want to do work -- or I don&apos;t want to go to bed -- so I procrastinate by seeking out wrong people on the Internet so I can tell them they&apos;re wrong) and more inclined to explain it in terms of subconscious mechanisms. Except I don&apos;t know how the latter work, or how to talk about it, or whether that even applies to me because my mental health is &quot;not that bad&quot;. This doesn&apos;t tend to happen to me when arguing about anything work-related, and it doesn&apos;t even always happen when arguing about politics. That, I think, has less to do with the content, and more to do with how invalidating the other person is being (which is why the Mozilla code of conduct discussions ruined my ability to do much work for a few weeks -- but that&apos;s another post I&apos;m still writing); while there are some technical communities where emotional invalidation is common in technical discussions, I&apos;m fortunate to be in one that&apos;s not like that. (It&apos;s happened a few times in work-related discussions at places where I used to work; essentially hasn&apos;t happened in those discussions in the past year, though.)&lt;br /&gt;&lt;br /&gt;I don&apos;t recall being &lt;i&gt;actively&lt;/i&gt; invalidated or dismissed as being a big part of my early life (although being ignored sure was). I&apos;m almost tempted to posit some sort of collective memory shared by abuse survivors that would explain why it&apos;s so upsetting to me to feel like I&apos;m actively not being listened to or not being heard (when someone replies to what they think I said, or to what I represent in their mind, rather than what I said), when I don&apos;t have clear memories of having experienced that early on in life. Then again, there&apos;s a lot I can&apos;t remember.&lt;br /&gt;&lt;br /&gt;Does anyone have ways of explaining / thinking about this kind of thing that doesn&apos;t step on anyone else&apos;s feet? I&apos;m not sure any of this is even understandable; hi.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1739777&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1739777.html</comments>
  <category>the internet is a series of tubes</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1739336.html</guid>
  <pubDate>Tue, 08 May 2012 00:17:02 GMT</pubDate>
  <title>TMI: Fun with polymorphism</title>
  <link>http://tim.dreamwidth.org/1739336.html</link>
  <description>&lt;p&gt;I didn&apos;t get to writing a blog post on Friday, since I had a couple of
interruptions and didn&apos;t get that much code written anyway. The main
news from Friday is that classes can now implement parameterized
interfaces! This was a pretty minor fix. That is to say, I can write:

&lt;pre&gt;
class cat implements map&amp;lt;int, str&amp;gt; {
... }
&lt;/pre&gt;

&lt;p&gt;which says that the type &lt;tt&gt;cat&lt;/tt&gt; supports table- or map-like
operations mapping integer keys onto string variables. Why a cat would
support that, I don&apos;t know, but it&apos;s just an example. I went on to
write a test like this:
&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1739336.html#cutid1&quot;&gt;Cut for length&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1739336&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1739336.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1738870.html</guid>
  <pubDate>Fri, 04 May 2012 03:13:40 GMT</pubDate>
  <title>TMI: Rust bureaucracy, day 3</title>
  <link>http://tim.dreamwidth.org/1738870.html</link>
  <description>Today is Thursday, and Thursday is bug-triage day. Each day of the week gets assigned to one of the core paid Rust contributors to go through the bug database and triage newer bugs as well as reviewing older ones, looking for duplicates, closing obsolete bugs, and so on. When there&apos;s any time left, I grep for the string &quot;FIXME&quot; in the code -- not everybody uses &quot;FIXME&quot;, but there&apos;s been more than enough FIXMEs to keep me busy -- which usually denotes either a minor issue that can be fixed in minutes (because it was blocked on another compiler feature that&apos;s since been completed), or something subtle that unexpectedly ends up taking days. I &lt;i&gt;try&lt;/i&gt; to nudge myself towards just filing a new issue in the issue tracker (the goal is to have every FIXME in the code map to at least one issue in the issue tracker), but it&apos;s hard to resist that &quot;I can do it!&quot; urge that usually sends me too deep down into some rabbit hole. &lt;br /&gt;&lt;br /&gt;I&apos;ve been &lt;a href=&quot;https://github.com/mozilla/rust/wiki/Note-bug-janitors&quot;&gt;keeping track&lt;/a&gt; of what bug ranges I review, and today I went over the most recent 34 issues. I should probably start going over the older issues again, since it&apos;s been six weeks since I looked at some of them and probably some things have changed. It&apos;s always a bit difficult to figure out who to assign bugs to, since our team of paid contributors is still pretty small, and I generally don&apos;t want to drop work non-consensually on the volunteer contributors. Assigning milestones is a bit random as well, but I figure if I make a mistake, it&apos;ll eventually get noticed in a group meeting and we&apos;ll move something to a different milestone. I wish github&apos;s issue tracker had a notion of priorities (&quot;trivial&quot;, &quot;important&quot;, &quot;crucial&quot;) as well as milestones -- since some of the issues arising from FIXMEs, especially, can be pretty trivial, but I still want them to be on the record -- but it doesn&apos;t. So if at all possible, I try to make sure everything is milestoned (except for RFCs, enhancements, and &quot;wishlist&quot; items -- I see &quot;wishlist&quot; as like &quot;enhancement&quot;, but even more optional); I also try to make sure bugs are assigned (using &quot;git blame&quot; to figure out who last touched the relevant bit of code, although it&apos;s misleading for occasions when we move directories around and do big reformats), though I&apos;m more ok with leaving things unassigned than unmilestoned. (After all, unassigned bugs are openings for new contributors to get involved!)&lt;br /&gt;&lt;br /&gt;Then I started in on FIXMEs. Most of the ones today were either comments I didn&apos;t understand, or quickly proved to be way too complicated (like, when I removed an unused constant -- should have been trivial -- promptly causing a scary memory corruption error, probably because the RTS also depended on the &quot;unused&quot; constant). So I filed issues. There were a few minor issues that I could fix quickly, and that was satisfying, like moving code over to use &lt;a href=&quot;http://brson.github.com/rust/2012/04/05/new-for-loops/&quot;&gt;new for loops&lt;/a&gt;. When I left the office I had gotten started on one of those bugs where you pull the thread in the sweater and the entire thing unravels (changing some constants from int-type to unsigned-int-type in the back-end -- I think it should be done, but it&apos;s death by a thousand type errors). I won&apos;t detail the other bugs I fixed and filed, because that would, maybe, be too much detail even for &lt;i&gt;this&lt;/i&gt; blog. I find joy and satisfaction in mundane, routine work. It&apos;s something I can do, and it&apos;s always still there for me no matter how long I&apos;ve been away. And even though my highfalutin job title is &quot;Research Engineer&quot;, it&apos;s my feeling that most of the effort involved in turning research into a thing that people can use (whether that thing is a programming language, or a compiler for it, or a browser implemented in the language) &lt;i&gt;is&lt;/i&gt; the mundane, routine details that you&apos;re just Not Allowed to be too interested in when you&apos;re a grad student. Something feels right to me about giving myself over to that unglamorous work now. So while I might say that my blog posts are boring, that&apos;s just because I don&apos;t automatically expect other people to care just because I care. I&apos;ve been many things at work over the past few months, but I haven&apos;t been bored.&lt;br /&gt;&lt;br /&gt;...Except when something&apos;s recompiling and I don&apos;t have the energy to context-switch when I know I&apos;ll have to context-switch again in 2 or 3 minutes. Then I&apos;m bored.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1738870&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1738870.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1738719.html</guid>
  <pubDate>Fri, 04 May 2012 00:35:00 GMT</pubDate>
  <title>Admin: The Open Web has its limitations</title>
  <link>http://tim.dreamwidth.org/1738719.html</link>
  <description>It looks like a good time for me to start auto-screening comments from people who are not on my Access List. I&apos;ll approve all comments that contribute to the discussion (see &lt;a href=&quot;http://tim.dreamwidth.org/profile&quot;&gt;my userinfo&lt;/a&gt; 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&apos;m on vacation somewhere without Internet access, which basically never happens.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1738719&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1738719.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1738269.html</guid>
  <pubDate>Thu, 03 May 2012 23:29:14 GMT</pubDate>
  <title>If I agreed with you, we&apos;d both be wrong</title>
  <link>http://tim.dreamwidth.org/1738269.html</link>
  <description>The problem with pointing out that there&apos;s something a little bit off about somebody telling you to be more respectful, and telling you to (verbatim) &quot;shut the fuck up&quot; in the same paragraph, is that there&apos;s just no way to point that out without looking like a jerk.&lt;br /&gt;&lt;br /&gt;(Yes, I know that it&apos;s probably just as obvious to everybody else as it is to me, and hence there&apos;s no need to point it out -- but I&apos;m a programmer; my job is to restate the obvious.)&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1738269&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1738269.html</comments>
  <category>the internet is a series of tubes</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1738168.html</guid>
  <pubDate>Thu, 03 May 2012 05:16:47 GMT</pubDate>
  <title>TMI: blogging about Rust hacking, day 2</title>
  <link>http://tim.dreamwidth.org/1738168.html</link>
  <description>&lt;p&gt;I&apos;m going to see if I can productively write these posts a bit at a time, during long compiles. Whee!

&lt;p&gt;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:

&lt;pre&gt;
// 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&amp;lt;T: to_str&amp;gt;(thing: T, expected: str) {
  let actual = thing.to_str();
  #debug(&quot;%s&quot;, actual);
  assert(actual == expected);
}

fn main() {
  let nyan : to_str  = cat(0u, 2, &quot;nyan&quot;) as to_str;
  print_out(nyan, &quot;nyan&quot;);
}
&lt;/pre&gt;

&lt;p&gt;I&apos;m going to make the bold assumption that you already can read Rust (but if not, there&apos;s a &lt;a href=&quot;http://doc.rust-lang.org/doc/tutorial.html&quot;&gt;tutorial&lt;/a&gt; that may or may not reflect the version of the language I&apos;m using.) The test depends on an auxiliary crate; the &quot;aux-build&quot; directive in a comment tells our test runner to build it; the &lt;tt&gt;use&lt;/tt&gt; directive links this program with the other crate, called &lt;tt&gt;cci_class_cast&lt;/tt&gt;, and finally, the &lt;tt&gt;import&lt;/tt&gt; directive imports the module &lt;tt&gt;kitty&lt;/tt&gt; within the crate &lt;tt&gt;cci_class_cast&lt;/tt&gt;. And yes, I try to make as many of my examples as possible involve cats. There&apos;s something wrong with that?
&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1738168.html#cutid1&quot;&gt;Cut for length&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1738168&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1738168.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1737834.html</guid>
  <pubDate>Wed, 02 May 2012 01:42:32 GMT</pubDate>
  <title>TMI: or, toward a blog about Rust hacking</title>
  <link>http://tim.dreamwidth.org/1737834.html</link>
  <description>&lt;p&gt;In general, I don&apos;t blog about work. That&apos;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&apos;m in because of that -- and believe me, I have. On the other
hand, I &lt;i&gt;do&lt;/i&gt; stay up late working because I &lt;i&gt;have&lt;/i&gt; to know the
solution to this problem rather than because there&apos;s a deadline (deadlines?)
on a regular basis. And when I do find out the solution, I&apos;m usually too tired
to write about it. So there&apos;s that.

&lt;p&gt;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&apos;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&apos;ll be
forced to write clearly enough that others might have a chance at
understanding it -- which means I&apos;ll probably be able to understand it later
myself, even if no one else ever does. So there&apos;s also that.

&lt;p&gt;&lt;a href=&quot;http://smallcultfollowing.com/babysteps/&quot;&gt;Some of&lt;/a&gt; my &lt;a href=&quot;http://brson.github.com/&quot;&gt;colleagues&lt;/a&gt; do a really great job writing
beautifully detailed, explanatory posts, but I&apos;m not going to try to do that,
because it&apos;s just too intimidating. Instead, I&apos;m going to write as close to
every day as possible (though I won&apos;t beat myself up too much if I miss a day), as much as possible, and as uninterestingly as
possible. You have been warned.

&lt;p&gt;Today, I went back to working on implementing &lt;a href=&quot;https://github.com/mozilla/rust/issues/1726&quot;&gt;classes in Rust&lt;/a&gt;, as
I&apos;ve been doing for more or less the past four months. (The last two days of
last week, I took some time to do &lt;a href=&quot;https://github.com/mozilla/rust/wiki/Note-bug-janitors&quot;&gt;bug triage&lt;/a&gt;
and to fix &lt;a href=&quot;https://github.com/mozilla/rust/issues/2316&quot;&gt;what I
thought was going to be an easy bug&lt;/a&gt; (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&apos;re
trying to add support for a new feature -- in this case, the ability to cast a
class to an &lt;a href=&quot;http://smallcultfollowing.com/babysteps/blog/2012/04/09/rusts-object-system/&quot;&gt;interface
type&lt;/a&gt; -- but it breaks everything and you don&apos;t know why. In this case, I
was trying to unify the code that handles &lt;a href=&quot;http://smallcultfollowing.com/babysteps/blog/2012/04/09/rusts-object-system/&quot;&gt;implementations&lt;/a&gt; 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.

&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1737834.html#cutid1&quot;&gt;Cut for length&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1737834&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1737834.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1737448.html</guid>
  <pubDate>Tue, 24 Apr 2012 23:39:27 GMT</pubDate>
  <title>Spot-on</title>
  <link>http://tim.dreamwidth.org/1737448.html</link>
  <description>&lt;blockquote&gt;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.&lt;br /&gt;&lt;br /&gt;I don’t know where that struggle will take me, right now.&lt;/blockquote&gt;&lt;br /&gt;-- GemmaM, in &lt;a href=&quot;http://andromedayelton.com/blog/2012/04/06/my-first-hackathon-or-gender-status-code-and-sitting-at-the-table/#comment-1113&quot;&gt;a comment&lt;/a&gt; on a post about being a woman in tech.&lt;br /&gt;&lt;br /&gt;I&apos;m not a woman, but that&apos;s still how I feel in being in tech.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1737448&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1737448.html</comments>
  <category>work</category>
  <category>software</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1737091.html</guid>
  <pubDate>Sat, 21 Apr 2012 19:05:38 GMT</pubDate>
  <title>Six questions from miang</title>
  <link>http://tim.dreamwidth.org/1737091.html</link>
  <description>&lt;i&gt;0. How old were you when you first learned about sex (the relational kind, not the personal characteristic), and under what circumstances?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In your edit, you said you thought you asked me this before, but I don&apos;t think you ever did! Hence, bonus question.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1737091.html#cutid1&quot;&gt;Unsurprisingly, the answer may be a bit TMI&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;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 &apos;connecting with others&apos;?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Well, first, exercising? Heh. &lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___2&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1737091.html#cutid2&quot;&gt;The rest of this is not at all TMI, but I&apos;m still cutting for length.&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___2&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1737091&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1737091.html</comments>
  <category>memes</category>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>10</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1736545.html</guid>
  <pubDate>Sun, 15 Apr 2012 23:08:18 GMT</pubDate>
  <title>Five more questions!</title>
  <link>http://tim.dreamwidth.org/1736545.html</link>
  <description>(aka &quot;no, I really don&apos;t want it to be 2003 again except in the sense of having meaningful discussions on LiveJournal.&quot;) These from &lt;span style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://safiiru.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;http://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://safiiru.dreamwidth.org/&apos;&gt;&lt;b&gt;safiiru&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, who happened to overlap (mostly) with stuff I&apos;ve been thinking about anyway. Well-done :-D&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;Of all the places you&apos;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.)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I try to aspire to a higher standard than &quot;not soul-crushing&quot;, you know :P That said, I found Cambridge, England to be very pleasant. It&apos;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&apos;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&apos;s changed.)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;em&gt;What is it like working at Mozilla on a day-to-day basis?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Leaving out the recent political tensions there (because that&apos;s the other post I&apos;m working on): &lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1736545.html#cutid1&quot;&gt;Read more...&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1736545&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1736545.html</comments>
  <category>memes</category>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1736324.html</guid>
  <pubDate>Fri, 13 Apr 2012 06:48:27 GMT</pubDate>
  <title>Dept. of Polling</title>
  <link>http://tim.dreamwidth.org/1736324.html</link>
  <description>&lt;div&gt;&lt;a href=&quot;http://www.dreamwidth.org/poll/?id=10146&quot;&gt;View Poll: #10146&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1736324&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1736324.html</comments>
  <category>polls</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1735978.html</guid>
  <pubDate>Sun, 01 Apr 2012 18:16:17 GMT</pubDate>
  <title>#firstworldproblems</title>
  <link>http://tim.dreamwidth.org/1735978.html</link>
  <description>Folks with animals: thoughts on pet health insurance? I&apos;ve heard conflicting things (&quot;you must get it&quot; from some people, &quot;it works better to set aside the same amount of money in a savings account&quot; from others).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I figure if I adopt an animal, it&apos;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.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1735978&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1735978.html</comments>
  <category>dear lazywebs</category>
  <lj:security>public</lj:security>
  <lj:reply-count>12</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1735746.html</guid>
  <pubDate>Wed, 28 Mar 2012 01:52:29 GMT</pubDate>
  <title>Five questions from hsifyppah</title>
  <link>http://tim.dreamwidth.org/1735746.html</link>
  <description>I thought maybe I should post about something other than kyriarchy once in a while, so I bring you five questions asked by &lt;span style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://hsifyppah.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://www.dreamwidth.org/img/external/lj-userinfo.gif&apos; alt=&apos;[livejournal.com profile] &apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; width=&apos;17&apos; height=&apos;17&apos;/&gt;&lt;/a&gt;&lt;a href=&apos;http://hsifyppah.livejournal.com/&apos;&gt;&lt;b&gt;hsifyppah&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, in a meme last seen sometime around 2005 or so.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;1. Can we have a KITTEN PICTURE!!!!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I give you this one of the kittens locked in mortal combat on my bed this morning:&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/46965126@N02/6876517920/&quot; title=&quot;Kittens!&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7080/6876517920_a3107d6069.jpg&quot; width=&quot;500&quot; height=&quot;281&quot; alt=&quot;Two kittens doing a fight&quot;&gt;&lt;/img&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;2. The local transit agency has, surprisingly, adopted your sarcastic proposal for a new transit line.  What&apos;s the technology -  Soap-box racing?  Bumper-cars?  Bunny-drawn carriage?  And where does it run?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I&apos;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&apos;s not local. Whatevs!)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;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&apos;s pretend &quot;planty&quot; is a real word.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;It would be a tree satisfying the red-black tree properties. (&quot;I see a red node and I want it to turn black...&quot;)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;4. What novel have you read the most times?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;_The World According to Garp_ by John Irving (I&apos;ve read it about five times), but I&apos;m not that sure I would like it if I read it again. I think I&apos;ve read _The Rebel Angels_ by Robertson Davies and _Infinite Jest_ by David Foster Wallace three times each. I haven&apos;t read much fiction in a while... I keep feeling like there&apos;s so much I don&apos;t know that any time I spend reading fiction takes away time I could be spending reading nonfiction.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;5. You&apos;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?&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Durian, because it&apos;s DELICIOUS. I don&apos;t get the people who don&apos;t like the smell.&lt;br /&gt;&lt;br /&gt;I believe this is where you&apos;re supposed to ask me to give you five questions. If you ask, I&apos;ll try my best!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1735746&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1735746.html</comments>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>13</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1735113.html</guid>
  <pubDate>Wed, 07 Mar 2012 17:11:51 GMT</pubDate>
  <title>Prove You&apos;re Human</title>
  <link>http://tim.dreamwidth.org/1735113.html</link>
  <description>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 &lt;a href=&quot;http://blog.mozilla.com/planet/2012/03/06/concerns-with-planet-content/&quot;&gt;Planet Mozilla&lt;/a&gt; admin post before; most of the subsequent comments have defended &quot;free speech&quot; (which is to say, bullies&apos; right to bully) and demanded that those of us who are LGBTQ prove our humanity. I had this to say in response:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Most of the replies I&apos;m seeing are replies that ask me to engage in a debate to prove that I&apos;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&apos;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&apos;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&apos;re not, apparently, welcome or equal.&lt;/blockquote&gt;&lt;br /&gt;The blog software just gave me a blank page when I hit submit, so I&apos;m not sure if the comment went through; I&apos;m posting it here for posterity.&lt;br /&gt;&lt;br /&gt;Of course, it&apos;s not that I&apos;m surprised that any &lt;i&gt;individual&lt;/i&gt; in my organization holds views that are inimical to my life and existence. Individuals are entitled to hold those views and express them &lt;i&gt;using personal resources, during personal time&lt;/i&gt;. What I&apos;m surprised about is that the &lt;i&gt;institution&lt;/i&gt; has so far vociferously defended using &lt;i&gt;institutional&lt;/i&gt; resources to promote the view that says I should be stamped out. &lt;br /&gt;&lt;br /&gt;If you&apos;re hiring software engineers in the Bay Area (especially to do work on advanced programming languages) and your workplace doesn&apos;t tolerate hate speech against people in any protected class, &lt;a href=&quot;http://lafalafu.com/krc/tim-chevalier-resume-2012.pdf&quot;&gt;please take a look at my r&amp;eacute;sum&amp;eacute;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Edit: I have always maintained an internal rule that I&apos;ll delete any comments on this journal that use any of the silencing tactics listed at &lt;a href=&quot;http://derailingfordummies.com/&quot;&gt;Derailing for Dummies&lt;/a&gt; or the &lt;a href=&quot;http://geekfeminism.wikia.com/wiki/Category:Silencing_tactics&quot;&gt;Geek Feminism Wiki&lt;/a&gt;&apos;s list of silencing tactics. I&apos;ve never had to employ that rule until now. There is plenty of derailing and silencing speech everywhere on the Internet; my blog doesn&apos;t need to be a place to host it.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1735113&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1735113.html</comments>
  <category>queer</category>
  <category>work</category>
  <lj:security>public</lj:security>
  <lj:reply-count>19</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1734696.html</guid>
  <pubDate>Wed, 07 Mar 2012 07:27:29 GMT</pubDate>
  <title>Hate Speech Is Not Free Speech</title>
  <link>http://tim.dreamwidth.org/1734696.html</link>
  <description>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.&lt;br /&gt;&lt;br /&gt;Gerv&apos;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&apos;m calling it hate speech because saying that I don&apos;t deserve to have a fundamental human right is saying that I&apos;m not a person. If that&apos;s not clear to you, perhaps you have a hard time empathizing with people who aren&apos;t as privileged as yourself. I would suggest you work on that; it&apos;s not really my job to help you learn.&lt;br /&gt;&lt;br /&gt;The Mozilla staff members who administer Planet Mozilla responded by essentially &lt;a href=&quot;http://blog.mozilla.com/planet/2012/03/06/concerns-with-planet-content/&quot;&gt;standing behind Gerv&apos;s hate speech&lt;/a&gt; as published under the Mozilla banner. Again, Gerv has the right to say whatever he wants about how I&apos;m not a human being, but as a company, Mozilla can make a choice about what kind of content to publish under their name. &lt;br /&gt;&lt;br /&gt;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: &lt;a href=&quot;http://blog.mozilla.com/planet/2012/03/06/concerns-with-planet-content/&quot;&gt;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.&quot;&lt;/a&gt; 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). &lt;br /&gt;&lt;br /&gt;Whatever it accomplishes for Mozilla&apos;s mission of protecting the open Web to disseminate speech that denies the humanity of a marginalized minority group, I guess that&apos;s more important than affirming that Mozilla values the contributions made by its LGBTQ employees and volunteers. To me, defending rather than repudiating Gerv&apos;s hateful post says that my contributions, and those of every other LGBTQ contributor at Mozilla, aren&apos;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.&lt;br /&gt;&lt;br /&gt;I can&apos;t help but see parallels with &lt;a href=&quot;http://tim.dreamwidth.org/1729048.html&quot;&gt;my experience at PSU&lt;/a&gt; -- in that case, authority figures made the judgment that another grad student&apos;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&apos;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&apos;s an official Mozilla feed) is being deemed greater than the value of everything that LGBTQ contributors have to offer to Mozilla.&lt;br /&gt;&lt;br /&gt;If you think that the term &quot;hate speech&quot; 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&apos;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 &lt;i&gt;as a group&lt;/i&gt; and tears down their humanity (for example, by suggesting they don&apos;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 &lt;i&gt;offensive&lt;/i&gt; 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&apos;re not worthy of basic rights are the theory, and a fist to the face is the practice. Each incites the other.&lt;br /&gt;&lt;br /&gt;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&apos;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&apos;m not so sure. See, the thing is, you can&apos;t be neutral when a bully is bullying -- being neutral means taking the bully&apos;s side. You can&apos;t cite &quot;free speech&quot; 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&apos;m not a person, that silences my voice.&lt;br /&gt;&lt;br /&gt;I&apos;m using the &quot;research&quot; 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 &lt;i&gt;doing&lt;/i&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; Edited to remove the name of a particular person who I had mistakenly attributed more to than he was actually responsible for.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1734696&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1734696.html</comments>
  <category>research</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1734500.html</guid>
  <pubDate>Mon, 20 Feb 2012 19:12:56 GMT</pubDate>
  <title>Article and comment</title>
  <link>http://tim.dreamwidth.org/1734500.html</link>
  <description>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).&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.wellesleynewsonline.com/news/students-petition-to-make-wellesley-co-ed-1.2782653&quot;&gt;The article&lt;/a&gt; was published last week, but unfortunately, it appears I didn&apos;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&apos;t. I wrote the following email to Zoe:&lt;br /&gt;&lt;blockquote&gt;I&apos;m afraid that something I wrote in my email may have&lt;br /&gt;been unclear, because of this quote:&lt;br /&gt;&lt;br /&gt;&apos;Because transgender women are also allowed to apply to Wellesley,&lt;br /&gt;Chevalier said that Wellesley &quot;need[s] to be honest…and stop referring&lt;br /&gt;to [itself] as a single-sex college.&apos;&quot;&lt;br /&gt;&lt;br /&gt;The quote makes it look like I believe that trans women are not women,&lt;br /&gt;and that&apos;s absolutely something I do not believe. Trans women don&apos;t&lt;br /&gt;make Wellesley not-a-single-sex-college; trans *men* do. The quote&lt;br /&gt;would reflect what I believe if &quot;women&quot; was changed to &quot;men&quot;. Would&lt;br /&gt;you mind printing a correction? I would hate for anyone to come away&lt;br /&gt;from the article thinking that I said something that was so erasing of&lt;br /&gt;trans women&apos;s personhood.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;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&apos;s also a bit confusing) makes Wellesley not-single-sex.&lt;br /&gt;&lt;br /&gt;If anyone is interested, my original reply from which the quotes from me are derived:&lt;br /&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1734500.html#cutid1&quot;&gt;Read more...&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1734500&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1734500.html</comments>
  <category>gender</category>
  <category>wellesley</category>
  <category>trans</category>
  <lj:security>public</lj:security>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1734100.html</guid>
  <pubDate>Wed, 15 Feb 2012 04:33:56 GMT</pubDate>
  <title>Phallentine&apos;s Day[*]</title>
  <link>http://tim.dreamwidth.org/1734100.html</link>
  <description>Remember when I &lt;a href=&quot;http://tim.dreamwidth.org/1733535.html&quot;&gt;posted about having surgery?&lt;/a&gt; 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&apos;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 &quot;gross&quot; sort than the &quot;sexual&quot; sort, so you have been warned.&lt;br /&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1734100.html#cutid1&quot;&gt;How it went&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1734100&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1734100.html</comments>
  <category>surgery</category>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1733535.html</guid>
  <pubDate>Fri, 20 Jan 2012 09:05:36 GMT</pubDate>
  <title>Talkin&apos; About My Crotch</title>
  <link>http://tim.dreamwidth.org/1733535.html</link>
  <description>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&apos;m having genital reconstructive surgery. I&apos;m a person who doesn&apos;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&apos;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&apos;t care what&apos;s going on in and around my crotch -- here&apos;s your chance to opt out. Don&apos;t follow the link.&lt;br /&gt;&lt;span class=&quot;cuttag_container&quot;&gt;&lt;span style=&quot;display: none;&quot; id=&quot;span-cuttag___1&quot; class=&quot;cuttag&quot;&gt;&lt;/span&gt;&lt;b&gt;(&amp;nbsp;&lt;a href=&quot;http://tim.dreamwidth.org/1733535.html#cutid1&quot;&gt;For the rest of you...&lt;/a&gt;&amp;nbsp;)&lt;/b&gt;&lt;div style=&quot;display: none;&quot; id=&quot;div-cuttag___1&quot; aria-live=&quot;assertive&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1733535&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1733535.html</comments>
  <category>health</category>
  <category>surgery</category>
  <category>trans</category>
  <lj:security>public</lj:security>
  <lj:reply-count>48</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1733064.html</guid>
  <pubDate>Sat, 24 Dec 2011 17:56:37 GMT</pubDate>
  <title>Merry Christmas!</title>
  <link>http://tim.dreamwidth.org/1733064.html</link>
  <description>Well, Jesus was a homeless lad&lt;br /&gt;With an unwed mother and an absent dad&lt;br /&gt;And I really don&apos;t think he would have gotten that far&lt;br /&gt;If Newt, Pat and Jesse had followed that star&lt;br /&gt;So let&apos;s all sing out praises to&lt;br /&gt;That longhaired radical socialist Jew&lt;br /&gt;&lt;br /&gt;When Jesus taught the people he&lt;br /&gt;Would never charge a tuition fee&lt;br /&gt;He just took some fishes and some bread&lt;br /&gt;And made up free school lunches instead&lt;br /&gt;So let&apos;s all sing out praises to&lt;br /&gt;That long-haired radical socialist Jew&lt;br /&gt;&lt;br /&gt;He healed the blind and made them see&lt;br /&gt;He brought the lame folks to their feet&lt;br /&gt;Rich and poor, any time, anywhere&lt;br /&gt;Just pioneering that free health care&lt;br /&gt;So let&apos;s all sing out praises to&lt;br /&gt;That longhaired radical socialist Jew&lt;br /&gt;&lt;br /&gt;Jesus hung with a low-life crowd&lt;br /&gt;But those working stiffs sure did him proud&lt;br /&gt;Some were murderers, thieves and whores&lt;br /&gt;But at least they didn&apos;t do it as legislators&lt;br /&gt;So let&apos;s all sing out praises to&lt;br /&gt;That longhaired radical socialist Jew&lt;br /&gt;&lt;br /&gt;Jesus lived in troubled times&lt;br /&gt;the religious right was on the rise&lt;br /&gt;Oh what could have saved him from his terrible fate?&lt;br /&gt;Separation of church and state.&lt;br /&gt;So let&apos;s all sing out praises to&lt;br /&gt;That longhaired radical socialist Jew&lt;br /&gt;&lt;br /&gt;Sometimes I fall into deep despair&lt;br /&gt;When I hear those hypocrites on the air&lt;br /&gt;But every Sunday gives me hope&lt;br /&gt;When pastor, deacon, priest, and pope&lt;br /&gt;Are all singing out their praises to&lt;br /&gt;Some longhaired radical socialist Jew.&lt;br /&gt;&lt;br /&gt;They&apos;re all singing out their praises to....&lt;br /&gt;Some longhaired radical socialist Jew.&lt;br /&gt;&lt;br /&gt;-- Hugh Blumenfeld&lt;br /&gt;&lt;br /&gt;Music: &lt;a href=&quot;http://www.youtube.com/watch?v=1_v9tz2nxvs&quot;&gt;http://www.youtube.com/watch?v=1_v9tz2nxvs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1733064&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1733064.html</comments>
  <category>christmas</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1732695.html</guid>
  <pubDate>Fri, 02 Dec 2011 22:07:49 GMT</pubDate>
  <title>Updates</title>
  <link>http://tim.dreamwidth.org/1732695.html</link>
  <description>Hi!&lt;br /&gt;&lt;br /&gt;I&apos;m turning 0x1F in two weeks and two days. This year I&apos;m celebrating by raising money for the &lt;a href=&quot;http://lyon-martin.org/&quot;&gt;Lyon-Martin Clinic&lt;/a&gt; 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&apos;s both personally significant to me and an institution that&apos;s very important in the process of establishing informed consent as the only way to provide needed care to trans people.&lt;br /&gt;&lt;br /&gt;If you want to donate (which you can do anonymously or not), please &lt;a href=&quot;http://wishes.causes.com/wishes/413696&quot;&gt;go to my Causes page&lt;/a&gt;. All donations help, no matter how big or small.&lt;br /&gt;&lt;br /&gt;Also, I&apos;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!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1732695&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1732695.html</comments>
  <category>plans</category>
  <category>birthday</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://tim.dreamwidth.org/1732041.html</guid>
  <pubDate>Sat, 29 Oct 2011 00:55:29 GMT</pubDate>
  <title>Quoting a comment in almost its entirety, because it&apos;s awesome</title>
  <link>http://tim.dreamwidth.org/1732041.html</link>
  <description>&quot;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.&lt;br /&gt;&lt;br /&gt;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.”&lt;br /&gt;&lt;br /&gt;IT’S GETTING WHITER ALL THE TIME! I am not surprised you couldn’t find any trans women of color.&quot;&lt;br /&gt;&lt;br /&gt;-- Coxy Rawr Michael, commenting on &lt;a href=&quot;http://www.prettyqueer.com/2011/09/06/for-the-love-of-transmisandry/#comment-2846&quot;&gt;PrettyQueer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An equally awesome reply:&lt;br /&gt;&lt;br /&gt;&quot;I haven’t ever commented here, but I have to just AMEN this comment about Portland as a white queer haven.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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…&quot;&lt;br /&gt;&lt;br /&gt;-- PissyQWOC, ibid&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://www.dreamwidth.org/tools/commentcount?user=tim&amp;ditemid=1732041&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>http://tim.dreamwidth.org/1732041.html</comments>
  <category>portland</category>
  <category>white people</category>
  <category>queer</category>
  <category>racism</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
</channel>
</rss>

