Scott Hildreth wins the Programming Perl cover

Scott Hildreth, wearing his YAPC::NA::Madison shirt, shows off the framed and signed Programming Perl cover he won from this blog. I never keep this swag for very long, so you might get some too if you follow along.

He’s also standing in front of a Chicago White Sox banner, which almost cancels out the benefit that he gets from using Perl.


OSCON discounts for the Camel book

During OSCON, the Programming Perl ebook is $19.99 (50% the list price) when you buy it through the open source geeks promotion or by using offer code CFOSCON.

Besides Programming Perl, you can also get Randal’s Schwartz’s Learning Perl Video Series for $74.99 (also 50% off).

Win a framed cover of Programming Perl

A framed cover of Programming Perl showed up in my mail today. Our publisher, O’Reilly Media, has been doling these out to authors in the past couple of months. Tom got one about a week ago and I was slightly jealous, even though I already have one for Learning Perl. So what am I going to do with this one? I’ve signed the front glass, not wanting to disturb the very nice framing job, which also means that if you hate my signature, a little rubbing alcohol should remove that easily.

A framed book cover, with my signature

I’ve come up with some creative giveaways for the books, but I wonder what I should ask our readers to do for a chance to get the framed cover. It’s not enough to simply put your name into a raffle. I wouldn’t mind auctioning it on eBay, but that locks out the people who can’t get an account. But, I want the recipient to give something to get something. So, this time, I’ll let people decide what they’d like to exchange. You don’t have to give something to me; maybe you fix a bug in perl, donate a bunch of stuff to your local hacker space, or something else that makes the universe a slightly better place. Leave a comment pointing to what you’ve done.

I still have some full books (cover and all the other pages) to give away too.

Re: What is Modern Perl?

Dave Cross reviewed Programming Perl for josetteorama. It’s no surprise to us that he likes the latest edition.

He spent most of his review distinguishing between different definitions of “modern Perl”. Most people use that term in conjunction with the module and book of the same name, which means they are programming in a particular fashion with a particular set of modules. The Camel book has never cared what you are doing though. It’s a reference for the Perl language, not a guide to Perl application development.

As Dave points out, “modern Perl” can also mean “up to date”. He says:

The Perl of 2012 is substantially different to the Perl of 2000.

and

The definitive Perl book is now up to date with the way that the best Perl programmers now program Perl.

That was always the plan. We talked about the other meaning of “modern Perl”, but fully realizing that “modern” isn’t the same thing as contemporary. “Modern history” started right after the Middle Ages. Indeed, much of “modern Perl” started in 1995 when we got Perl 5. The “modern Perl” movement isn’t so much about getting people to program with the stuff released today, but to get them to stop programming in the Perl 3 fashion. That’s what chromatic says on the back cover of Modern Perl:

[M]ost Perl 5 programs in the world take far too little advantage of the language. You can write Perl 5 programs as if they were Perl 4 programs (or Perl 3 or 2 or 1), but programs written to take advantage of everything amazing the worldwide Perl 5 community has invented…

“Modern Perl” is really Perl 5, and that’s evolving because Larry specifically created Perl 5 to be user extensible (and he went one further to make Perl 6 user-mutable). How we extended and used Perl 5 ten years ago is different than five years ago is different from today, and we fully expect that in five years we’ll be doing it in another way. However, the core language will be what it is, and that’s what Programming Perl is about.

More Programming Perls to give away

Just when I’d mailed off my last Programming Perl, O’Reilly sends me five more. I think I was suppose to get these before YAPC, but it’s too late for that. Don’t they realize these are big, heavy books? Now I have to figure out how to give away five of these. Although we are arranging for the second printing, having sold out the first, these are still the first printing.

18 pounds of more books

To get these books, you’re going to have to do more than send me a postcard. This time, you have to support a charity where I was recently elected to the Board of Directors. Fractured Atlas liberates the artists by doing the back office bits for them, including donor management, project insurance, health insurance, space rental assistance, and many other boring, non-arty bits. There’s a lot of web programming involved in the tools that artists use, and a lot of tools to transform data in various ways. Make a $50 or higher donation to their general fund and send me your receipt (minus details I shouldn’t see). I’ll take everyone who does that before July 19th and randomly select five people to get a signed copy of the Camel, or pass them out for those who go bend my challenge. Even if you don’t want a Camel, consider a gift that helps artists make our world better.

Recipients of my thanks

  1. Demain, who supported The Debate Society with a monthly donation through Fractured Atlas.

My first Camel royalties

I just made my first $4 on Programming Perl. O’Reilly Media just moved to a monthly (instead of quarterly) royalty report and payment. Now I get to the reports at the end of each month, although it’s for three months back. Royalties come three months after so booksellers have time to track inventory, send money back, and more troubling, return books they don’t want anymore.

Programming Perl was officially available in March, so I won’t see any significant money until the end of June. However, it looks like some people bought the ebook version directly from O’Reilly so they’ve already delivered those and taken the money. I can get those royalties now. That’s $4.20.

Things are looking good for the Camel.

Get your Camel signed, remotely

You can almost always get a signature from an author if you find them in person at a conference, Perl mongers event, or on the street, sometimes you don’t have those opportunities (especially since all of the authors are from the United States).

You can still get the signatures even without those opportunities. I have a limited number of “Authentic Author’s Signature” stickers from O’Reilly. If you send me a postcard with your address (here’s mine), I’ll send you one of these signature plates.

Programming Perl giveway winners

I had eight copies of Programming Perl to giveaway. They were making a mess out of my office and I wanted to get rid of them. I could have just stood on the street handing them out to morning commuters, but who wants to juggle a four pound book and a coffee at the same time? I challenged people to use Twitter to give me a reason they deserved one of these copies. There’s are the winners:

Constantin sent me tourist info

  1. Constantin Tudor, who has submitted programs for the Learning Perl Challenges, and, based on my “Nobody is a good speaker when they start” YAPC::NA guest post, has decided to give some Perl talks. That’s certainly worth a Programming Perl.
  2. @philipstevens wanted a Programming Perl for his birthday, so I sent him one.
  3. Richard from Belgium sent me a nice postcard from Brussels, so I sent him a Programming Perl.
  4. Martin Atukunda from the UK, who has a new flat and empty shelves. Programming Perl gets to be the first new book on that shelf.
  5. Craig, for sending me a postcard from Suriname.
  6. Flavio Poletti, who wrote an “HTTP Transfers with a Soul” for The Perl Review.
  7. Alberto from Torino, who sent me a nice postcard and needs to contact me to give me his mailing address.
  8. Ian from South Africa, who sent me a nice postcard about Louis Lamour paperbacks.
  9. André from Montreal, who sent me a nice postcard of a Montreal city scene.
  10. Anton from Moscow, who sent me an amazing set of Soviet travel postcards from the 30s and 40s.

Yes, I started with eight and gave away 10. I don’t know how I keep getting more books, but they multiply. It’s one of the reasons that I have to get rid of them.

Many more people tweeted and sent me person mail, but, honestly, most people didn’t say anything compelling. They wanted a new Programming Perl because it would help them with Perl, but that’s the same for everyone. That’s not a good enough story for me to spend $35 in postage to send you a free book.

Although I won’t mention names, some people were gracious enough to donate that shipping cost back to the site, which lets me spend more time on writing about Perl. Thanks!

Get one of my 8 free copies of Programming Perl

I have eight print copies of Programming Perl that I want to give away. You can beg explain on Twitter, using my handle @briandfoy_perl, why you think you should get one of these copies for free. If Twitter isn’t your thing, you can enter the drawing by sending me a postcard from your hometown, using the contact info for The Perl Review. If you don’t like postcards, you’ll have to get creative. Maybe that means you post a picture of you with one of my other books somewhere. If you email me, though, you’re likely to get lost in my inbox.

These books take up 17 inches of shelf space and my shelves are already tightly stuffed with many other Perl books. Two of these books are over seven pounds (that’s all I could put on my postal scale without getting the error read-out). With over 1100 pages, I don’t think I could get through all eight copies before the next one comes out (and I don’t think I’d want to. I’ve read the chapter on pack too many times as it is). I have more copies than my nearest Barnes & Noble (I checked).

I don’t have the space for these!

I can only put two of these on my postal scale if I want to get a reading

I’ll ship it anywhere in the world that the US Postal Service will let me, although any customs duties are up to you. You can find out if you’ve won by checking this post where I’ll post the winners and ask you to send me your postal address.

20 years of Programming Perl

The first edition of Programming Perl, published 21 years ago, was actually Programming perl with a lowercase p. It was also before the time before the O’Reilly Perl books shifted to their blue color. The “Pink Camel” is the original, covering up through Perl 4. Tim O’Reilly himself was its editor. How’s that for prestige?

The first three editions were published at about five year intervals, tracking the major changes in Perl. The second edition came out a couple of years after the release of Perl 5 itself and was completely rewritten (just like perl). The latest edition makes up for 12 years of missing updates. Why? In 2005, many people thought Perl 6 would be there by Christmas. It took awhile for people to figure out that Perl 5 wasn’t going away, and then awhile to update the book for everything that’s happened since then.

550 fortnights, 1,720 folios, 6 authors, 4 editors, ≅0.5 light-nanoseconds, ¾ stone

But, let’s get down to numbers. Here’s the physical details, with some deltas. Although the Fourth Edition looks big, it’s bigger at a slower rate than the previous editions except for the thickness. The latest edition has a thicker paper so it has a huge jump in size.

Cover
Year (Δ)¹ January 1991 September 1996 (+5.67) July 2000 (+3.83) February 2012 (+11.5)
Perl version² 4.036 5.003 5.6.0 5.16
Authors Wall & Schwartz Wall, Christiansen, Schwartz, & Potter Wall, Christiansen, & Orwant Christiansen, foy, Wall, & Orwant
Editor Tim O’Reilly Steve Talbot Linda Mui Andy Oram
Pages (Δ)³ 482 670. (+188) 1,104 (+434) 1,184 (+80)
Thickness, cm (Δ)⁴ 2.50 3.49 (+0.99) 4.13 (+0.64) 5.71 (+1.58)
Weight, grams (Δ)⁵ 669 1,052 (+383) 1,364 (+312) 1,644 (+280)
Page density, pages/cm (Δ) 193 157 (-36) 267 (+110) 207 (-60)
Linear density, grams/cm (Δ) 268 301 (+33) 330. (+29) 288 (-42)
Amazon.com price, USD⁶ 4.46 7.53 41.64 29.19
Catalog page O’Reilly O’Reilly O’Reilly O’Reilly

Notes

  1. Official publication month and year, as registered with the Library of Congress. This might be significantly different than the date of its first public availability.
  2. The latest Perl version as mentioned in the preface.
  3. The greatest page number using arabic numerals, ignoring front matter and unnumbered pages.
  4. The width (short dimension) of the spine, measured with an uncalibrated wooden ruler, ignoring expansion for water retention (ruler and book) and damage (ruler and book). I did not bake the ruler or books before measuring. Books and ruler are stored at about 10% relative humidity.
  5. Measured with an uncalibrated US Postal Scale reporting to 0.1 ounces. This also ignores water retention. Books are stored at about 10% relative humidity.
  6. In 2012 dollars, using the lowest price on Amazon.com for books advertised as “New”.