Erlang Workshop at Flourish 2009

April 5, 2009

I attended an excellent Erlang workshop presented by Martin Logan Friday morning at the Flourish conference hosted by UIC, my alma mater.  Martin is a great presenter who is a lead developer of the Erlware open source project as well as an author of an upcoming Erlang book.  I recorded parts of the workshop using the Flip Mino HD.  If you missed this event you might want to check the upcoming Erlang Factory conference where Martin will be presenting again.  Otherwise, check out the videos at the end of this post.  There was a great turnout at this event.


Is it worth your while to learn a new language with such a strange syntax?  IMHO, it certainly is!  I was first convinced after reading The End Of The Free Lunch which explains the paradigm shift in processor design from higher speed to multi-core and the subsequent need for concurrency oriented programming.  I continued to read up on concurrency oriented languages and the Actor model, and I found out about all the fuss about Erlang.  I have had far too much experience with Java applications that crash under load due to concurrency issues related to the Java shared memory model, so Erlang really piqued my interest.

It was pretty easy for me to commit to Erlang/OTP for new distributed services middleware when I worked at Orbitz Worldwide, especially since Martin is employed there as a Technical Manager.  He mentored a very small team of developers who wrote an awesome RESTful web services reverse proxy using Erlang/OTP.  It provides for robust and fault tolerant service registration, request routing and monitoring in only a few hundred lines of code.  Congrats to the team at Orbitz for recently deploying this app to production!  I plan to apply the same design for Sears Holdings’ Online Division as we continue to build out our platform. ;)

I have a couple more videos that I’ll upload later.

p.s. We’re hiring! If you are interested email me for details @ matt at mattokeefe dot com, or DM me.

JavaOne 2009

March 4, 2009

Last Thursday I received this notification from Sun regarding a JavaOne technical session proposal:

Congratulations! Your submission entitled ‘RESTful Protocol Buffers’ has been accepted by the JavaOne[sm] Conference Program Committee as an ALTERNATE session for the 2009 JavaOne conference in San Francisco, California, June 2-5, 2009.

As an alternate speaker, your badge will allow you full access to the Conference sessions, BOFs, Hands-On Labs, and the Pavilion.

It is really exciting that I might be called upon to present again.  Last year I learned a lot about how to prepare a technical session, and Complex Event Processing at Orbitz was very well received.

Here is the abstract for our proposed presentation:

At Orbitz, Jini has served us well, but at the cost of tight coupling due in part to shared code and Java serialization rules. In order to improve agility, we are migrating to a RESTful web services architecture using Protocol Buffers to define message formats. The result is loosely coupled services with autonomous life cycles supporting evolvability and innovative mashup-style development.

This session is intended for experienced architects and tech leads that are familiar with distributed systems and data encoding methods.

What you will get from this session:

- using document schemas to constitute language neutral contracts

- using standard HTTP plumbing and intermediaries

- implementing a reverse proxy for request routing based on RESTful URLs

- applying OLAs for governance and service isolation

- writing automated service layer tests to ensure backward compatibility

I’ll see you at JavaOne, with Alex Antonov!

Hello World

January 4, 2009

One of my New Year’s resolutions is to blog on a regular basis.  I plan to write about my professional interests including the Internet, distributed systems, application monitoring and management, event driven architecture, complex event processing and customer driven innovation.  I am involved with a couple of open source projects now, ERMA and Graphite, and I’d love to share some experiences that might motivate you to check them out.


Get every new post delivered to your Inbox.