Feathers, Rangers, and Ivory Towers

About
Musings about open-source, baseball, and life as a grad student.
By: Justin R. Erenkrantz
Subscribe (Atom)
Weblog Home

July
Sun Mon Tue Wed Thu Fri Sat
   
23 24 25 26
27 28 29 30 31    

Navigation

Themes

Links

Thu, 21 Dec 2006

Vacation? What's that?

In contrast to my winter vacation of two years ago, this year's 'vacation' has been largely unfulfilling. Rather, I really haven't had any time to relax as I've been just swamped with stuff.

"May we live in interesting times." is rumored to be a Chinese curse. I know what they mean.

However, a number of things of interest have happened recently that I thought would be good to highlight.

Our ICSE'07 submission was rejected, but we received a number of excellent and helpful reviews (thanks to our anonymous reviewers!). Since this is our first attempt at documenting the ideas we're playing with, we're not surprised that it got rejected (disappointed sure). None of the feedback was critical of the approach - but rather some of the details behind it (partly, limited to 10 pages makes this a really tough call to decide what goes in and what does not). Regardless, we've decided to publish what we submitted as a tech report and reorganize and cogitate some on the feedback to make it that much stronger and coherent of a story. You can read Harmonizing Architectural Dissonance in REST-based Architectures. It's meant to capture our thoughts as they were in August and September (when we wrote it) - but there are substantial differences and expansions since then. For those, you'll have to wait for the next talk or paper we give.

Google Code finally launched its download service (yay), so Serf now has an official release - Serf 0.1.0. Combined with trunk of Subversion (i.e. 1.5+), this is now the client that I use everyday with Subversion. Woo-hoo. A few downstream packagers are starting to pick it up - so serf may come to an OS near you. And, we're still needing to finish the discussion about switching Subversion's default to 1.5 (which we more or less agreed to do at the Subversion Summit in October).

Lastly, Apache's main web server ran out of disk space this morning (and who was it that wanted backups of Maven? boo-hiss). So, today, Paul (on his birthday! wow! he volunteered though on IRC, so...well...), finally got mod_mbox moved over to the T2000 we've been prepping for the last 3 months. Yay. Apache Mailing Lists archives are now moved and on a spiffy 32-way Niagara box. Thanks Paul! Woo-hoo! (We've got some core dumps we need to fix up, but getting it off that lousy Itanium is very very worth it.)

And, there's a big piece of news coming soon. Stay tuned.

Tue, 03 Oct 2006

It's time for change on the Web

In recent months, a number of ideas in my head have crystallized. The immediate benefit is I now know the precise direction I'm headed and my exit strategy (i.e. my dissertation topic). Since this direction has potential implications on the larger Web as we know it, the next step is to start evangelizing these ideas - infecting the larger world, if you will - in order to realize these changes outside my own horizon. In order to do that, I need to tip my hand a little bit and share where I'm going - and, consequently, where you might be going soon too.

What's the problem? What are my insights? What's my approach? What are the contributions? Dear reader, those answers can be summarized in my quad chart. This is a one-page document that I produced to my thesis committee to demonstrate that I do know where I'm going and I have a plan(TM).

I'll wait while you read it. It's short.

Next, if you want to read up on the history of architecture on the web, I recommend my survey of Architectural Styles of Extensible REST-based Applications (warning 65+ page PDF!).

Finally, let's conclude with an abstract of one of our papers currently under review:

REpresentational State Transfer (REST) guided the creation and expansion
of the modern web. What began as an internet-scale distributed
hypermedia system is now a vast sea of shared and interdependent
services. However, despite the expressive power of REST, not all of its
benefits are consistently realized by working systems. To resolve the
dissonance between the promise of REST and the difficulties experienced,
we sought insights from numerous architectures in both web and non-web
domains. Our investigation yields a set of extensions to REST, an
architectural style called Computational REST (CREST), that not only
offers additional design guidance, but pinpoints, in many cases, the
root cause of the apparent dissonance between style and implementation.
Furthermore, CREST explains emerging web architectures, such as mashups,
and points to novel computational structures in domains such as
distributed computation and multimedia streaming.

Every day, we're stumbling upon deeper ramifications of what we're working with. The latest concept we're toying with are the notion of temporality on the Web and rethinking our notion of content negotiation.

And, yes, I fully expect that these changes are going to find its way into future versions of the Apache HTTP Server. =)

Buckle up. It's going to be fun.

Fri, 24 Mar 2006

Selling...

For my last post of the evening, I'm going to ramble a bit and let you, poor reader, in on one of the issues I've been struggling with lately.

One of the key criticisms that came out of my advancement was the fact that my committee was frustrated with my inability to convey to them anything interesting at a level which they could understand. Afterwards, my advisor's comment was that, like Roy, I like details and have an unquestioned mastery of those details. (That's why the committee passed me, I guess.) But, it seems that they felt there was something interesting to be said - the committee just felt that they weren't sure what it was. That's why I'm glad to get away for a little bit to let the import of these comments fully sink in.

This has brought home one of my major weaknesses: I don't do a very good job of helping other people understand what it is I'm talking about in an easily grokkable manner. In other words, if you're already familiar with the underlying concepts that I'm talking about - what I'm saying will make lots of sense (I hope!) - yet that often requires a huge cognitive jump to understand the impact of what it is I'm doing - and most importantly, why what I'm doing is so interesting.

It was epitomized again tonight at dinner with Rohit. I was trying to explain my dissertation area - and as usual, I'm not a very buzz-wordy guy. So, unsurprisingly, my concept was getting lost. Now, what was so compelling to see was Rohit instantly take what I had just said and then restate it in a way that the rest of the people understood exactly what I'm doing and why it's interesting. All I could do was just smile and marvel at the display I just witnessed.

That's why he has a PhD and I don't. This is the key issue I face. My committee (and to a larger degree, my advisor) won't grant me that degree until I can sell ideas at that same level with that same ease. Partly, it's because they believe I can do that.

On the other hand, I'm no longer willing to stick around for an indefinite number of years to jump through those hurdles. I'm not going to enter into a waiting game hoping for a stalemate to get that piece of paper. (It's a perfectly valid way of earning a PhD, but it's not for me.)

A conversation with my mother now usually touches on the following phrases: "Your father took four years; why aren't you done yet?" "Stop getting distracted by other things and finish." Thanks so much Mom for those words of encouragement. (Needless to say, she doesn't like the fact that I am at Google right now on an internship.) My dad, having gone through the process, is a bit kinder. More pragmatically, living on a grad student's stipend is really harsh. You can only do the self-flagellation thing for so long.

Is it worth me changing who I am to get that piece of paper? Will I be better off?

I don't know.

CommerceNet Tech Talk

I gave a tech talk at CommerceNet yesterday. It touched on a variety of topics: Apache (a summary of our projects, how we're organized, what some of the social structures imply), E-Commerce History (what it means to conserve dynamic websites and why this is important going forward), and my Subversion/Serf work (on building better RESTful applications). I had a number of insightful questions from the attendees.

I also picked up a few interesting tidbits - notably regarding E Programming Language's Promise Pipeline. Without having had a chance to read too much, it seems that it might resolve some of the internal dialogues I've been having about building a chain of requests that depend upon responses from a previous request without stalling the pipeline.

Finally, thanks to Rohit for inviting me!

A report from the abyss

Things are going well on my hiatus from the tower at Google. My work with ra_serf is proceeding rather well. I'm now using ra_serf for all of my day-to-day work as I continue through the Subversion regression tests (working on binary props at the moment). Everything is in trunk, so others can play along at home if they want to. My status updates are available from February and March. It should be pretty close to wrapped up by the time I leave next month. In sum, this has been a refreshing change of pace after all the work I placed into my advancement.


Powered by Bloxsom Creative Commons Attribution License Valid XHTML 1.0 Strict! Valid CSS! [Blue Ribbon Campaign icon]