Simon St. Laurent

Simon St. Laurent

  • @simonstl
  • + Simon St. Laurent

Ithaca, New York

Areas of Expertise:

  • Rails
  • XML
  • HTML
  • CSS
  • documentation

Simon St. Laurent is Senior Editor at O'Reilly Media, Inc., focusing primarily on JavaScript and web-related projects. He is co-chair of the Fluent and OSCON conferences. He's authored or co-authored books including Introducing Elixir, Introducing Erlang, Learning Rails 3, XML Pocket Reference, 3rd, XML: A Primer, and Cookies.

You can find more of his writing on technology, Quakerism, and the Town of Dryden at

The Web Platform The Web Platform
by Simon St. Laurent
March 2014
Ebook: $0.00

Introducing Elixir Introducing Elixir
by Simon St. Laurent, J. David Eisenberg
June 2013

Introducing Erlang Introducing Erlang
by Simon St. Laurent
January 2013
Print: $19.99
Ebook: $16.99

Learning Rails 3 Learning Rails 3
by Simon St. Laurent, Edd Dumbill, Eric J. Gruber
July 2012
Print: $34.99
Ebook: $29.99

Learning Rails: Live Edition Learning Rails: Live Edition
by Edd Dumbill, Simon St. Laurent
July 2010

Learning Rails Learning Rails
by Simon St. Laurent, Edd Dumbill
November 2008

XML Pocket Reference XML Pocket Reference
by Simon St. Laurent, Michael Fitzgerald
Third Edition August 2005
Print: $9.95
Ebook: $7.99

Office 2003 XML Office 2003 XML
by Evan Lenz, Mary McRae, Simon St. Laurent
May 2004
Print: $44.99

Programming Web Services with XML-RPC Programming Web Services with XML-RPC
by Simon St. Laurent, Joe Johnston, Edd Dumbill
June 2001
Print: $34.99
Ebook: $27.99

Recent Posts | All O'Reilly Posts

Simon blogs at:

Your money or your life

June 10 2014

I know it’s hard to run a large company. I know that organizations can get too deep into their own visions to imagine conflicting values. I realized yesterday, though, that: Microsoft ruined their brand for me by holding too tightly … read more

It’s the End of the Web As We Knew It

May 29 2014

For the past 15 years, Google has enforced the classic “HTML as foundation” architecture at the heart of the Web. Content creators and the developers who support them had to present content and link information as part of their pages’ … read more

Applying Design Values to Programming

May 23 2014

For the past two decades, the Web has been a vibrant intersection of design and programming, a place where practices from art and engineering both apply. Though I’ve spent my career on the programming side – you don’t really want … read more

Who holds your keys?

May 06 2014

Put your books, movies, and music on a gleaming shelf. Close the door to keep the dust off. Lock the door, so no one can take it, and hand me the key. I’ll let you have the key when you … read more

Who holds your keys?

May 06 2014

Put your books, movies, and music on a gleaming shelf. Close the door to keep the dust off. Lock the door, so no one can take it, and hand me the key. I’ll let you have the key when you … read more

Just Fork It

April 30 2014

Brian Kardell (вкαя∂εℓℓ) ‏ tweeted: Forking another spec: generally less than ideal. Spooning w another spec: weird. Knifing another spec: generally indicative of larger issues — вкαя∂εℓℓ (@briankardell) April 28, 2014 Kip Hampton ‏replied: @briankardell Sporking another spec: "welcome to the w3c, … read more

Fun, functional, and teachable?

April 24 2014

I was delighted to talk with Dave Thomas, co-founder of the The Pragmatic Programmers and author of their in-progress Programming Elixir. I’m writing Introducing Elixir for O’Reilly, and we both seem to be enjoying the progress of the language. I … read more

Can We Extend the Web Cleanly?

April 10 2014

“Design by Committee” is rarely a compliment. Can the Web shift away from that model, retaining some order without falling into troublesome chaos? The Manifesto Part of the excitement around the Extensible Web Manifesto was that it wanted to move … read more

The Power of HTML

April 04 2014

For a growing number of developers, “web” means “JavaScript”. Programmers like to focus on programming languages, but the Web’s basic power comes from its support for communications, not programming. I asked Jen Simmons, host of the Web Ahead podcast, to … read more

Transforming the Web (through transformation)

April 01 2014

Thousands of people invented it independently. Millions use it without thinking about a broader context. It’s time to name it so we can talk about it. Transformation is changing the way we look at the balance between clients and servers, … read more

Formulating Elixir

March 28 2014

I was delighted to sit down with Jose Valim, the creator of Elixir, earlier this month. He and Dave Thomas had just given a brave keynote exploring the barriers that keep people from taking advantage of Erlang’s many superpowers, challenging … read more

Yes, CSS is code

March 26 2014

One of the best things I overheard at the Fluent Conference was (more or less): “CSS live coding? I was like, that isn’t code. But then it was.” Lea Varou had changed the mind of a skeptic.   CSS is … read more

The Web is Eating Software

March 19 2014

A few years ago, venture capitalist Marc Andreessen wrote that “software is eating the world”: Six decades into the computer revolution, four decades since the invention of the microprocessor, and two decades into the rise of the modern Internet, all … read more

Implementing Hypermedia Clients: It’s Not Rocket Science

February 28 2014

At Fluent 2013, O’Reilly’s Web Platform, JavaScript and HTML5 conference, Layer 7 Principal API Architect Mike Amundsen demonstrated how to build hypermedia clients, for situations with and without humans in the driver’s seat. (If you’d like to know more about … read more

How To (Semi-)Automate JavaScript Refactoring

February 20 2014

Computers aren’t ready to write much of our code for us, but they can still help us clean and improve our code. At Fluent 2013, O’Reilly’s Web Platform, JavaScript and HTML5 conference, Giles Bowkett demonstrated a wide variety of ways … read more

Writing without knowing

February 13 2014

Sometimes you just need to leap into sharing your learning, even when you haven’t yet learned much. “Beginner’s mind” usually becomes more abstract as a person advances, making it difficult for beginners to learn from experts. If you can dare … read more

Go Node Without Code

February 06 2014

At Fluent 2013, O’Reilly’s Web Platform, JavaScript and HTML5 conference, Adobe Community Manager Brian Rinaldi showed off ways Node makes possible a new world of utilities, showing JavaScript developers a toolkit they will want to integrate into their workflows. In … read more

What should programming look like?

February 05 2014

Even as we all scramble to use the programming tools we have today, developers look ahead hopefully, dreaming of better tools. What shape should those tools take? Who should they be for? A few months ago, I had the privilege … read more

Web Application Development is Different (and Better)

January 29 2014

The Web became the most ubiquitous distributed application system because it didn’t have to think of itself as a programming environment. Almost every day I see comments or complaints from programmers (even brilliant programmers) muttering about how many strange and … read more

Please Nominate for the Web Platform Awards

January 24 2014

This March, we’ll be announcing the Web Platform Awards at the O’Reilly Fluent Conference. Fluent is all about JavaScript, HTML5, CSS3, and the best practices that make up the Web Platform, and we’d like to recognize the people who’ve made … read more

Proposing a Compelling OSCON Talk

January 15 2014

The OSCON call for proposals closes on January 30th. I’ve seen some great explanations of how to write a conference proposal generally, and my co-chair Matthew McCullough has an excellent presentation on how to write proposals and presentations:   Tailoring … read more

Is Text the Programmer’s Silver Bullet?

January 08 2014

Will programming ever depart the land of text? I loved this article on the divides between user and programmer cultures, but sharing it brought responses on the values of programmer culture. Every time I wonder publicly about programming interfaces, or … read more

Snow and Fire Make Light

December 27 2013

A few years ago, muttering about how incapable I was of creating anything beautiful, I decided to try something that seemed simple but different. I’d seen candles lighting up the winter night in containers of ice, and remembered how the … read more

Declare and It Happens

December 18 2013

Last week, I wrote about the need to make programming, at least much programming, more accessible. I was thinking in terms of business processes, so spreadsheets and flow-based programming sprang to mind. Today, though, Jeremy Keith reminds me that on … read more

Bringing Programming Out of Its Temples

December 11 2013

2013 may have seen a tipping point for the popularity of programming. Even people who aren’t programmers are suddenly arguing that it’s a good idea for everyone to learn programming. Computers are now everywhere, traveling with us, common in places … read more

Can Data Flow Help Us Escape the von Neumann Machine?

December 04 2013

About a year ago I was struck by George Dyson‘s plea in his Strata London keynote That’s why we live in this world where we follow this one particular [von Neumann] architecture and all the alternatives were squashed… Turing gave … read more

Peer to Peer Reaching the Browser through WebRTC

November 27 2013

WebRTC promises to deliver computer to computer communications with minimal reliance on central servers to manage the conversation. Peer-to-peer systems promise smoother exchanges without the tremendous scale challenges of running video, for example, through central points. The WebRTC Conference and … read more

Seduced by Markup

November 20 2013

A friend wanted to show me a great new thing in 1993, this crazy HTML browser called Cello. He knew I was working on hypertext and this seemed like just the thing for it! Sadly, my time in HyperCard and … read more

Configuration and Scale at Facebook

November 15 2013

At OSCON, Phil Dibowitz reminded me how little I understand about large systems – as he puts it, really large systems, systems of systems, with some similarities but with different people controlling parts. His work at Facebook explores the challenges … read more

Sketching in Code

November 13 2013

Last week’s Artifact Conference focused on the challenges of designing for multiple devices simultaneously. One frequent suggestions on stage and off was rough sketching, on screen or on paper, but it’s tricky to get there. The problem is easiest to … read more

Restructuring the Web with Git

November 06 2013

Web designers? Git? Github? Aren’t those for programmers? At Artifact, Christopher Schmitt showed designers how much their peers are already doing with Github, and what more they can do. Github (and the underlying Git toolset) changes the way that all … read more

Documentation as Testing

October 30 2013

“If you’re explaining, you’re losing.” That gem of political wisdom has always been hard for me to take, as, after all, I make my living at explaining technology. I don’t feel like I’m losing. And yet… It rings true. It’s … read more

Toward Explicit State

October 23 2013

Model the flow of data instead of the logic of the program? That’s crazy! How can you encapsulate anything that way? My piece on flow-based programming set off a lot of conversations, notably at Slashdot and Reddit. Many of them … read more

“More Instantly Better Vim”

October 17 2013

Maybe you’re a hardened veteran of the editor war. Maybe you just need to make Vim do more for you. Or perhaps you just want to watch Damian Conway tell a great story with Vim as the central prop. At … read more

Transformative Programming

October 16 2013

“Small pieces loosely joined,” David Weinberger’s appealing theory of the Web, has much to say to programmers as well. It always inspires me to reduce the size of individual code components. The hard part, though, is rarely the “small” – … read more

What do we get for that DRM?

October 10 2013

I had a hard time finding anything to like in Tim Berners-Lee’s meager excuse for the W3C’s new focus on digital rights management (DRM). However, the piece that keeps me shaking my head and wondering is a question he asks … read more

Communications Far Beyond the Bounds of ASCII

October 04 2013

When I first started programming, the ASCII set of characters was my playground, and it was hard to imagine how computers would deal with more. Today, in an age where international transactions are ordinary and the World Wide Web lives … read more

Security After the Death of Trust

October 02 2013

Security has to reboot. What has passed for strong security until now is going to be considered only casual security going forward. As I put it last week, the damage that has become visible over the past few months means … read more

Proposing a Compelling Fluent Talk

September 27 2013

As the Fluent call for proposals nears its September 30th (Monday!) close, I’ve had more and more questions about what makes a good proposal. For Fluent, we’d like talks centered on the Web Platform and JavaScript, but the Call just … read more

Trusted Computing Bonfire

September 24 2013

We thought we were mostly okay. Systems get hacked once in a while, and we’ve joked for years that the NSA was listening. Unfortunately, what we thought was solid turns out to be full of holes. It’s not just that … read more

Bringing People Closer to Code

September 19 2013

When I talk with developers about what needs to change in the programming world, I frequently hear two separate sets of concerns: What can we do to make developers’ lives easier? Better tools, new techniques, and new kinds of abstraction … read more

Think Functionally to Simplify Code

September 18 2013

Functional programming keeps growing. While it has long been a popular topic in academic circles, and many of my CS-educated friends wonder why it took me so long to discover it, the shift in approach that functional programming requires made … read more

After the NSA Subverted Security Standards

September 11 2013

I was somewhat surprised, despite my paranoia, by the extent of NSA data collection. I was very surprised, though, to find the New York Times reporting that NSA seems to have eased its data collection challenge by weakening security standards … read more

From “Web Development” to the “Web Platform”

September 04 2013

The rise of the phrase “web platform” over the past few years makes me very happy. For years, I’ve been looking for a good term that would cover HTML, CSS, JavaScript, and a few related technologies. The terminology has long … read more

Walking Trees and Handling Events

August 28 2013

This summer, I’ve seen all kinds of programming approaches as I’ve bounced between the Web, XSLT, Erlang, and XML, with visits to many other environments. As I look through the cool new possibilities for interfaces, for scaling up and down, … read more

This Is My Brain on (Not) Programming

August 21 2013

Last week, I admitted that one of my key programming experiences had been with a typewriter. I wasn’t programming the typewriter: I just stopped programming. A few people liked this, others wondered about it, and (since it’s August) it seems … read more

Sentience and Old Code

August 16 2013

Like many private detectives, “I didn’t get into this business on account of my interpersonal skills. I’m not what you would call a people person.” Even in the future, some stereotypes hold. The secretary is now an “indy”, code that … read more

From BASIC to HyperTalk to JavaScript to Rails to Erlang

August 14 2013

I’ve never formally trained to be a programmer, outside of occasional conference workshops and a week of XSL tutorials. In some ways, that’s terrible, because it’s taken me about thirty years to learn what some friends of mine appear to … read more

Using XSLT 2.0 as a Web Scripting Language

August 09 2013

A language built to support event handling, not strictly a functional programming language but fitting that mold. A deep understanding of markup structures. A home in the browser. That’s JavaScript, all right—but now, thanks to JavaScript, it is also XSLT. … read more

Can Markup Unite?

August 08 2013

A few years ago, I stopped talking about XML and starting talking about markup. After a few too many conversations with developers who had found XHTML, web services, and various other things that had proudly branded themselves with the “X,” … read more

Recent Posts | All O'Reilly Posts

Fluent Online Conference: Beyond JavaScript and HTML5
December 12, 2013
In this free online conference, attendees will get a practical sneak peek at some of the topics we'll be covering at Fluent.

Fluent Online Conference: Fluent 2013 Preview
April 04, 2013
In this free online conference, attendees will get a practical sneak peek at some of the most important topics we'll be covering at Fluent. If you're a developer, engineer, or are invested in the future of the Web in any way, It's your chance to see ...

"For a beginner to Rails this is a good asset."
--Srinivasan Margabandhu

"Overall, I recommend this book to the type of reader described above. As the authors state in their preface, you will not be a Rails guru after reading it; but you be a lot closer towards it than you were before this book was read."
--Jason Armstrong,

"The exercises and review questions in each chapter are interesting, instructive, and thought-provoking."
--Michael Kleper, The Kleper Report on Digital Publishing, Vol. 17 No. 4/5, July/October 2012

"Learning Rails 3 is an excellent guide for Ruby on Rails newcomers. And those already working with Rails can learn from it, too."
--Si Dunn, Sagecreek Productions

"So overall this book did absolutely give me that quick introduction to what Rails is all about. "
--Mike Smith, The UK's Unix and Open Systems User Group (UKUUG)

" "
--David Fisher, What is Noise Blog

"Most Ruby on Rails books take a software developer's approach, making them difficult to follow for web designers and developers without a lot of programming background. Learning Rails takes a different approach, starting with building web pages and gradually introducing the full software model. It's gentle, but not dumbed-down. In our screencast course, we've found this to be a highly effective way for people to learn Rails. Even if you're not a software developer by training, this book will open up the power of Rails for you."
--Michael Slater,

"Learning a new web framework (and language) can be difficult, but Simon and Edd take it one step at a time and explain everything you need to know to get started with Rails."
--Gregg Pollack,