IronRuby community and communications

Wow.

I was enjoying my day off with my family and my brother who was in town
visiting when I discovered this thread on my phone. It was fun reading
things go by, but there was no way that I was going to try and respond
via T9. But now that I’m back in the office let’s begin anew to address
some of the issues that were raised yesterday:

Charlie Nutter:

Are there development discussions happening on private lists,
say inside Microsoft within the IronRuby or DLR team? If so,
you should really think about moving as much of those discussions
as possible into the open.

When I first joined the company back in January, we had a regular set of
F2F meetings called the DLR Design Discussions. Culturally at Microsoft,
we do tend to do a lot of technical discussions F2F since, well, we all
work within about 50 feet or so of each other :slight_smile: Almost all complex code
reviews and technical design are done in front of a computer/whiteboard
in someone’s office. Given a choice, like most people, we will take the
path of least resistance.

That said, I do think that there are a number of things that we can do
to improve how we communicate with y’all. So let’s address some of the
issues raised on the thread and then I’ll summarize with some proposals
at the end.

Charlie Nutter:

there doesn’t appear to be any discussion about the runtime and
compiler subsystems.

Guilty as charged. Partly because of cultural things above, and partly
due to lack of bandwidth in driving these discussions in the open. I did
have the crazy idea of videotaping our design meetings, but I’m not
convinced that’s the best way of getting information out to folks - it’s
really unfiltered and if you lack context they’re really rather useless.
But wait until the end of this mail to see some ideas.

Curt H.:

I think some of what we’re seeing is a result of IronRuby’s dependence
on the DLR – which appears to be far from finalized, and which is not
going to be driven by the community at all.

This is true in the sense that the implementation of the DLR will not
be driven by the community. However, the design of the DLR is
absolutely driven by community feedback. The IronRuby compiler is
technically ‘community’ insofar as the DLR itself is concerned, and
there’s been lots of design changes in DLR due to IronRuby.

Jb Evain:

I’m a little frustrated as well by this situation, and I’d like to
see more technical discussions between MS engineers on this list.

Charlie Nutter:

I heard five developers, but perhaps that was a couple testers/QA
as well.

I’m pretty sure that I talked about our org chart before, but here it is
again:

Tomas M.: compiler dev
Haibo Luo: compiler test
John L.: program manager

John M. from our larger team contributes code as well, but only
between stints in his ‘real job’.

Most of our discussions happen on the whiteboard in 41/5612. I agree
that we need to fix this, see end of mail.

Some ideas:

  1. We hold a bi-weekly (soon to become weekly I think due to the # of
    times that I cancel it) meeting for the IronRuby team. We can make this
    available via a toll-free conference call # if folks want to dial into
    it. We can’t do Skype etc. from inside of corpnet.

  2. We can put together a weekly summary of changes to IronRuby/DLR so
    that folks can see the changes. Right now due to the way we sync with
    svn, we’re losing some information from checkin mails.

  3. In the same weekly summary, we can post about what we’re planning on
    working on next and folks outside can chime in with status reports on
    what they’re working on and how it’s going.

I’d love to hear some more ideas about how we can improve our
communications / transparency.

Thanks,
-John

Have you guys seen the way how mono report their compatibility? I think
this
is one thing I really missed. I only know some basic ruby syntax works,
but
then a lot of the methods are not implemented. If you want everyone know
whats going on for a language port, perhaps the best bet is show us a
list
of all the ruby methods and then the compatibility status. I think with
some
reflection implementation this thing could be largely automated. For
example
I keep trying public_instance_methods on class and hope it would bring
me
the list of implemented methods, with no luck so far :frowning:

I, as a user expecting IronRuby to be used by my projects, doesn’t
really
care a lot about how DLR are designed. As long as IronRuby is going to
be as
close as 100% compatible as possible in shortest time, with reasonable
to
believe verification result, I don’t care. I guess thats most people’s
concerns too, so if you talk about communications between expecting
users
and IronRuby team I think that feature list thing is the most concerned.

On 10/2/07, John L. (DLR) [email protected] wrote:

Are there development discussions happening on private lists,
resistance.
to lack of bandwidth in driving these discussions in the open. I did have
This is true in the sense that the implementation of the DLR will not be
I heard five developers, but perhaps that was a couple testers/QA
between stints in his ‘real job’.
available via a toll-free conference call # if folks want to dial into it.
We can’t do Skype etc. from inside of corpnet.

I think this is a great idea. I’d certainly block my schedule to call
in
and listen. If this works then perhaps the community could help with
note
taking and information dissemination.

  1. We can put together a weekly summary of changes to IronRuby/DLR so
    that

folks can see the changes. Right now due to the way we sync with svn, we’re
losing some information from checkin mails.

I do think this would be helpful.

  1. In the same weekly summary, we can post about what we’re planning on

working on next and folks outside can chime in with status reports on what
they’re working on and how it’s going.

I’d love to hear some more ideas about how we can improve our
communications / transparency.

I agree with William Y.'s response about the desire for a status
mechanism at the module/class/method level. Again, maybe this is
something
that folks outside of Microsoft can maintain once we know the plan. I
think
this would really help us know when features are scheduled to be
implemented, and where we can contribute.

Thanks,

Behalf Of William Y.:

Have you guys seen the way how mono report their compatibility? I
think this is one thing I really missed.

I really like the way MOMA works. I agree that we can automate much of
this stuff. Essentially we just have to run a script over the Ruby
libraries and implement some methods on Class and diff the output.

In fact we already have an internal tool that sort of does this and
generates some of the comments that you’ll see in sources under
Builtins/

I’ll look at what it would take to automate generating HTML reports out
of this so that folks can quickly get a feel for what is and isn’t
implemented.

Thanks,
-John

Getting access to original commit emails would be a very useful way of
seeing what changes are being made. Is it possible to put that on a
mailing
list, if it isn’t already?

Hi!

First of all, Mr. Lam, your attitude is really refreshing. Such
upfront honest feedback is always good. Thank you! =)

On 10/2/07, Mike M. [email protected] wrote:

If this works then perhaps the community could help with note
taking and information dissemination.

This would be wonderful, specially for foreigners like me. I could
lend a hand in transcriptions.

On Tue, 02 Oct 2007 10:35:58 -0600, John L. (DLR) [email protected]
wrote:

I’d love to hear some more ideas about how we can improve our
communications / transparency.

Sounds like the perfect opportunity to dogfood from the Masters Bowl :wink:

http://office.microsoft.com/en-us/livemeeting/

http://office.microsoft.com/en-us/groove/

BTW… While I have to admit that I am not surprised to see your
response,
it’s FANTASTIC to see your level of activism on this matter, John!
Obviously I can’t claim that anything I said or did helped spur this
response, so I won’t**. But I’m certainly happy that the end result
seems
to be exactly what it needed to be.

** CREDIT: Charlie “Is NOT A Troll” Nutter and Jb “I’d Prefer
IronAspect, But IronRuby Will Do For Now” Evain


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

On Wed, 03 Oct 2007 03:44:53 -0600, Sanghyeon S. [email protected]
wrote:

It is often referred as MRI (Matz’s Ruby Interpreter/Implementation),
although CRuby is also used.

Ahh, got it. Thanks, Seo! :smiley:


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

2007/10/3, M. David P. [email protected]:

cRuby (is that the proper reference to Matz’s Ruby runtime+library?)

It is often referred as MRI (Matz’s Ruby Interpreter/Implementation),
although CRuby is also used.

On Tue, 02 Oct 2007 10:42:32 -0600, William Y.
[email protected] wrote:

Have you guys seen the way how mono report their compatibility?

The thing I dislike about this particular implementation[1] is that it
requires you to drill-down through the class heirarchy manually.
Personally I prefer the JAPI-style overview[2], but none-the-less agree
this would be a FANTASTIC tool to have available.

Pat (Eyler, Cc’d): Do you know if something like this exists for
comparing
the various Ruby implementations against cRuby (is that the proper
reference to Matz’s Ruby runtime+library?)

[1] http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/
[2] http://www.frijters.net/IKVM-0.36-vs-JDK-1.6.html


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

M. David P. wrote:

Pat (Eyler, Cc’d): Do you know if something like this exists for comparing
the various Ruby implementations against cRuby (is that the proper
reference to Matz’s Ruby runtime+library?)

I’m not Pat, but I know we’ve never found anything. There have been
various scripts bandied about to compare method lists, but that’s a
fairly superficial measurement. We would love to have a more
definitive tool that can check completion level.

  • Charlie

On Wed, 03 Oct 2007 04:31:22 -0600, M. David P.
[email protected] wrote:

So where do we begin?

BTW… If we could get a similar XML output to
http://mdavid.googlecode.com/svn/trunk/IronRuby/IronRuby.xml that
represents the MRI/CRuby language runtime it would at very least give us
a
simple foundation to build and extend from. Of course this particular
format does nothing to specify whether the class/method has actually
been
implemented or if it’s simply a skeleton framework that throws
class/method not implemented exceptions, though there are enough tools
out
there that are able to introspect the inner workings of an API that
leads
me to believe that there’s got to be an off-the-shelf tool out there
that
can drill down deeper and report its findings.

Anyone know of just such a tool?


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

On Wed, 03 Oct 2007 04:00:08 -0600, Charles Oliver N.
[email protected] wrote:

We would love to have a more
definitive tool that can check completion level.

So where do we begin?


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

M. David P. wrote:

On Wed, 03 Oct 2007 04:00:08 -0600, Charles Oliver N.
[email protected] wrote:

We would love to have a more
definitive tool that can check completion level.

So where do we begin?

Great question!

  • Charlie

I dont think dogfood groove is a good idea unless a lot of users would
be
entitled for such tool. Otherwise people see this is a way to sell more
MS
products than helping the community. Don’t forget you are facing a lot
of
geeks who expect everything could be done in source code :slight_smile:

On Wed, 03 Oct 2007 05:02:36 -0600, Charles Oliver N.
[email protected] wrote:

Great question!

Thanks! :smiley:


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

On Wed, 03 Oct 2007 07:30:40 -0600, William Y.
[email protected] wrote:

I dont think dogfood groove is a good idea unless a lot of users would
be entitled for such tool.

Oh, I agree that there would need to be some sort of license that could
be
allocated for use by IronRuby community members at no cost. Maybe
signing
a contributor agreement could be used as a definitive market as to those
who are serious about being involved and as such would benefit from a
Groove license for the purpose of community collaboration?

Not sure, but it seems like if nothing else it could be an interesting
use-case for the Groove team. And a good use-case can be worth it’s
weight in gold, so if nothing else there would at least be that.


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

If you can make this happen like how ReSharper did on the CastleProject
community, that’s really a good idea. (Obviously I am from Castle
project
community as you can see :stuck_out_tongue: I am not the contributors though, so I don’t
have ReSharper license. However its all because of their praise to the
tool
makes me did the purchase and never regret afterwards!)

On Wed, 03 Oct 2007 07:45:28 -0600, M. David P.
[email protected] wrote:

market

s/market/marker


/M:D

M. David P.
http://mdavid.name | http://www.oreillynet.com/pub/au/2354 |
http://dev.aol.com/blog/3155

On 10/3/07, M. David P. [email protected] wrote:

is to find ways to get people vocal about a particular topic of interest.

To be honest I’m not 100% that Groove is the perfect fit in this
particular use-case. But I think it might be. Would be fun to find out!
:smiley:

Any thoughts from the community at large?

I’m not opposed to Groove. It does limit contributors to those on
Windows,
or have access to running Windows. I doubt that is much of a
restriction
though, as testing IronRuby on only Mono seems rather risky. If
Microsoft
could pony up Groove licenses for all contributors I’d certainly try to
make
it work.

But, I’m also not opposed to running development using Trac, or some
other
well known PM tool, either. The tools aren’t as important to me as
having a
bit more structure.