Subscribe to
Posts
Comments

The shared server that we’re currently using to host book.realworldhaskell.org is, as you’ve probably noticed, prone to sluggish response times. This is because it’s hosting rather a lot of services and content, notably the Subversion and Mercurial manuals.

As our traffic levels continue to increase, I’d like the book content to remain nippy, and so I’m thinking of moving to a virtual private server arrangement of some sort. That market is crowded, to say the least, so it’s very difficult to make an informed decision.

I’m looking for your recommendations for a provider that does a good job of balancing price with availability, network bandwidth, memory, configurability, and so on. Thanks for your help!

I just added some new beta chapters for your reviewing pleasure.

  • 7. Using typeclasses
  • 8. Input and output

Also, the table of contents should now be complete, albeit with most chapters ghosted out.

Enjoy!

A few people have asked for details about the comment system we’re using for the book. I picked up the idea from the drafts of the Django Book and version 3 of the GNU General Public License, both of which were being developed at the time I was thinking about writing a Haskell book and finding collaborators. I believe that Adrian and Jacob thought about enabling comments on individual paragraphs based on the system Jack Slocum put together for his blog.

To the best of my knowledge, the FSF never released the software they developed for managing comments on drafts of their licenses, so that wasn’t an option. When I talked to Adrian and Jacob about possibly reusing their comment software, they demurred, claiming that their code was put together in too much of a rush to be of much use to other people.

Since I was intensely interested in making it easy for people to comment on individual paragraphs based on the experience of the Django and GPL authors, this put me in the position of developing something myself. It wasn’t hard to come up with a few obvious pieces of software that would speed up the development of the comment system.

We’re developing the book using DocBook. I wrote a few small Haskell programs to pluck code snippets out of normal Haskell source files, so that we can refer to preformatted entities instead of having to paste code into the book. We do the same thing with sessions of interaction with ghci, the GHC interpreter. This follows a practice I used when I wrote the Mercurial book, and it’s proved very useful in both instances.

I use xsltproc and a few custom stylesheets to control the generation of HTML, styled afterwards with out-of-line CSS. The browser side of the comment system is a mere 91 lines of Javascript, using the wonderful jQuery toolkit. When I was developing the Javascript code, I made extensive use of Firebug and YSlow, both of which are excellent pieces of software.

On the back end, I wrote a small comment management system using Django, backed by a MySQL database. Django has been a mixed blessing, and I might not rush into using it so quickly again.

In spite of a few rough patches early on (comments being associated with the wrong paragraphs, performance problems), I think the comment system has worked out very well so far. If you’re a writer and have a DocBook project that you’d like to use the system with, let me know and I’ll try to find some time to release it under a free license.

Thanks for your inquiries, and keep the thoughtful and encouraging comments coming!

I’m pleased to announce that the book site now has real content! We’ve published the first handful of draft chapters for public review.

Service updates, most recent first:

  • 2008-01-21 18:00 PST: load problems resolved. Thanks for bearing with us!
  • 2008-01-21 12:00 PST: the server is being hammered at the moment. If you’re having trouble accessing pages, or submitting comments, it might be best to wait a bit for the load to settle down. Sorry! This is mostly a good problem for us to have ;-)

Our internal reviewers have already provided over 2,250 comments on the first drafts that we wrote. To those reviewers: thank you! Today’s chapters include many major revisions as a result of your thoughtful feedback.

The book has an integrated comment system; please use it to tell us what you think. We’d love to know about every detail you think we should improve upon: more appealing examples, better descriptions, clearer wording, you name it.

We’ll periodically add new chapters and revise existing drafts. When we do, I’ll post a note here.

Thanks for your impatience and enthusiasm. We’re excited to finally be sharing our work with you!

Simon needs no introduction as an academic and hacker nonpareil, but I want to write a brief note about his generosity and qualities as a mentor.

In the spring of 1994, I was an undergraduate at Trinity College Dublin, in Ireland, obsessed with functional programming. Having never had any prior conversations with any FP researchers, I sent Simon an email out of the blue, asking him to hire me as a summer intern. To my astonishment and delight, he didn’t hesitate to offer me a job.

The summer that followed was one of the best of my life. I was immersed in the innards of GHC at a time when Glasgow was the centre of the functional programming universe, and I had the opportunity to work with many wonderful, bright people. I trace my interest in writing a book about Haskell, and in working to make sure we can publish it openly for the benefit of the community, directly to Simon and the model he set.

Simon’s influence on the Haskell community is as much personal as it is technical: through example, he encourages an open, friendly spirit of inquiry and collaboration. We owe him a lot.

Thanks, Simon! And here’s to the next fifty!

An Update

Some of you have been asking for an update recently. So here you go. We’ve completed the first draft of 13 of the book’s chapters. Four of the chapters, plus several of the appendices, had already been sent to technical reviewers, and we’re nearly finished with the second drafts of those. The current plan is to make a large batch of material available to the technical reviewers sometime within the next week or two. Thanks to everyone for your continuing interest!
We’ve been busily working towards getting half of the book chapters written in first-draft form by the middle of November. We’re likely to meet this goal, but it’s going to be a busy few weeks of writing and hacking.

I’m giving a five-minute talk at this month’s Ignite SF: “Functional programming: from buzz to products”.

You’ve heard about Haskell and Erlang, but why care? Ten ways you can ship better products faster using FP languages.

Wow, what a response

So far, I’ve managed to be completely amazed by every aspect of the response to the book. You’d think I might be starting to adjust my expectations by now, but after publishing the first few draft chapters at midnight last night, I was still dumbfounded to check this morning and find almost four hundred comments from fifty different people, after just nine hours!

We’re very grateful to everyone who has commented so far. I am simply thrilled with all of your help.

Whew! That was a lot of work. I’ve just published the first few chapters for our early reviewers to take a look at. Once we’ve had a couple of weeks to gather and respond to people’s comments, we’ll be making those chapters available in public.

« Prev - Next »