CUFP 2013 Erlang Web Tutorial

September 12th, 2013  |  Published in conferences, erlang, web  |  Bookmark on Pinboard.in

On Monday Sep. 23, 2013, I’ll be giving a tutorial on Erlang web development at the Commercial Users of Functional Programming (CUFP) conference in Boston. Please plan to attend if you’re interested in how various Erlang web servers and frameworks work. And don’t be afraid if you don’t know Erlang — I’ll also provide a brief Erlang introduction, so you’ll be able to follow along even if you don’t yet know the language. Or better yet, attend Francesco Cesarini’s and Simon Thompson’s Erlang tutorial that morning and get a great introduction to the language and its frameworks.

In fact, check out the whole CUFP schedule — in general there are a number of interesting talks at the conference part on Sep. 22, including my old friend Dave Thomas’s keynote, and a bunch of nice tutorials on the two following days. I’m greatly looking forward to attending Yaron Minsky’s and Anil Madhavapeddy’s OCaml tutorial and Dean Wampler’s Scala tutorial, since I don’t know either language (yet).

Hope to see you there!

Final “Functional Web” Column: the Nitrogen Web Framework

December 20th, 2012  |  Published in column, erlang, framework, HTTP, web  |  Bookmark on Pinboard.in

The November/December 2012 issue of IEEE Internet Computing magazine contains my final “Functional Web” column covering the Nitrogen web framework. As with all my previous columns, this column is available here in PDF form.

My first column for IC appeared in March 2002, nearly 11 years ago. Back then my column, called “Toward Integration,” focused around enterprise middleware. My old friend Doug Lea, who was on the IC editorial board at the time, suggested that I write it, and who in their right mind would turn down Doug Lea? In March 2009 I stopped that column and began writing the “Functional Web” column, focusing on the use of functional programming languages and techniques for web development. Prior to writing for IC, I was a columnist for the C++ Report magazine, starting in January 1995, and then later continuing that column over in the C/C++ Users Journal. That column focused on distributed object computing, and I stopped writing it in 2005.

That’s a total of 18 years as a columnist, which is a lengthy duration for a side gig done on my own time (and for IC, done on a purely volunteer basis). My common goal for all the columns was to write for practitioners like me — to try to cover topics, approaches, and ideas that other software developers could immediately apply in their own work. I also saw column writing as a way to try to pay back all the authors from whom I had learned so much over the years.

But 18 years is enough, for now anyway. While I might return to publishing in the future, for now I just want to focus on technology and software development.

Thanks to all my readers for your feedback and encouragement over the years. You definitely made it all worthwhile.

New Column: Server-Sent Events with Yaws

October 8th, 2012  |  Published in column, erlang, events, notifications, web, yaws  |  Bookmark on Pinboard.in

My latest Internet Computing column, Server-Sent Events with Yaws (PDF), is now available. It discusses the fact that developers are increasingly building Web applications that rely on notifications from the server, such as updates from social networks, alerts from application monitors, or information from sensor networks. But given that HTTP is a request-response protocol, such notifications can be challenging, giving rise to techniques such as long polling and to entirely new protocols such as WebSocket. These challenges can be especially significant for mobile applications due to intermittent client connectivity and device battery-life issues. This column explores how the Yaws Web server, written in the Erlang programming language, supports the W3C Server-Sent Events notification approach.

Latest Column: Play2

August 30th, 2012  |  Published in column, framework, functional programming, scala, web  |  Bookmark on Pinboard.in

I’m a little late in posting this, but in the July/August 2012 issue of Internet Computing, guest columnist Sadek Drobi covers the Play2 framework. Sadek talks about how today’s Web evolutions and the emergence of software as a service and Web services have led to new challenges in programming: distribution, scalability, management of various data formats, stream management, and so on. He explains that Play2 can significantly aid developers in capitalizing on the opportunities the Web offers while minimizing potential risks by leveraging the strengths of functional programming. He outlines functional programming’s power in this context at several levels: data and data format manipulation using higher-order functions; reactive composition with nonblocking I/O for scalability; and reactive stream processing and manipulation using Iteratees with WebSockets and Server-Sent Events. Here’s the PDF of the column.

The same magazine issue is also the “Programmatic Interfaces for Web Applications” special issue that Tomas Vitvar, Cesare Pautausso, and I co-guest-edited. Our guest editors’ introduction explains the purpose of the special issue and introduces the five articles comprising it:

New Column: Roy

May 21st, 2012  |  Published in column, javascript, languages, web  |  Bookmark on Pinboard.in

In the May/June 2012 issue of Internet Computing, Brian McKenna provides us with an excellent guest “Functional Web” column about Roy, a statically typed functional language that targets the JavaScript platform. Brian’s goals with Roy are to take advantage of static typing and functional programming to provide better safety and productivity for web programmers without forcing them to give up the ubiquitous JavaScript platform. Here’s the PDF of Brian’s clear and well-written article, loaded with informative code examples.