Showing posts with label book review. O'Reilly. Show all posts
Showing posts with label book review. O'Reilly. Show all posts

Wednesday, September 26, 2012

My 19 Days of Python: Interlude 1

OK, it happened. The engine stalled and I haven't been able to get it started again. One of the things I know about programmers is that they program all the time, whether they're at work or not. Some of them keep brutal, late-night hours banging away at the keyboard, trying to solve arcane puzzles and get their code to work.

But it's been over two weeks since my "stall" and I've been avoiding Python and this blog like cancer.

To be honest, I have also been distracted by other priorities, so it's not like I've been sitting idle, staring at a blank blogger composition page, and wishing the muse would whisper something into my little, shell-like ear.

In the meantime, I've noticed two competing philosophies that relate to my current project and dilemma: should non-programmers code or not code? Actually, opinions vary, but I guess it depends on why you're invested (or not) in non-programmers learning to program.

Don't worry. In my case, the chances of me inflicting any program I may write into a professional setting is non-existent. The only place I will (and have) publish the fruits (such as they are) of my labors is here among the millions of chimpanzees vainly attempting to recreate the complete works of Shakespeare (or maybe just a sonnet or two).

Today, I realized that I ran out of excuses reasons for not returning to this project. The only question now is if I should try to pick up where I left off, or go all the way back (not that the distance is exactly vast at this point) to Day 1 of Downey's book, and start fresh (No, I wont write "Day 1A" and "Day 2A" if I choose the latter option)?

The first step is for me to go over everything, including the comments that have been languishing, and see where I stand. Hopefully this will mean that Day 4 will be forthcoming.
"The single most important skill for a computer scientist is problem solving." -Allen B. Downey

Tuesday, September 6, 2011

Book Review: Learning Perl, Sixth Edition

Paperback: 390 pages
Publisher: O'Reilly Media; Sixth Edition edition (July 1, 2011)
ISBN-10: 1449303587
ISBN-13: 978-1449303587

It's been around awhile...the Learning Perl book I mean. Now in its sixth edition, this O'Reilly classic is still going strong. But first things first.

Who is this book for? You don't find out until the first page of Chapter 1, but it's called "Introduction", so I guess that's OK. Is this book for you? Depends. According to page 1, "This is not a reference book. It's a tutorial on the very basics of Perl, which is just enough for you to create simple programs mostly for your own use." In other words, you'll learn Perl but not much more. The reader is presumed to know some programming and is someone who specifically needs to learn Perl. Beyond the basics, don't expect much out of Learning Perl, but that's not a fault of the book. That's its nature. Anything else you need to know, you'll have to get somewhere else. That said, you start learning Perl here.

Why a Sixth edition? That's easy to find in the front matter of the book. The changes are all laid out in the "Changes from the Previous Edition" section. The book's been updated for Perl 5.14, but that's on the cover. Keep in mind that some of the book's sample code will only work with 5.14, so if something seems "broken", check the version of Perl you're using (this section in the book tells you how to do that). Not all of the sample code requires the latest version of Perl, though. A lot of it will work with older versions.

I loved the line in the Preface that said, "We can't give you all of Perl in just a few hours. The books that promise that are probably fibbing a bit." That's the reality of learning how to program in Perl or any other language. I love the honesty. Like Edna says, "I covered the basics." (If you don't know who I'm quoting, turn in your geek badge now).

Now that you know who this book was written for and what it won't teach you, what will it do for you? If you're at all familiar with the prior version, you can expect this book to maintain the same level of excellence as edition five. About the only complaint about that book was that it was too basic, but I've explained that already. The sixth edition is an update on a time-honored Perl book that is designed to just open the door to programming in Perl.

Each chapter provides the conceptual information for the topic at hand and ends with a set of exercises allowing the reader to practice what they've learned. The book doesn't leverage each chapter to allow the reader to build a larger project as they progress through the book. That's often the frustration when I go through beginners books, because I want the programming to actually do something. If you get that feeling, remind yourself about the book's caveat and then keep going.

If you are an experienced coder, this book might seem a little elementary for you, even if you don't know Perl, so there may some parts you'll skim through, but if you need a ground level foundation, Learning Perl is the place to come.

Not much more to say. What you see is what you get. If you want to learn Perl and already know a little about programming, buy this book. It's a good investment in your precious time and your hard earned dollars.

Saturday, August 13, 2011

Migrating Applications to IPv6: A Review

Paperback: 50 pages
Publisher: O'Reilly Media (July 7, 2011)
ISBN-10: 1449307876
ISBN-13: 978-1449307875

This wasn't what I expected.

I have an interest in migration from IPv4 to IPv6 for reasons I can't really explain right now, but I thought that reviewing Dan York's book Migrating Applications to IPv6 would hone my thinking and expose me to a different way of looking at IPv6. After all, most of us think of implementing IPv6 on an internetwork. We think of the expanded IP address space and the changes in DNS records, how routing mechanisms will change in IPv6 implementations and so on. We don't really think about how the change will affect applications. You might not have thought that IPv6 would change anything about how you write applications. Dan York's book gets you to think again.

But in only 40 pages?

Actually, the content of the book is only 34 pages. That's like a short chapter in just about any other IT book I've ever read or reviewed. Something made me decide to check around at other books on IPv6 recently published by O'Reilly. There's a trend.

Cricket Liu is something of a mainstay at O'Reilly in terms of her DNS and BIND book (in its 5th edition as of June 2006). Her DNS and BIND on IPv6 book was published at the end of May this year. It's only 52 pages long with about 37 pages being actual content. Planning for IPv6 by Silvia Hagen will be published at the end of August and it's a total of 82 pages long. If you put these three books together, you might have the start of an actual IPv6 book based on the most recent IETF RFCs for IPv6 implementation, but I'd certainly expect more to round out the subject.

Each of these three books runs a little over $25.00 each, but you could also buy Hagen's IPv6 Essentials book (published in 2006), with a full 448 pages of information, for only about ten dollars more. I looked through the front matter of York's book trying to find some reason for it's "mini-format". I couldn't find anything. I've never seen a complete book from O'Reilly before that was so thin on content. I had expected an in-depth treatment of the topic but what I found was a "pamphlet" of introductory ideas, tips, and tricks.

York's book does address, in a very compressed space, a number of issues that you will need to consider as an applications developer, and they all have to do with how your application accepts, manages, and stores IP addresses and DNS records. If your app requires that an IP address be input, does it do so allowing enough space for IPv6 addresses? If your app manages DNS records, will it be able to accomodate both A and AAAA records (IPv4 and IPv6 respectively)? Does your app expose any APIs that have an IP address format dependency? As a developer, if you haven't asked yourself those questions before, this book will help you find the answers.

Is the information in this book useful? Yes. I found the content, what there was of it, well written, insightful, and knowledgable. Is it worth 25 bucks? That's hard to say. If I wanted information on application migration, DNS and BIND, and general IPv4 to IPv6 migration planning, would I pay over $75.00 (for the three books I just mentioned) for a total page count of only 174 pages, no matter how well written or useful, when a full-sized book of almost 450 pages is less than half that cost?

Sorry, but I'm having a tough time trying to figure out what O'Reilly's strategy is here. When I requested a review copy of York's book from O'Reilly, I didn't give the page count a single thought. Now, it's all I can think about.

What happened, O'Reilly?

Thursday, October 14, 2010

HTML5: Up and Running

Author: Mark Pilgrim
Format: Paperback, 240 pages
Publisher: O'Reilly Media; 1 edition (August 25, 2010)
ISBN-10: 0596806027
ISBN-13: 978-0596806026

I became impatient with the history lesson in Chapter 1 and wanted to test drive HTML 5. What's different? What's new? Guess I'll have to work to find out. As the blurb I found at Amazon said of HTML5, It’s not one big thing. It's not a matter of learning a new markup language from scratch, which is both a good and bad thing. In fact, again to quote the author's blurb, “Upgrading” to HTML5 can be as simple as changing your doctype...In HTML5, there is only one doctype: !DOCTYPE html. That's encouraging, but just how easy is it to learn HTML5 and how easily can you learn it from Pilgrim's book? I went in search of the answers.

The first place I went was the book's Preface to see where I could find a link to the source code. I was pointed to the author's site Dive Into HTML5, which is the original book on which the book I'm reviewing is based, but it didn't have a clear cut link to anything called "source code". Maybe this is where It’s not one big thing comes back to bite me.

Chapter 2: Detecting HTML5 Features introduced me to Modernizr (yes, I spelled it right), which is a nifty JavaScript library that detects the HTML5 and CSS3 features your browser will support. It also creates a self-titled global JavaScript object containing the properties for each such feature. However, if your browser doesn't support certain HTML5 features, Modernizr won't fix it. But what about learning HTML5? We kind of got away from that.

Oh wait! Chapter 3: What Does It All Mean? helps. I found the link to a set of code examples which got me started. Then, as I progressed through the book and through the author's site, which runs in parallel and often in duplicate, I realized how the book was organized. This is no small feat, but maybe it was my expectations that made the task difficult. I was expecting a front-to-back guide to getting started with HTML5 and what I discovered was a collection of loose pieces in a box.

Learning HTML5 from Pilgrim's book is like putting together a jigsaw puzzle. When you first open the box, all you can see are a collection of jumbled pieces that, taken at a glance, don't make a lot of sense. If you had never encountered a jigsaw puzzle before, you might look, become confused as to what these pieces mean lying in such disarray, close the lid, and walk away looking for something more comprehensible.

One missing pieces of the puzzle, so to speak, is a knowledge for HTML4. Imagine the raw code of an HTML4 web page. Now imagine that you are presented with a list of tags and other markup elements you're not familiar with. What are you supposed to do with them? How do they work? What do they replace (if anything)? Using Chapter 3 on his web site for an example, I tried to navigate around until I could find something I could sink my teeth into.

Got a lesson on DOCTYPE, history lessons on the root and head elements, lots of other stuff to scan past, a section called A Long Digression Into How Browser Handle Unknown Elements, more stuff...more stuff...then it began to register. I started to hit spots on the pages that said stuff like, this is how we used to do things (add example of old code) and this is how you do it in HTML5 (add example of new code). The information is there, it's just not organized and called out the way I wanted it.

I went back to the book, compared it to the same pages on the author's site and "got" the organization. It may be a matter of how I think vs. how the author thinks, but from that point on, it was easier to tease what I wanted to know out of the book's pages.

I think HTML5 is fabulous but I'm not sure that HTML5: Up and Running is the best book to use as an introduction. It most definitely is not the best book to use for an introduction if you aren't familiar with HTML in general. I'd recommend navigating the author's website before buying the book. If you "get" the website, you'll "get" the book. They're pretty much the same thing.


Share


Sunday, March 22, 2009

Review: SQL in a Nutshell, 3rd Edition

Authors: Kevin E. Kline, Daniel Kline, and Brand Hunt Format: Paperback, 591 pages Publisher: O'Reilly Media, Inc.; 3rd edition (December 2, 2008) ISBN-10: 0596518846 ISBN-13: 978-0596518844 The original edition of this book was published the better part of a decade ago and both the 1st and 2nd editions did fairly well in the reviews and on the market. What does this 3rd edition have to offer and who is it offering it to? The blurb on the back states that the "...new edition clearly documents every SQL command according to the latest ANSI standard and details how those commands are implemented in Microsoft SQL Server 2008, Oracle, 11g, MySQL 5.1, and PostgreSQL 8.3". Of course that was written by either one of the authors or the O'Reilly editorial staff, so you'd expect them to say such a thing. Assuming all this is true and you need to know the SQL commands relative to those products, then I guess you'll really want this book. As far as who this book is for, the front matter of the text targets a number of different groups including programmers looking for a quick SQL reference, developers needing to migrate from one SQL to another, and DBAs (who else?) who need to keep up with the latest and greatest. Keep in mind (and if you're familiar with the In a Nutshell series, you won't need this reminder) that this series is strictly a reference guide, not a tutorial. If you need to learn how to work with the SQL language, this isn't the first place to start. The Kline, Kline, and Hunt book is, in essence, the "wiki" for the SQL language as interpreted by O'Reilly. Chapter 1: Long, long ago, in a Galaxy far, far away...but I digress. Anyway, like so many other books on so many other technical subjects, the book starts out with a brief history lesson, but fortunately, it's mercifully brief at a mere 15 pages. Depending on your needs, you can blow past this part and go directly to your destination, whatever it may be in the world of SQL. That's the beauty of a reference; you need read only what you are looking for...but thereby hangs a small tale...finding things. Maybe it's just that you can't search a hardcopy version of a book the way you can the web, but the indexing seems to continue to struggle, or rather, cause readers to struggle. If I'm looking for something specific in a reference text, the book is more valuable to me if I can find what I'm searching for quickly. The longer I have to look, the more "value added" becomes "value subtracted". If you don't intend on reading the book cover-to-cover (and it's not written to be used that way), then you'll likely have to use a combination of scanning the index, the TOC, and the relevant chapter or chapters to find whatever bit of data you need, depending on how obscure it is. That's really the only ding I can give the book though, and the authors did update the content with the present state of the techology in mind. There's actually two reasons to update such a book. The first I've already mentioned; to keep up with changes in the SQL language. The second is, since this reference is probably used often by those who need it most, to provide a fresh book to replace the dog eared copy you now likely have sitting by your keyboard. Who shouldn't buy this book, at least not yet? I previously mentioned this too, at least in part. The book isn't for someone who doesn't have a good handle on SQL. It's not a tutorial or an all-in-one learning book. If you need something like that, and you want to see what O'Reilly provides in that arena, try Learning SQL by Alan Beaulieu. It also seems to have done quite well, and once you've become at least adequate with the SQL language, revisit this book. You'll be ready for it then.