InfoQ

Interview

   Good News: We have re-worked our video infrastructure to provide more reliable service. Please email bugs at infoq.com with any problems.

Wilson Bilkovich Discusses Rubinius

Interview with Wilson Bilkovich by Werner Schuster on Feb 17, 2008 03:21 PM

Community
Ruby
Topics
Performance & Scalability,
Language
Tags
Virtual Machines,
RubyGems,
Rubinius
Summary
Wilson Bilkovich is one of the core developers of the Rubinius project - a Ruby implementation written in Ruby. Wilson is also one of the members of the Ruby Hit Squad, developers of the deployment automation tool Vlad the Deployer. In this interview with InfoQ, Wilson discusses the implementation of Rubinius, and its current status with Werner Schuster.

Bio
Wilson Bilkovich is one of the core developers of the Rubinius project - a Ruby implementation written in Ruby. Wilson is also one of the members of the Ruby Hit Squad, developers of the deployment automation tool Vlad the Deployer. Wilson blogs at http://metaclass.org/
We are here at Ruby Conf 2007. I am sitting here with Wilson Bilkovich. How about we start with you introducing yourself and tell us a bit about what you do?
Let's start with Rubinius. How did you get involved with the Rubinius project?
Can I just interject: what's a CPU? And what does a CPU.new object mean in Rubinius is that like one core, a thread, a process?
So, what's the current state of Rubinius and threading? What's your approach? Which of these approaches do you have, an Erlang approach? I saw something about the actor library by MenTaLguY I think that is his name.
Are you planning to do multiple implementations, could there be exchanged at runtime or at compiler time or what's the plan, what's the situation now or for 1.0?
Going back to your involvement with Rubinius what was the first thing you contributed? What was the first you committed, the first thing you looked at in Rubinius at home after Ruby Conf?
How was the first compiler implemented? What were you using? Were you using Ruby or C code?
Do you have an example for that?
Could you maybe explain some of the passes that the compiler goes through?
Maybe you could explain the format that you get the parse tree in is the Ruby parse tree library by Ryan Davis.
Do you know which VM architecture the VM is based on? Is that Smalltalk, the byte code or the instructions are Smalltalk like?
It's available online partly.
Can you give us the title? Do you remember it?
So primitives are a kind of API of the VM? Is that correct?
The Ruby base implementation of the standard libs like the access file system call , they call these primitives. Is that it or both?
You mentioned that there was the old compiler that you were just talking about. This is the new compiler. Can you give us a quick overview for this?
Can you say, did you keep most of the old logic that compiled the byte code and mostly this was a structural change? Is that a way to put it or not?
That was a lot of Rubinius stuff. I mean when you were not focused on Rubinius you also do a lot of other work. For instance you are part of the Ruby Hit Squad. Can you give a quick explanation what you do and what government you work for?
Is the development going on? Will you change it, fix it? Will you have another little meeting?
Distributed version systems?
Before we wrap up I would also like to mention that you also work for the RubyGem project the package management. I think you were recently involved in a rewrite that should make many people happy, speed up the index performance. Could you quickly say what you did there?
show all  show all

No comments

Reply

Exclusive Content

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.

Segundo Velasquez and Agile as Seen Through the Customer's Eyes

Deborah Hartmann interviewed Segundo Velasquez about his experience as customer with an Agile team during the initial phase of software design of a product.

Fine Grained Versioning with ClickOnce

David Cooksey shows how to fine grained versioning to a ClickOnce deployment using an HttpHandler written with ASP.NET, making partial rollouts to a test audience much easier.

Implementing Manual Activities in Windows Workflow

Windows workflow (WF) is an excellent framework for implementing business processes, but lacks support for human activities. This article describes a completely generic approach for changing this.

Markus Voelter about Software Architecture Documentation

In this interview taken during OOPSLA 2007, Markus Voelter talks about the importance of documenting the software architecture, and gives some good and also bad examples on how it could be done.