They use subversion, we use git

This isn’t true anymore. The O’Reilly Atlas system now uses git!

O’Reilly Media’s DocBook build system lives in a subversion repository, and that’s just fine, but we like to use git. Subversion is more than adequate for a book. We’re not really dealing in code, and we don’t really branch a book chapter. There’s already a lot of social control built into the process. One author says “I want to work on regexes” and another says “I want to work on subroutines” and off they go to work on those separate chapters. Since the outline is mostly set in stone (but one of those really soft ones, not like Bedrock), we don’t have to move a lot of files around or guess at cross references. This means that we don’t need excellent branching and merging support. Continue reading “They use subversion, we use git”

Dealing with errata

To start a new edition, the first thing that we want to do is fix the old edition. Fortunately, O’Reilly Media has a nice system for reporting and confirming errata. Many times, minor fixes such as typos can even show up in subsequent printings of the same edition. Bigger changes have to wait for a new edition.

To start work on the sixth edition, I pulled up the list of confirmed errata. The list might look long, but for an author it seems short. There are so many things that can go wrong in a book that it’s surprising that more things don’t go wrong. The list is really even shorter than it looks because many of the reports are actually duplicates; as the reports come in, we don’t remember which ones we’ve previously confirmed.

I was expecting to spend most of the day applying the changes, but I discovered that I’d already made most of the fixes. We’ve been tracking Learning Perl in source control for awhile (first in subversion but now git), and I usually make fixes as they come in. It’s easier to do it that way since I already have to look at the sources to confirm the errata.

I don’t just look in the printed book because the ink on the page is a couple steps removed from the original material. I want to see if it’s something that I messed up (and it usually is) or if something changed in the printing. O’Reilly actually has a nice system for that now: all the sources go into a DocBook format which I can then immediately use to build the (mostly) ultimate form. By adding a few keywords to the commit message, O’Reily’s special post-commit hooks take over to format the book. At any time that I like, I’m 15 minutes away from seeing what the book looks like, just as a PDF file instead of a dead tree. That means that I should also catch errors before they make it to the printer.

So, that’s off my to do list sooner than I expected. The next step is to figure out where the new material is going to go.

Welcome to Learning Perl, the blog

I’m the co-author, with Randal Schwartz and Tom Phoenix, of Learning Perl. I was the lead author on the fourth and fifth editions, which really means I was the person to talk to the publisher and handle the management details of the revisions. Now I’m doing the same for the sixth edition, which, despite it’s particular number, will still cover Perl 5.

There has been quite a lot happening in Perl 5. Things were slow in the Perl 5.8 days, but since Perl 5.10, releases have been regular and many. Since the last edition of Learning Perl, we’ve seen the release of Perl 5.12, and before we manage to get the next edition released, we’ll get Perl 5.14. We’re going to cover through Perl 5.14 in the next edition.

We’ve actually been working on the book for quite awhile. Randal teaches Perl classes through Stonehenge and I teach classes through The Perl Review, all based on Learning Perl. As we teach we come across better ways to explain things, incorporate new material and latest features, and develop new examples. Those make it back into the book when we publish a new edition.

We also take feedback for other trainers, such as Peter Scott from Pacific Systems Design Technologies (PSDT) who uses Learning Perl as the basis for his classes for the O’Reilly School of Technology’s Perl Programming Certificate as well as his Perl Fundamentals video training series.

While we write the next edition, we might be a bit too busy to update this blog, but we’ll try to keep you up to date with our work. Once we’ve finished the writing, we’ll have more time to add extra content on this blog. If everything goes well, the next edition should be out next summer.