graydon is currently certified at Master level.

Name: graydon hoare
Member since: 2000-02-06 05:06:58
Last Login: 2010-05-21 01:35:19

FOAF RDF Share This



Currently at mozilla corporation. Formerly at red hat, zks, UofT, novare, and elsewhere.

Interested primarily in languages and software engineering automation (formal methods, automated debugging, version control, SCM, etc), with side interests in lots of other fiddly things.


Articles Posted by graydon

Recent blog entries by graydon

Syndication: RSS 2.0
ncm: So long as I am speaking about systemic issues and you are speaking about accusation and defense of individuals, we are talking right past one another.

Try this: sexism is not a trivial matter, but with respect to systemic attitudes, individual accusations are of little account. I really, really couldn't care less anything much about Mark Shuttleworth. You can stop talking about him in specific. Each such example is only a tiny expression of the culture, and no one person or small set of people (your chosen a-few-bad-apples explanation) make a culture.


The game of trying to determine "who is the guilty sexist" is tiresome. We all say and do mildly sexist things from time to time. I do, you do, women do. Moreover I do not care about Mark Shuttleworth in any capacity other than as an illustration of the systemic bias in this community. You seem to understand systemic bias at least as far as language use, but you seem to think it stops there, that a little gender-biased language isn't worth getting enraged over. Unfortunately it doesn't stop there.

It's actually just indicative of much deeper biasing. Look at any of the numerous threads that have come out of incidents like this. Look at the discussion. it's 100x worse than the initial gaffe. What starts as a matter of language bias (or, well, in some cases uglier concerns such as pornographic slides) rapidly descends into outright verbal abuse. You have men of this community claiming women have developmental, genetic, psychological, spiritual or otherwise innate inferiority in technical tasks. Men insulting women's appearance, sexuality, intelligence, sense of humor and honesty. Men threatening women with harassment and assault. Men cracking jokes about male domination and male privilege. Men telling anyone who dares take issue with any of this to shut up, go away, drop dead.


You do not get to decide via some courtroom logic whether a statement is "ok" or not. There is no point examining the circumstances to tease a plausibly non-biasing meaning out of it. This is an even more tiresome game. Those statements made -- made -- people feel another shove of bias in an already systemically-biased environment. They make me feel that. Any time I'm in the room and someone talks about "software so simple their girlfriend could use it" and "simple enough for Aunt Tillie", or "coding like a rockstar" and "manning up", or any of the horrendously biased statements made in the now-numerous threads about this topic elsewhere. Those reinforce the bias. I feel it. Enough people feel it to be talking about it. Deal with that fact, don't tell us how we feel.

It doesn't matter what was intended in Shuttleworth's case. Intention is not effect. When you intend to make a funny joke and nobody laughs, do you try to argue your audience into laughing? When you intend to ship an appealing product and nobody buys it, do you try to argue your market into buying?

You do not get to argue someone out of their feeling, their response. You might not care, that's your choice. But if you care, the habits of speech and conduct need to change. More than that, the underlying attitudes revealed in the ensuing conversations need to change. If you don't care, your loss. Continue to lose most of the women and a chunk of the men who are too annoyed to stay.

ncm: no, this is the first offensive quote:

A release is an amazing thing. I'm not talking about the happy ending, I'm talking about a software release, the fresh meat.

followed by many references to guys doing various bits of serious technical work, then this delight:

making sure that your printer, your mom's printer, my grandma's printer just work out of the box

and this one:

then we'll have less trouble explaining to girls what we actually do.

How you managed to miss these in the article, I do not know. The subtext is crystal clear. It's not even subtext. It's apparent text. Men hold the technical knowledge, women lack it and need to have it made-to-work or explained-to-them by men. Women are grandmothers, mothers, girlfriends and other. Not us.

This attitude is apparent in every corner of discourse I've ever seen in this community. It's broken beyond belief in this regard. Many people, men and women alike, have a hard time with the social environment. I am one of these people. These days I'm usually too repelled by the social environment to participate. If you ever felt I might have been a valuable contributor to anything, consider that fact.

Chalst: Oh, I didn't mean to imply the runtime costs end with the set of runtime sertives. I'm well aware that every backend "solution" for a compiler-writer imposes some constraints on the form of the translation, and hence a set of performance taxes itself. In LLVM's case, for example, it seems to want a free hand in managing your frames, and it can't guarantee you tail calls. So anything not-C-like in the control-abstraction or calling-convention requirements -- common-ish in FP -- is probably going to require more explicit heap representations of frames, or old-skool trampoline helper functions or such. These costs might be acceptable, but they're similar to the costs you face when translating many languages via C itself.

17 Mar 2009 (updated 17 Mar 2009 at 19:40 UTC) »

Chalst: Certainly he could target Clojure at LLVM; he'd just have to cook up a big elaborate runtime to replace all the runtime services the JVM is providing for him now. LLVM gives you pretty much nothing runtime-y. At best it is going to give, say, GC hooks or profiler hooks, or stack-management hooks to an unwinder library; in general it's runtime library is totally minimal. This is not a criticism: LLVM is great, it's just not a runtime system. It's a code generator / compiler backend.

What he wrote was this:

I’d like to pick my VM for its security, footprint, handling of parallelism and messaging, and run-time appropriateness. This would let me choose Lisp, Haskell, Python or C++, depending on the skillset of engineers available to me; and the JVM, .NET platform, or LLVM, depending on how I meant the code to be used.

To me this shows a pretty broad misunderstanding of the "VM" suffix shared by JVM and LLVM. They're different layers in the language implementation stack. There is no run-time component to LLVM to speak of; nothing on the scale of the services offered by a JVM. No "parallelism and messaging" system, no verifier, no security system, no reflection services, no dynamic loading services beyond the OS loader, no adaptive inlining or specializing by the JIT as the program's running, no complete GC, etc. etc. I'm not particularly keen on the JVMs flavours of all these services, but they're nontrivial. If you're writing a language that wants any of that stuff, and you want to "target LLVM", you're going to be writing a lot more of your own runtime services. Even getting GC working in an LLVM-targeted language involves nontrivial user-written parts.

About your example: GCJ does not compile Java "to the GCC runtime". The GCC runtime is roughly "libgcc and libc". GCJ compiles using GCC's infrastructure, sure, but its runtime library is quite substantial on its own.

(Appropriately enough, a moment of searching turns up the fact that there is also an LLVM sub-project to provide the JVM and .NET runtime services on top of LLVM. Heh.)

119 older entries...


graydon certified others as follows:

  • graydon certified alan as Master
  • graydon certified lewing as Journeyer
  • graydon certified stig as Journeyer
  • graydon certified miguel as Master
  • graydon certified raph as Master
  • graydon certified fatjim as Apprentice
  • graydon certified shaver as Master
  • graydon certified mael as Journeyer
  • graydon certified Ankh as Master
  • graydon certified washort as Apprentice
  • graydon certified joey as Journeyer
  • graydon certified zab as Master
  • graydon certified trance9 as Journeyer
  • graydon certified bryanf as Journeyer
  • graydon certified blizzard as Master
  • graydon certified alex as Journeyer
  • graydon certified lilo as Journeyer
  • graydon certified jgg as Journeyer
  • graydon certified knghtbrd as Journeyer
  • graydon certified netgod as Journeyer
  • graydon certified srivasta as Journeyer
  • graydon certified doogie as Journeyer
  • graydon certified dres as Journeyer
  • graydon certified stefan as Master
  • graydon certified tetron as Apprentice
  • graydon certified apgarcia as Journeyer
  • graydon certified opiate as Journeyer
  • graydon certified phe as Journeyer
  • graydon certified davej as Master
  • graydon certified chalst as Master
  • graydon certified Zooko as Journeyer
  • graydon certified tromey as Master
  • graydon certified DV as Master
  • graydon certified rth as Master
  • graydon certified jimb as Master
  • graydon certified aoliva as Master
  • graydon certified mjw as Journeyer
  • graydon certified Zaitcev as Master
  • graydon certified mbp as Master
  • graydon certified robilad as Master
  • graydon certified Anthony as Master
  • graydon certified bje as Master
  • graydon certified jpick as Master
  • graydon certified zw as Master
  • graydon certified ncm as Master
  • graydon certified movement as Master
  • graydon certified aph as Master

Others have certified graydon as follows:

  • kroah certified graydon as Journeyer
  • kelly certified graydon as Journeyer
  • temas certified graydon as Journeyer
  • mathieu certified graydon as Master
  • Ankh certified graydon as Master
  • kai certified graydon as Journeyer
  • washort certified graydon as Journeyer
  • dwaite certified graydon as Journeyer
  • fusion94 certified graydon as Journeyer
  • joey certified graydon as Journeyer
  • DizzyD certified graydon as Journeyer
  • beppu certified graydon as Journeyer
  • andrei certified graydon as Journeyer
  • matias certified graydon as Journeyer
  • djcb certified graydon as Journeyer
  • trance9 certified graydon as Master
  • CentralScrutinizer certified graydon as Master
  • psj certified graydon as Journeyer
  • jgg certified graydon as Journeyer
  • fatjim certified graydon as Master
  • dres certified graydon as Journeyer
  • knghtbrd certified graydon as Master
  • joe certified graydon as Master
  • stefan certified graydon as Master
  • rcw certified graydon as Master
  • mlsm certified graydon as Master
  • jpick certified graydon as Journeyer
  • eMBee certified graydon as Journeyer
  • lazarus certified graydon as Journeyer
  • NickElm certified graydon as Master
  • cbbrowne certified graydon as Master
  • chalky certified graydon as Master
  • Noryungi certified graydon as Master
  • mattbradshaw certified graydon as Master
  • bjc certified graydon as Master
  • ncm certified graydon as Master
  • jbowman certified graydon as Journeyer
  • chalst certified graydon as Master
  • fabien certified graydon as Master
  • steveh certified graydon as Journeyer
  • ariya certified graydon as Master
  • hunger certified graydon as Master
  • mstarch certified graydon as Master
  • JoshO certified graydon as Master
  • apgarcia certified graydon as Master
  • maelstorm certified graydon as Master
  • opiate certified graydon as Master
  • grant certified graydon as Master
  • realblades certified graydon as Master
  • fxn certified graydon as Journeyer
  • movement certified graydon as Journeyer
  • phe certified graydon as Journeyer
  • mdupont certified graydon as Master
  • mjw certified graydon as Master
  • robilad certified graydon as Master
  • shlomif certified graydon as Journeyer
  • nconway certified graydon as Master
  • lerdsuwa certified graydon as Journeyer
  • oxygene certified graydon as Master
  • jserv certified graydon as Master
  • ean certified graydon as Journeyer
  • kinetik certified graydon as Master
  • randombit certified graydon as Master
  • jpraher certified graydon as Master
  • Zaitcev certified graydon as Master
  • echristo certified graydon as Master
  • self certified graydon as Master
  • softkid certified graydon as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page