Just one geek's opinions and epiphanies

Book Review: Webbots, Spiders, and Screen Scrapers, 2nd Edition

Webbots, Spiders, and Screen Scraping

If you have been reading my reviews for any amount of time you know that I love tech books, and I usually give them pretty glowing reviews, especially No Starch books. They are informative, teach you things, make you think outside the box. I love No Starch books.

Alright, now that you know I love No Starch I am sad to report I have found the bad apple in the bunch. Webbots, Spiders, and Screen Scrapers. I didn't come to this point of view lightly, I really tried to find the good in this book, and there is some, however it is overshadowed by what I consider to be a pretty lame mistake on the authors part.

Webbots, Spiders, and Screen Scrapers is all about the what, how and why of webbots, spiders and screen scrapers. Basically a guide to why you need them, how to make them, and what they should be doing. It is a great reference as to what webbots are, and you can learn a thing or two while reading this book.

My gripe is pretty simple, and there is a work around for it, but here it is. The author, Michael Schrenk, didn't teach us all about writing webbots, spiders and screen scrapers. The book was meant to be an tool in teaching the PHP/cURL involved in writing these bots. Instead the author wrote a library of functions and tells you to include it, and then uses the book as an almost 400 page reference to his own library.

Sure you could open the library up and read though the code and get an idea of what is going on, but really that wasn't the point of the book. The point of the book was to show you how to use PHP and cURL to build your own bots, and spiders. What you get is a book that tells you how to build HIS bots and spiders. Furthermore the library comes with disclaimers about bugs in the code, instead of fixes to the code. So now you have a book that won't teach you to code PHP /cURL webbots, and it gives you code that may or may not work for what you are doing.

The silver lining in all of this is that the book did come with the library and if you are inclined to open it up and read through the code, then you can get a sense of what you really wanted to know in the first place. How to handle pages as files, how to parse for information, and how to store the information you pulled. I really would have liked the book to have been more about the building of the library than a reference to the library.

Art of Assembly Language, 2nd Edition

I am always amazed at the books that No Starch Press suggests for us to review, and The Art of Assembly Language truly wasn't even on my radar. When it was suggested to me I couldn't resist the opportunity to break out of high level coding and dive into Assembly.

Wikipedia says of Assembly:

Assembly languages are a type of low-level languages for programming computersmicroprocessorsmicrocontrollers, and other (usually) integrated circuits.

Sweet! This book will teach me how to work with microprocessors and microcontrollers! That is what I thought, and I was close.

The Art of Assembly Language from No Starch Press covers the basics of all low level programming but has a pretty heavy slant toward intel based CPUs. With support for Linux, Mac and Windows, and even FreeBSD.

The book is big, heavy and full of knowledge. It covers the HLA (High Level Assembly) which is the best match of high level coding with low level code. The author, Randall Hyde, starts with the absolute basics explaining what each part of the controller (cpu) is and what it is meant for. He explains why things are setup the way they are and even how things have changed over the history of computing.

If you are asking yourself why you need to pick up this book, take this quick little survey:

  • Have you ever wondered how a computer actually works?
  • Do you ever dream in code?

If you answered yes to either of those then you probably want to go get this book right now.

The Art of Assembly really opened my eyes to what goes on in the underbelly of the computer, and I have a better understanding of why my code works now. Learning HLA has truly been an experience, and it is one I think the whole world of programmers should have.

Designing with Progressive Enhancement: Building the Web that Works for Everyone

Designing with Progressive Enhancement: Building the Web that Works for Everyone The good people at New Riders (Peachpit) have given me the opportunity to review one of their newest titles, Designing with Progressive Enhancement: Building the Web that Works for Everyone. I would like to thank them as this has been a topic of much concern in my everyday life for a while, and this book really nailed the topic.

Authored by four brilliant minds Todd Parker, Scott Jehl, Maggie Costello Wachs, and Patty Toland (also known as the Filament Group) make up a great brain trust for this title. Combined they have over 30yrs of design experience working with interactive design, and mastering the art of design for everyone.

This book is unique in that the authors seem to have really sat down and worked out a process, and this book is really a step-by-step guide and explanation of their process. It teaches you that sometimes the best practices are the best steps to take first. They explain that although it takes more time, and energy, that starting with a base HTML structure for your website is the best place to start as the most people will be able to access your site. There is no need for parsers, javascript, codecs, etc.

After getting a base for your site in HTML they explain how and why you should test what the browser in use supports. Does the browser support javascript? Does it support all of the javascript spec, or just parts? Does it support AJAX? JSON? With each test they explain why you want to test, and if the browser passes how to utilize these features.

This is NOT a code book. Their examples are purely theoretical, although some sample and code snippets are provided.

The general idea of this title is to get you thinking about the way you design your product. To make you think outside the fancy and latest jQuery features, and XML and SVG, and make sure you base product is a product that everyone can use.

Book Review: Pomodoro Technique Illustrated

[caption id="" align="alignleft" width="190" caption="Pomodoro Technique Illustrated (Book Cover)"]Pomodoro Technique Illustrated (Book Cover)[/caption]

Today I am reviewing Pomodoro Technique Illustrated: The Easy Way to Do More in Less Time which is best summed up by the books official website on The Pragmatic Bookshelf site:

Do you ever look at the clock and wonder where the day went? You spent all this time at work and didn’t come close to getting everything done. Tomorrow, try something new. Use the Pomodoro Technique, originally developed by Francesco Cirillo, to work in focused sprints throughout the day. In Pomodoro Technique Illustrated, Staffan Nöteberg shows you how to organize your work to accomplish more in less time. There’s no need for expensive software or fancy planners. You can get started with nothing more than a piece of paper, a pencil, and a kitchen timer.

The best part of the above statement is that it is 100% true. I haven't had enough time to really evaluate the use of the Pomodoro Technique, but the book really lays it out in a clean an easy to understand way.

Author Staffan Nöteberg has really written a quick read about the Pomodoro Technique, that will allow you to breeze through the book, learning the technique as you go.

The book is short, approx 200 pages total, with each page being an indepenent thought or section. You literally could read a single page each time you sat down and feel good about stopping in the middle of a chapter. The thoughts are clear and expressed in a clean format that really makes the things stick.

The technique itself is really simple. And Staffan's style of writing only makes it even easier to pick up and use.

I would strongly suggest getting Pomodoro Technique Illustrated: The Easy Way to Do More in Less Time if you plan to learn or at least try the Pomodoro Technique, even more so if you plan for the year is to be more productive!

Looks like I wasn't the only one to write a review on this book today either.

Coders At Work

[caption id="" align="alignleft" width="125" caption="Cover Art"]Cover Art[/caption]

I recently finished reading Coders at Work, written by Peter Seibel (@peterseibel), and published by Apress. What an amazing book to read, I can't even begin to express how much I actually enjoyed this book, and I know I am gushing, but this was a real treat for me.

I have always been amazed by the past of computing, the idea of computers as large as houses, filling entire warehouses for simple punch card technology, hell punch cards! I love hearing the stories of how things were, getting the first networks going, writing the first program for any technology, making something that everyone everywhere now uses and doesn't think twice about why it works the way it works.

In Coders At Work Peter Seibel interviews some of the legends of technology including Peter Norvig (Director of Research at Google Inc.), Jamie Zawinkski (major Mozilla contributor, @jwz), and plenty more.

The book was written in the same tune as Writers at Work, and Founders at Work, to showcase the beginnings of coding, and to give an idea of how the world of coding as we know it has come to be.

There is no magic code revealed in the book, and there are no tutorials, just a bunch of old hackers explaining why they did what they did and how and what they learned from the experience.

As of this writing Apress hasn't made available a sample chapter, which is too bad, it would be a great tease and only make you want more of this book.

To give you an idea of what you would be investing in, here is an excerpt from the first chapter of the book, where Peter is interviewing Jamie Zawinski an early Netscape/Mozilla developer. Peter has asked Zawinski about working with Peter Norvig at Berkely, here is his response:

Yeah. That was a very strange job. They had a whole bunch of grad students who’d been doing research on natural language understanding; they were basically linguists who did some programming. So they wanted someone to take these bits and pieces of code they’d left behind and integrate them into one thing that actually worked. That was incredibly difficult because I didn’t have the background to understand what in the world they were doing. So this would happen a lot: I’d be looking at something; I’d be completely stuck. I have no idea what this means, where do I go from here, what do I have to read to understand this. So I’d ask Peter. He’d be nice about it—he’d say, “It totally makes sense that you don’t understand that yet. I’ll sit down and explain it to you Tuesday.” So now I’ve got nothing to do. So I spent a lot of time working on windows system stuff and poking around with screen savers and just the kind of UI stuff that I’d been doing for fun before. After six or eight months of that it just felt like, wow, I’m really just wasting my time. I’m not doing anything for them, and I just felt like I was on vacation. There have been times when I was working really a lot when I’d look back at that and I’m like, “Why did you quit the vacation job? What is wrong with you? They were paying you to write screen savers!”

A good deal of the book is great history of how integrated the coding world really is, and you see a lot of the progression of technology through the book.

If you are the sort of person who enjoys sitting with the masters of your field, and listening to the stories and pondering what it would have been like to have to program everything in Assembly, or possibly in LISP, then you have to read Coders at Work, and then leave it in your reading room, and make sure others get a chance to read it as well.