Main menu:

Site search

Categories

Archive

Web Based IDE’s

Just noticed via a Slashdot article that Bespin a web-based IDE from Mozilla Labs, and Heroku, which appears to be a Ruby on Rails web-based IDE, are generating a lot of interest. There’s also mention of an EclipseCon talk introducing a web-based Eclipse workbench.

It had to happen eventually. I’m still planning on playing a little in this space — starting with some web-based python tools — but it looks like it may be crowded soon.

pythonic

I’ve been spending a lot of time with python in the last few months. I had briefly looked at it way back in 2000, but hadn’t touched it much since then. Looks like it has matured quite a bit.

I still expect that I’ll be writing java in the future. And there is room for serious time spent with ruby or haskell. But I think python is probably replacing the niche that perl filled for me. So long, old friend.

I spent some time in the last couple of days with the inspect module. The result is some simple analysis of the python 2.6 code that happens to be installed on my laptop. Next rainy day I’ll look at compiler.ast and parser to make this a lot more interesting.

Links: monads, parsers, etc

In the clouds

This is the first post from languageparallax.com as hosted on Amazon’s EC2.

It’s about twice as expensive as the old machine I was renting, but the service wasn’t so great and this gives me the chance to gain exposure to a popular compute cloud.

Now if I can just build a popular website that actually takes advantage of the easy scaling…

So the obvious question given the earlier posts: Where’s my monitoring? What’s the right place to set that up? Not that I really need any for this blog, but if I were running a real site, I’d be asking that question right about now.

Red Hat strategy

A follow up on my recent Spacewalk post. It looks like Red Hat is really getting organized. A number of projects seem to be communicating and integrating:

The “Genome” project looks like some kind of umbrella or glue for puppet, cobbler, and func. Cobbler now has spacewalk integration on its near-term road map, so things are already starting to come together. Looking forward to whatever “genome” becomes.

Somewhat related: I see that RedHat and Amazon’s EC2 have some sort of official relationship. I started looking at EC2 last night, and think Amazon’s done a great job of abstracting out all the messy parts of administration. I wonder how much of the RH projects mentioned above are intended to manage ec2 clouds? I would love to see some spacewalk graphs of a set of ec2 instances. Is anyone on the spacewalk team writing ec2 plugins?

Spacewalk

I’ve been doing some consulting lately that has had me revisiting a lot of old ground. We’re using cobbler and puppet for large portions of it. Nagios is the likely candidate for monitoring, with maybe some cacti thrown in for historical charting. It’s a little disappointing given all the work done at Excite and NOCpulse, which surpassed what can be done with these other tools.

While searching for more alternatives, a colleague noticed Spacewalk. It took me a while to realize what this was. Could it be all the NOCpulse code? One git clone git://git.fedorahosted.org/spacewalk.git/ later, I was seeing a lot of familiar code.

In 2002 Red Hat acquired NOCpulse shortly after I left for UCLA for grad school. Looks like six years later they are open-sourcing all the code they acquired. There’s some discussion about telling a fuller story of this code, including a list of alumni contributors.

I’m anxious to see where it goes from here. Open source tools in this area are sorely lacking — is Spacewalk the answer? I’ll likely be posting a lot more about this in the future.

My QVT Implementation & OMeta under Rhino

Not much blogging lately, but I have a good excuse. I decided to take one last class here at UCLA — a programming language design lab run by Todd Millstein and Alan Kay. I’ve taken classes from both before, but this one is probably the most useful so far in terms forcing me to articulate ideas from my research.

I was already thinking I was going to need this, but now it’s clear that I need my own QVT/OCL implementation. I may not need all of it right away, but at minimum I needed a parser. A couple of months ago I used Medini QVT as a reference implementation to create a couple of demo transformations. Now I’ve gone through the OMG specs to extract the grammars and have created a single large antlr grammar. The QVT portion worked fine, but of course adding OCL introduced a lot of left recursion.

Enter OMeta, which can handle grammars that contain left recursion. Turns out that the author Alex Warth is participating in this design lab as well. He’s put a lot of work into a javascript version of OMeta. I would use it directly except that I want to have deep interaction with EMF and Subversion. And potentially a lot of other java code.

As of a few minutes ago, I think I have my solution: Implement a java wrapper for OMeta using Mozilla’s Rhino. We’ll see how cleanly I can wrap it.

I’ll try to be good about posting updates on this. I have some hard deadlines approaching, but I think this project is now in the critical path, so it’s likely that it will get done soonish.

SLE 2008

Thanks to Justin for finding this post about the upcoming 1st annual Software Language Engineering conference. Co-Located with the MoDELS in Toulouse, France, in late September. I was already planning to submit something to MoDELS, but this looks a little more appropriate. Plus the later submission deadline will help. :)

Speaking of submissions, I intended to submit something to ASE 2008, but I may submit that paper to the ECMDA Traceability Workshop instead. Buying me a week of time, but more importantly buying me a chance to focus entirely on traceability, which is really at the core of my interest in QVT.

OMG Symposium, QVT, and Traceability

On Thursday I spent my time at the OMG Symposium. Ed Merks was there and did a huge blog post about the talks, so he’s saved me a lot of wind! (Btw, I am almost completely occluded by Micheal Soden in the first of the two group pictures, but I promise I was there!)

It left me wondering last night if I have now met someone from every group that is implementing QVT. There was Michael Soden and Hajo Eichler of IKV, Victor Sanchez of Open Canarias, Jonathan Musset of Obeo, and Ed Willink of Thales. Perhaps I should qualify that — these are the groups working on open implementations of QVT.

Because I was at the OMG Symposium, I missed out on a talk by Gøran Olsen about traceability. Luckily he was there later in the day and I had a chance to talk to him briefly. He encouraged me to check out the workshop on traceability at ECMDA. I’m not sure if I’ll have the time to submit anything, but I’ll definitely consider it. I’ll certainly be looking through the proceedings of past years — I do think traceability is going to be an important part of the dissertation, and this looks like exactly the group to follow.

EclipseCon, Modeling, QVT-R, and IMP

Hello from EclipseCon!

I'm going to EclipseCon 2008

I arrived in time for the modeling BoF last night.

Afterwards I was able to ask Markus Voelter for a little bit of context about QVT-R(elations). Why doesn’t it get used more. The first two objections are 1) that there are no production-ready implementations, and 2) that it’s a difficult language to use. I can’t disagree with #1. And I’m learning more about #2.

I also asked about the issue of “arbitrary levels of meta”. I was a little surprised to see so much debate on what exactly belongs in the meta-meta-model. As long as it’s “complete” in some sense, why should it matter? Leave the debate on which concepts are more fundamental to the cognitive linguists and psychologists, I would think…

But apparently this is a limitation of EMF. Now it makes more sense. And since EMF’s history is so closely related to Java, the set of concepts in MOF and ECORE very much relate to Java. I also gather than somewhere in the discussion about MOF2 there is the possibility of enabling arbitrary levels of meta. More on that tomorrow — I plan to show up for at least some of the OMG meeting.

This morning I had the chance to meet with Hajo Eichler of the Medini QVT project. I discovered this on the EclipseCon agenda a few weeks ago and have been looking at it a bit ever since. I’m definitely going to use it to mock up a scenario of interest. I also have a preliminary idea about how version control could be more QVT-R aware. More on that later if/as it works out.

Lastly, I was able to speak with Robert Fuhrer of the IMP project. It’s interesting trying to relate that kind of tooling with what I’m hoping to get from QVT-R. At first blush, I think the class of constraints and static analysis that IMP intends to solve is well beyond what QVT-R can express. (Hopefully I can give more specifics soon.) I’m looking forward to IMP’s future development.

For now, I think it’s full steam ahead on my system using QVT-R. Let’s study the class of transformations that it can express, and how it can work with version control systems in a realistic web application environment. Once I have that, I’ll be in a better position to talk about QVT-R vs. other kinds of static analysis.