« June 2006 | Main | August 2006 »

July 2006

July 30, 2006

Portland Bridges

I’m in Redmond now, getting ready for the Lang .net symposium tomorrow. The weather on this Sunday is strikingly different than the weather last Sunday in Portland when I shot this image (it was > 100F in Portland):

I spent the day hanging out with Ryan Davis and Eric Hodel talking about all things Ruby. We got two-thirds of the way through the problem of getting Ruby Inline to work with VC++ 2005. We’ve narrowed down the cause of the problem to application manifests not being embedded in the generated DLL, so I’m pretty confident that we’ll solve that problem sometime tomorrow with some help from friends at MSFT.

Update: I just figured out the problem thanks to Richard Grimes’ most excellent tutorial on fusion. Apparently you have to now run mt.exe post-compile to correctly embed the application manifest in unmanaged DLLs. Well now I know :)

I spent quite a lot of time hacking on RubyCLR on the train ride up here and last night / this morning. I’ll post about some new code that will let folks workaround almost any missing feature that RubyCLR has – it’s still not optimal, but at least it shouldn’t block you from getting things done. And after all, RubyCLR is all about getting things done :)

Open Source, the Microsoft Community and Funding

Scott Hanselman just blogged about the demise of the NDoc project. I’m amazed by the amount of sense of entitlement exhibited by people in at least this one instance. Kevin Downs, who was apparently the sole contributor to NDoc was being threatened by some anonymous coward for not working hard enough to release a .NET 2.0 compliant version quickly enough!

Now I’d like to think that this is an edge case. There weren’t any sessions this year at OSCON on how to survive, evade, resist and escape :) However, this points to a larger problem that is discussed often in the open source community: how do I feed my family while working on open source projects?

Some projects lend themselves naturally to small user contributions that can be combined into a large product (e.g. an operating system or NAntContrib). However, there are other projects that require the focused attention of committers who pretty much do this stuff full time (e.g. an operating system, a virtual machine, or IronPython). Note that the same project can span the spectrum.

Now how should companies who are at the heart of that software ecosystem support the efforts of the open source community? How should a Sun, or a Microsoft or an IBM support these efforts?

In the operating system arena, it’s well known that most of the core contributors are on staff at large companies, and it is their job to work on open source. That works well for projects that have a broad strategic impact like an OS. It also works for technologies like IronPython, or the recently acquired PHP.NET project whose job it is to support the Microsoft platform.

However, what should we do for smaller projects like RubyCLR and the next generation IDE experience that I’m building? I have the gracious support of my business partners at ObjectSharp, but that’s about it. If I really wanted to do this project properly, it’s probably in the neighborhood of 3-4 person years worth of effort. That’s asking a lot of a small company like ObjectSharp especially since the time that would be required is partner time (mine).

This week, I’m at Microsoft for the Lang.Net symposium. I’m also meeting with a variety of folks to see if I can figure out how to fund projects like RubyCLR. Now obviously, I’m doing this in my own enlightened self-interest, but I’d also like to bring up the more general problem of funding open source projects in the Microsoft community.

Scott already floated the idea of using the existing INETA infrastructure to distribute grants. This idea is promising, but only works for relatively small contributions, much like the Google Summer of Code projects for students. But perhaps it could work for larger investments, but then you have the problem of trying to pick the right projects.

Please leave a comment or send email to jlam at this domain if you have ideas that I can bring up during our meetings. That would help out a lot.

Thanks.

What some other people are doing with RubyCLR

Charlie Poole, the creator of NUnit has started to blog about his adventures with generating flexible NUnit test reports using RubyCLR.

Ceasar Larry is writing a SqlClient adapter for ActiveRecord, which he as already seen a 4X perf improvement over the COM-based DBI adapter.

July 28, 2006

Linus Torvalds on Visual Basic

Jaroslaw Rzeszotko wrote a number of ‘great programmers’ to see if they could answer a number of questions about what it takes to become a great programmer. He then blogged the answers.

Linus, said this in his answer to the question: What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?

For example, I personally believe that “Visual Basic” did more for programming than “Object-Oriented Languages” did. Yet people laugh at VB and say it’s a bad language, and they’ve been talking about OO languages for decades.

And no, Visual Basic wasn’t a great language, but I think the easy DB interfaces in VB were fundmantally more important than object orientation is, for example.

Read the rest of his answer to get the context.

Perhaps this will give a little more ammunition to the VB team to return VB to its roots :)

OSCON Day 5

Here are some more photos from the last day of OSCON.

Dave Bradley was one of the original engineers who worked on the IBM PC. He invented CTRL-ALT-DEL, and showed us the 8088 assembly language listing for that code!

Carl Malamud gave an inspiring presentation on how to hack the government (politically, that is). He talked about how to use the lens of the blogosphere to shine the spotlight on politicians to inprove transparency in the political process. Lots of things to think about, even for this Canadian.

The morning keynotes closed with Damian Conway’s brilliant presentation:

It was a presentation about cx*ap:

The wit, puns, and evil genius that he exhibited has to be seen in person. He made me see the kittens!

It was a lot of fun sitting in on Alex Martelli’s excellent session on how to be a technical manager. His focus on simplicity makes me wonder if Google spreadsheet was invented to help Google technical managers do their job!

Update:* the shots of Damian’s slides are courtesy of Ugo Cei

Photos from OSCON Day 4

Here are some photos that I shot today at OSCON:

Jim Hugunin and Martin Maly at the IronPython talk.

Neal Ford at the Ruby DSL talk.

Guido van Rossum at his Python 3000 talk.

Charlie Poole coding away using RubyCLR to talk to his beloved NUnit.

Avi Bryant was a lot of fun to shoot. Speakers take note: being animated makes it so much easier to make you look good!

An attendee at Avi’s talk.

July 27, 2006

OSCON Day 3 and a Better Ruby IDE

Today was a long, but tremendously fun day at OSCON.

I did my RubyCLR talk at OSCON today. It was a fun talk. While all of the talks at OSCON are only 45 minutes long, I was able to squeeze nearly everything that I wanted to talk about into the session. I was also able to finally show off the thing that I’ve been working on: a better IDE for Ruby:

This is an interactive Ruby session a’la irb, but with the beauty of the Calibri and Consolas fonts that were rendered using this WPF application. The IDE is all black, and full screen. No title bar, no status bar, no scroll bars. What you see here is exactly what you get.

I have a crude version of IntelliSense working, syntax coloring of code that you have added, and the ability to retrieve online docs by typing in a this:

/recipe 2.7

This pulled out Recipe 2.7 from Lucas Carlson’s most excellent Ruby Cookbook and displayed it inline with the rest of the code.

The idea here is to bring the online help directly into your coding environment without forcing a context switch into an overlapping window.

I have experimental integration with the MSDN Documentation Web Service as well. All you need to type is:

/docs System.IO.File

All in < 300 lines of Ruby code. Not bad, huh?

Jim Hugunin of IronPython fame was in my talk, and we had a fun chat afterwards about the difficulties in getting dynamic languages to interop with the statically typed languages on the CLR. While we were chatting, Guido van Rossum came up to chat with Jim, and it was an honor to be introduced to one of the really great innovators in the open source space.

That’s one of the fun things about being at OSCON – a lot of the folks who created the technologies were present and interacting under the umbrella of OSCON. These folks would probably never all be under the same roof without something like OSCON to bring them all together. And that’s a really good thing.

In the evening, the Ruby folk organized FOSCON, and I had a chance to hang out with Obie Fernandez, my new arch nemesis Luke Kanies, Ryan Davis, Eric Hodel, and Lucas Carlson.

Lucas gave me some excellent ideas about how to make my new IDE idea suck less, and showed me some really sweet code that lets you do cross-domain AJAX calls. I know that Danny Thorpe is working on stuff in the same area. I think that client-side mash-ups will be one of the next big things to happen in the web world.

At the end of the evening, I found myself at a Sun Microsystems party (and I have the t-shirt to prove it!) Met lots of new people, and had a great time.

I have lots more things to blog about, but I’d better call it a night.

July 26, 2006

OSCON Day 2

I went to the Haskell tutorial today. I had high hopes for the tutorial, but was disappointed by the execution of the talk. Too much time (30 minutes!) was spent motivating why you should learn Haskell (hello – we were all in the room, so we were presumably motivated enough to be there). As a result, the speaker ran out of time and decided to step on the gas for the hard topics: Monads and Monadic I/O (about 7 minutes, I kid you not). This is not the stuff that you should be glossing over in an attempt to cover all of the materials.

I had an opportunity to add some more features to the cool new thing that I’ll be showing off at my RubyCLR talk tomorrow. I privately showed the work in progress to some folks, and their feedback was pretty positive. It was great to run into Stu Halloway again. It’s been a long time since our days at DevelopMentor together.

The evening events were more interesting. Larry Wall’s State of the Onion address was steeped in metaphor and frankly not all that interesting to this non-Perl guy. Fortunately, Kathy Sierra stepped up to the plate and gave a wonderful talk on Creating Passionate Users.

And to finish things off, the incomparable Damian Conway gave us a multimedia reading of “The DaVinci Codebase”. This was a great performance, and a wonderful way to cap off another interesting day at OSCON.

Update: Here’s a photo of Damian during his reading, shot by the incomparable James Duncan Davidson.

July 25, 2006

First 24 hours at OSCON

So far it’s been a fun 24 hours at OSCON here in sunny Portland.

A couple of observations: the Open Source crowd is quite a bit different from the typical Tech Ed / PDC / WinDev / DevConnections crowd. Most of the people who I’ve met have created a significant project and, more important, are passionate about talking about their projects. It’s clearly not “just” a job for them. They also look different from the typical dev that I run across in my day job :)

The other big difference is the fact that I’m learning about things that I know very little about – and that’s a good change of pace (much like my experience at OOPSLA from last year). I went to Damian Conway’s session about Vim, and it sparked a lot of new ideas about how to make software tools that suck less.

Tomorrow morning’s tutorial will be Haskell. From zero to monadic I/O in 3 hours. We’ll see if I make it :)

July 24, 2006

Heard at the Ruby Guidebook at OSCON

A fun quote from Dave Thomas:

“Java is the blunt scissors of programming. It’s what we give to children to program.”

Here’s Dave from the OSCON photography walkabout last night:

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from John Lam. Make your own badge here.

Recent Comments

Recent Posts

May 2008

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Blog powered by TypePad