May 20th, 2009 |
Published in
REST, column, functional programming, podcast, web | Add to del.icio.us
IEEE Computing Now is now featuring a new podcast of my first Functional Web column from the March/April issue of Internet Computing. That was the first issue of this new column, so it’s an introduction to the main topic of the column and what future editions will cover. It describes why I think functional programming languages are making a comeback, briefly compares them to current popular languages, explains why I believe they work well for web development, and describes some of the technologies and ideas future columns will explore.
April 9th, 2009 |
Published in
HTTP, REST, conferences, distributed systems, reuse, web | Add to del.icio.us
You may have already seen this on InfoQ or on Stefan’s blog, but the video of my 2008 QCon London presentation “REST, Reuse, and Serendipity” is now available.
Here it is, just a little over a year after I gave that presentation, and REST continues to deliver extremely well for my work. For example, I just finished a meeting a couple hours ago where some client code needs to interact with a particular part of my system via HTTP but wants XML instead of the JSON currently provided. Simple — it’s just a different representation of the same resources, and of course it wasn’t hard to guess months ago that such a need would eventually come down the pike, so fitting it into the system will be trivial. Can you imagine the hoops one would have to jump through with typical RPC-oriented systems for this case, where the marshaling format is typically tied to the protocol and you can’t change either one? You’d have to write a new service interface with new verbs and new messages and get the client side to use it, or write client-side wrappers around whatever you already have and ask the client programmers to somehow incorporate those wrappers into their code. Either way, there’s simply no chance of reusing existing agreements; instead, both sides require non-trivial specialization.
One problem I noticed, though, was that the client developers asked for a “REST-like interface” and also for a document listing all resource URIs, and for each one, the HTTP verbs that apply to it, the representations available from it, and what status codes to expect from invoking operations on it. Those two requests are sort of mutually exclusive, depending on what “REST-like” means; for a proper RESTful system, you don’t need a document like that, at least not the type of document they’re asking for.
December 21st, 2008 |
Published in
REST, code, perl, web | Add to del.icio.us
Following quickly on the heels of mimeparse in JavaScript, we now also have mimeparse in Perl, thanks to Stanis Trendelenburg.
December 19th, 2008 |
Published in
REST, code, javascript, web | Add to del.icio.us
J. Chris Anderson has ported Joe Gregorio’s mimeparse to JavaScript, available for download here. Joe wrote the original in Python, then others added Ruby and PHP versions, and then a few months ago I added an Erlang version. It’s great to have a JavaScript version now too.
November 22nd, 2008 |
Published in
REST, conferences | Add to del.icio.us
Just getting ready to fly home from QCon San Francisco. Not surprisingly, it was another great conference, and the organizers told me that attendance was up about 30% over last year. Having a well organized and well executed conference with a large number of great speakers tends to have that effect.
Jim Webber put together and ran the REST track, and it was one of the best tracks I’ve ever been a part of. Mark Nottingham is extremely knowledgeable on the REST and HTTP fronts, so he gave a very informative talk on HTTP and the work of the HTTPbis group. Ian Robinson and Stu Charlton both spoke on using REST in the enterprise (it’s coming, like it or not). Leonard Richardson talked about how to judge the quality of RESTful services, but I missed most of his talk because I went out to stretch my legs and couldn’t get back in because the room was so packed! I spoke about my work with REST, Erlang, and Yaws. You can get all the slide sets for this track from the QCon site.
Got to meet a few people in person for the first time, such as Leonard, and also Tim Bray (who asked great questions during my talk, thanks Tim), and Michael Nygard, who is as bright and articulate in person as he is in his amazingly wonderful book (if you haven’t read it, do yourself a favor and put it on your holiday wish list). I also briefly met Dave Pollak who gave a great talk on Scala and Lift in Erik Meijer’s “Functional and Concurrent Programming Languages Applied” track. I found it interesting that in Lift he uses some of the same request dispatching techniques I use in my work with Yaws, even though he’s writing in Scala and I in Erlang. Functional languages rule.
Speaking of Erlang, Francesco Cesarini was there, also speaking in Erik’s track. He talked about Erlang concurrency and the continued development of Erlang’s SMP capabilities. Jan Lehnardt gave a couple of CouchDB talks, which seems to just keep garnering more and more interest, and rightfully so. Dennis Byrne gave a talk on Erlang and DSLs — I unfortunately missed it but knowing Dennis I’m sure it was thought-provoking and worthwhile.
It was also fun getting to see and hang out with Jay Fields and Glenn Vanderburg again. Both are extremely sharp.
Thanks again to the QCon organizers for another wonderful conference, and I’m already looking forward to QCon London next March.