Thursday, July 30, 2009

Fahrenheit 451: "Digital" is the Fire in Which We Burn

NPR News just published a story called Reimagining 'Fahrenheit 451' As A Graphic Novel. Ray Bradbury is one of my favorite authors and Fahrenheit 451 has got to be one of his all-time classics. In the first moment or two, when I started to read the article's title, I thought Bradbury's novel was going to be made into a film again. The 1966 film version starring Oskar Werner and Julie Christie is definitely showing it's age. I also think that the film could be updated to express the current crisis that books as a medium are facing and the crisis we're facing as a culture. Maybe the graphic novel will serve this purpose. No, as far as I can tell, no one is warming up their bonfires and flame throwers and getting ready to burn down my local library, but something equally ominous but far more subtle threatens books. It used to be television, but T.V. was more the downfall of radio as the primary form of family home entertainment. Books and libraries continued to flourish after the T.V. became ubiquitous in homes all over the world. I'm not even really talking about the Internet as "the threat", although it (is the Internet an "it"?) is a large part of the problem as I see it (and I'm not about to go offline). just posted a story called What If: The New New York Times which is the latest in a series of stories chronicling the demise of print newspapers as a primary information source. I don't take a paper anymore, and I sometimes register surprise when I see those classic rubber band wrapped bundles sitting patiently on driveways in my neighborhood as dawn breaks, waiting to be opened and consumed. Seeing those waiting papers, I find myself wondering about the future of the book? Will I live long enough to see its decline? Will my grandson grow up in a world without books? I mentioned before that I didn't think it was "just" the Internet that was signalling the next (metaphorically speaking) rampage of book burning. It's the entire concept and operationalization of "digital". The computing world is, to the current generation, what T.V. was to mine, but even more so. T.V. in the 1960s, offered a meager three channels. With no VCRs or TiVo, you were forced to watch a particular show on it's scheduled day and time. If you missed it, you could only hope to catch it during the summer reruns. Television's hold on the individual was thus limited and outside the range of prime time, there were still plenty of other ways to kill time as a kid, including reading. Today, the web, gaming (online and offline), the huge expansion of cable and satellite T.V., and all of the myriad other forms of digital entertainment, both subtle and gross, are available without any apparent limits, and additional forms are being created at an alarming rate. I'm not an advocate of killing the microchip and turning the clock back 40 or 50 years (although there are days...), but I do worry about what we are losing in our light-speed race to the farthest reaches of the "Information Age". In one way, T.V. of the 1960s and the Digital Revolution of the early 21st Century are alike, in that both forms of entertainment and information transfer are mentally easier than reading. Different neural pathways are accessed, formed, and established using one versus the other and yes, as a kid, it was easier to zombie out in front of shows like Gunsmoke and Dragnet than to sit down and read Treasure Island or 20000 Leagues Under the Sea. However, I've been an avid reader ever since elementary school, and books have always taken me more places than T.V. ever could. Is that about to end? I know what you're thinking. What about Kindle? Books aren't dead, they're just being reformatted. Perhaps. It looks like I can buy a Kindle for about $200. I know they have a lot of advantages, but one of the disadvantages is that I can check out a print book from the library for free. I can buy a used book for a rather modest fee, and if I drop a print book on the floor or sidewalk, it won't shatter. I can't stop progress. I can't even slow it down. My existence, or lack thereof, on this planet won't make any difference to how information is created, transmitted, and stored. That doesn't matter, though. This is more (I hope) than just about me, though I'm using myself as the lens through which to view the issue at hand. Through that lens, I see something a little magical about a print book, that no other form of media seems to communicate. Even the smell of an old book has an allure, more so to me than that "new car" smell of some racy auto purchased fresh off the lot. Opening a book is like opening up the door to another world. I can't say that I'm afraid of about how information dissemination can be controlled more easily in a digital form than in a print form. Mainstream print media has slanted the news since it's inception (and just how long ago was the term yellow journalism coined). Lady Chatterley's Lover was once banned as obscene (though if you read it today, you'd be heard pressed to understand why), so I can't say that books represent uncensored literary expression. My argument isn't based on control of information. In fact, the Internet is probably the last wild environment for the expression of ideas. Anyone who can buy a domain name and access a web host can post a website or blog to the web. It's infinitely easier to express yourself to a mass audience (assuming you can attract one) than if you had to rely solely on print. Does my argument at best, come down to nostalgia? It could. Just the words "Fahrenheit 451" recall a bygone era. The premise of burning books in Bradbury's novel, was to control information. The film version made it clear that television was to be favored more than books because the Government controlled the population through what they saw and heard on T.V. The Government doesn't have to burn books to control information; they just have to offer more compelling information and entertainment sources. One good video game will knock all the books off a 12 year old's shelf forever. Sitting here blogging, it occurs to me that what books have over everything else, isn't more freedom of information, or even more access, but more time. Digital means fast and who doesn't want to access more data and more fun at an increasingly faster rate? After all, there are only so many minutes in a day, and you want to make every one of them count, right? By comparison, reading is slow. It takes up time. It causes you to generate more mental effort. But what's wrong with that? As wonderful as the Lord of the Rings films were, can anyone who's ever read the J.R.R. Tolkien novels really say that the films could replace the books? Yes, it takes more time to read the novels than to watch the film versions, but so what? There's also a ton more information, charm, and nuance, that can be expressed in the books that will never see the light of day on film. A terrific as the special effects were using modern technology, readers a generation ago and more could conjure up dwarves, elves, and dragons at least as fantastic and substantial in the realm of the imagination. For me, it comes down to the loss of personal effort and involvement in what you consume when it's in a "byte-sized" format as opposed to what you get when you actually read. I love films and am sort of an amateur student of older films and T.V. shows. I spend an inordinate amount of time online compared to what my wife thinks I should. It's not like I disdain the modern world and what it offers, but I don't see the benefit of using what we now have to replace the "old fashioned" book. Many of my books sit on shelves (and are stacked on my desk, with a few on the floor) in the same room as my PCs. They co-exist. I sometimes sit in front of the monitor and sometimes in a chair in the living room with a book in my lap. They both have a place in my mind, my heart, and my life. I'm glad to see the cautionary tale of Fahrenheit 451 being renewed and preserved as a graphic novel. If someone is willing to publish Bradbury's novel in the modern age, it could mean someone sees the world in the same way I do. Someone sees a world where continuing to have books is valuable and sees a world that perhaps is threatening their existence. Books are so many things including a window to the past. Not just in what they contain, but in what they are as an object and what reading is as a process. They are part of the history, intellect, and imagination of humanity. If we lost books, we'd lose something of ourselves; something that no digital information type could ever replace. Rant over.

Monday, July 27, 2009

The Passionate Programmer: Creating a Remarkable Career in Software Development

Author: Chad Fowler Format: Paperback, 200 pages Publisher: Pragmatic Bookshelf (May 28, 2009) ISBN-10: 1934356344 ISBN-13: 978-1934356340 First of all, I like the sax on the cover. I like jazz music and especially tenor sax, so a little cool jazz on a hot summer's day works for me, and keeps me calm as I'm commuting to work, but I digress. The Passionate Programmer isn't exactly about programming. It's about the career of programming. Most Pragmatic books I review in this area, teach some programming language, how to program in general, or "tips and tricks" of some programming method. Chad Fowler's book addresses the larger context of entering into a programming career. More than that, the context can be applied to many other creative careers where the creative person conceptualizes their "product" within his or her thoughts and imagination, and then generates the result. How do you proceed into such a career path? Keep reading and find out. Most people who select a programming career don't think about the career part of it. If you're "passionate" about programming, you likely are passionate about the process of programming; the actual doing of it. Fowler tosses around terms like business and entrepreneur, which may be words at least odd, if not completely alien to some coders. Aren't entrepreneurs those people who own their own businesses and are heavily into "wheeling and dealing"? What's that got to do with being passionate about programming? Do you have to eat to live? Do you need clothing and shelter? Would you like to go out with your friends on Friday night for dinner and drinks (and be able to pay your own way)? If you said "yes" to some or all of those questions (especially the first two), you need money. Sorry, but that's the harsh reality of life. Being a talented programmer is one thing, but sooner or later, if you want to make money by leveraging your coding skills, you'll need to pay attention to programming as a career. That means more than just putting together a resume, posting it on various online job sites, and hoping for the best. It means developing a vision and a plan. It means keeping your skills current, not just in terms of the current technology, but in terms of your current marketability. It's not surprise (at least to me) that the book preaches personal responsibility. After all, you're the product, not just what you do. Paying attention to your career is paying attention who you are, and to your employment and career environment. As the Borg sometimes say "We will adapt". The employment situation won't adapt to you. You're the one who needs to do the adapting. Wishful thinking doesn't build a career, but wishing is the beginning step. That said, a "wish" must progress into a clear and realistic vision, and then into concrete activities. The book reads like a series of short essays that are linked together by a common theme. The themes are collected into a number of Parts in the book. Each "essay" or chapter is capped by an "Act on It!" section designed to direct the reader into an activity based on the chapter. If this were an actual "coding" book, these would be the "exercise" sections. Reading the conceptional parts of each chapter may not seem so shocking, but behaving on them could be. Actions like keeping up with trade magazines (which you probably do anyway) and scheduling lunch with a business person (which you may never have done), are just two examples. They are also at the heart of this book's philosophy of doing your career, not just thinking or hoping about it. I wasn't kidding before when I mentioned jazz. Among his other talents, Fowler is a musician and at the beginning of Chapter 4, he mentions "legendary jazz guitarist" Pat Metheny as giving a piece of advice "passionate programmers" should follow. I also wasn't kidding when I said that programming as a career has at least something in common with many other creative careers. That means the path, at least in general, for programming careers has many models from which to learn. The Passionate Programmer, although easy to read, isn't a book that you should just shoot through in an afternoon or over a weekend. Yes, you could read the material in a short period of time, but you couldn't effectively practice it. This book is a guide to the practice of building a programming career, so actually walking the steps in the territory takes longer than reading the map. The book requires a proactive reader, not a passive audience. The book won't be worth the price you paid to buy it, if you don't actually respond to what it's teaching. It's like taking the time and trouble to learn all of the methods and techniques of programming in Java, Perl, or Python, or taking a full degree in Computer Science. If you don't actually put into practice what you've learned, what was the point of spending the time and money? No book can promise to make you a success at anything. In the current economy, we are all a bit more concerned about our jobs and our careers than perhaps we once were. Reading The Passionate Programmer won't keep you from being laid off next week if that was going to happen anyway. However, reading and practicing what Fowler has to offer, will make you much more involved in your own career process and direction. You can choose to be adrift in the river's current or you can pick up an oar, set a direction, and start rowing. Your choice.

Friday, July 24, 2009

Are Police Racist?

As I'm sure just about everyone is aware of by now, on Monday, July 20th, pre-eminent black scholar Henry Louis Gates Jr. was arrested at his home near Harvard University by Cambridge police officers. There's been a great deal of analysis and opinions being tossed about the media, including those of President Barack Obama, regarding what happened, or what they think happened, that caused Gates to be arrested. The prevailing opinion is that the police officers involved are racists (assuming that they wouldn't have acted similarly if the suspect had been white) and that perhaps all police officers are racists. I don't know any more about the events of Gates's arrest than what I can gather from the media, so my point of view is just as slanted as the rest of America's, including President Obama's point of view (unless he used the authority of his office to gather "inside" information not available to the general public). Let's take a look at what we know. According to the original news report, Gates attempted to force the front door of his house in Cambridge because it had become jammed. At this time, police were notified that there were "two black males with backpacks on the porch" of the house, attempting to force entry. Sounds like an attempted break-in on the surface. Officers were dispatched to investigate. By the time the officers had arrived on the scene, Gates had already gained entry to his house. The officers talked to Gates and asked him to come outside and speak to them, presumably so he could identify himself as the homeowner, or failing that, to explain his forcing the front door open and being inside the house. Again, according to reports, Gates refused to exit his home and began to yell at the officers. Apparently (and this is my opinion), Gates had "jumped from A to Z" and assumed that the officers were trying to question him because (in Gates's own words) "I'm a black man in America". The officer's report states that "Gates continued to yell at me, accusing me of racial bias and continued to tell me that I had not heard the last of him". Also according to the news article, Gates asked for the name and badge number of the officer and the officer refused to provide Gates with the information (a mistake on the officer's part, which didn't help). The officer exited the home and Gates supposedly followed the officer onto the front porch, continuing to yell at him and accusing him of racial bias. At this point, Gates was placed under arrest for disorderly conduct and taken to the Cambridge police station where he was booked. He was released later that day on his own recognizance. Gates's attorney, and fellow Harvard scholar Charles Ogletree, disputes the official police version of events and says Gates never yelled at the officer. Although Ogletree did not state specifically that he believes the incident was racially motivated, he was quoted as saying, "I think the incident speaks for itself". The overriding question is, would this situation have unfolded exactly the way it did if Gates had been white? There's no way to play out that scenario in absolute terms, but I'll run through an alternate set of events and see what turns up. Let's say the police receive a call of two white men with backpacks attempting to break into an upscale home. At this point, because the suspects are white, do the police ignore the call? Probably not. It's not like white men aren't capable of being thieves, so the police respond to the scene. Upon arriving, they see a white male inside the home. Do the officers assume that the man is the home owner just because he's white? Probably not. They ask the man to step outside and talk with them. This is actually the critical moment in the scenario. What the suspect does next is going to make all the difference in how this turns out. Situation 1: The man starts yelling at the officers, saying they have no right to tell him what to do, that he's the homeowner, and the officers can "go pound sand", or words to that effect. Since the suspect is white, he's unlikely to accuse the officers of racial bias, so the emotional impact of that sort of accusation is missing from this situation. The suspect continues yelling at the officer, asking for the officer's name and badge number. Eventually (as in the actual event), the suspect shows the officer his Harvard ID card but not his drivers license. As in the original event, the officer leaves the home and the suspect follows him onto the front porch, continuing to yell at the officer and generally "getting in his face". Does the officer arrest the suspect for disorderly conduct at this point? Probably. Although the officer is reasonably assured that the man lives there, the man is acting in a highly agitated and aggressive manner. The officer could choose just to walk away, but can reasonably make the arrest based on how the man is behaving. Of course, I can't say that race is or isn't a factor here. Maybe the officer would have let it slide for a white man but not for a black man. I don't know. I don't know the officer personally, and I don't know what he was thinking or feeling at the time of the event. This issue cannot be determined based only on news reports by the media. Situation 2: At the officer's request, the man exits his home and agrees to speak with the officers on the front lawn of the house. The suspect is polite and compliant. Upon request, the suspect produces his drivers license, establishing that he lives at this address. He explains to the officers present that the front door had become jammed and he had to gain entry to his home by forcing the door. The officers comprehend the situation and determine that no crime has occurred. The homeowner thanks the officers for being so diligent in checking on this event. After all, the homeowner would want police to investigate if there was the possibility that his home was actually being broken into. The officers leave and the homeowner goes back inside his house. Case closed. Now the question becomes, would Gates have been arrested if he had behaved as Situation 2 describes? My opinion is probably not. Although it most likely isn't recorded in any law enforcement training or practices manual, there is something called "the attitude test". It is more likely that an encounter with a law enforcement officer will turn out poorly if the person being questioned behaves in an aggressive and hostile manner, than if he or she behaves in a polite and compliant manner. The first thing a law enforcement officer is trained to do when they enter any situation, is to take control and maintain the safety of all parties involved. If a suspect defers to the officer's authority and is polite and compliant with all requests, the officer will understand that he is in control, and that the possibility of danger is minimal to none. If, on the other hand, the suspect challenges the officer's authority, the officer will respond by taking whatever steps are reasonably required to gain and maintain control, up to and including arresting the suspect. Being rude and yelling isn't against the law, although doing so to a police officer may communicate that you are a potential threat and may escalate to physical violence. If Gates had responded as outlined in Situation 2, in all likelihood, he never would have been arrested and this incident would never have come into the realm of public knowledge. It would be a "non-event". Am I saying this is all Gates's fault? No. Anybody who's ever heard of Rodney King knows that police can stop, question, and even brutalize a person due to racial bias. A recent NPR News Story outlines the experiences of black men and their encounters with law enforcement. The information as anecdotal, and I'll reproduce it here:
  • "Erroll McDonald, one of the few prominent blacks in publishing, tells of renting a Jaguar in New Orleans and being stopped by the police — simply 'to show cause why I shouldn't be deemed a problematic Negro in a possibly stolen car.' "
  • "Wynton Marsalis says, '(Expletive), the police slapped me upside the head when I was in high school. I wasn't Wynton Marsalis then. I was just another nigger standing out somewhere on the street whose head could be slapped and did get slapped.'"
  • "The crime novelist Walter Mosley recalls, 'When I was a kid in Los Angeles, they used to spot me all the time, beat on me, follow me around, tell me that I was stealing things.' "
  • "William Julius Wilson ... was stopped near a small New England town by a policeman who wanted to know what he was doing in those parts."
A number of years ago, when I lived in Orange County, CA, I spoke with an African-American man who was an attorney. He drove a very nice Mercedes. He told me that he was stopped on a fairly regular basis by different city police agencies and the Sheriff's Department, because he was a black man driving a very nice Mercedes. He had not been arrested on those occasions, presumably because he was polite, provided his drivers license, registration, and proof of insurance, and did what he was supposed to in order to pass "the attitude test". We live in a racist country. The American awareness of racial issues has gotten better over the past several decades, but racism continues to exist. I used to investigate child abuse for Orange County (California) social services back in the 1990s, and worked with many officers in a number of law enforcement jurisdictions. Most of the officers I worked with seemed professional and generally friendly. I did work with a few that could have used an attitude adjustment or a personality transplant but, at least in my case, my encounters with these types of officers were few. Also, I'm white so I lack the ability to trigger a racist response from a white officer, thus I can't speak from that perspective. Was the arrest of Henry Louis Gates Jr. racially motivated? I have no idea. I can spin scenarios to explain how Gates could have been arrested, either including or removing the variable of racial bias. I can say that based on my analysis, it is possible for Gates to have been arrested just as he was, and the officers not be motivated by racial bias. Asking to question Gates under the circumstances reported is not racism. The officer would have been irresponsible to not investigate the report, regardless of the race of the suspect. That said, it is completely understandable why Gates would "go off" on the officer and automatically assume that racism was involved, based on the disproportionate amount of suspicion black men encounter from law enforcement in this country. This also probably accounts for Barack Obama's opinion that the officer in question acted stupidly when he arrested Gates. It is likely that Obama is projecting himself into the situation (at least at a point in his life when he was not the President), imagining how he'd feel under similar circumstances. Of course, involving himself in this news story as President may be a case of "overkill", but even the President has a right to his own opinion. Could this situation have been avoided? Sure. Gates could have held his temper, passed the attitude test, and the whole thing would have been over in 10 minutes. Also, the officer could have chosen to ignore Gates verbal tirade (I'm assuming the official report is correct that Gates did yell at the officer), determined that Gates was upset at being questioned because of his assumptions, and just walked away. Actually, the officer attempted to walk away when he exited the home, but Gates followed him. While Gates's emotional state is somewhat obvious based on reports of his behavior, we don't know what the officer was feeling. I know from being yelled at, that it's really unpleasant, and the tendency is for me to want to yell back or otherwise retaliate. A police officer ideally doesn't let his emotional state dictate his professional behavior, but not all officers always behave according to the ideal. If the officer made a mistake, it would have been in letting his emotions take control (I'm making another assumption) of his behavior, resulting in the arrest. What can we (society, America, law enforcement, other) learn from this? Regardless of the amount of press this incident acquires, I doubt it will represent a pivotal moment in our nation's history. This is just one of many such encounters between a person of color and law enforcement where racial bias might have or did change the outcome of events. It is a signpost of where we are as a people, and how far we have to go. Everyone just about flipped out with joy when the United States of America elected its first African-American President. "Look how far we've come!", declared our country. We may not see lynchings of black men in Mississippi anymore, or civil rights demonstrations down the main street in Selma, Alabama, but we don't have complete equality, either. African-American President aside, racism in American has not gone away. Are police racists? No, not all police officers or all police organizations are universally racist. I don't doubt that some police officers have personal racial biases. I don't doubt that certain police organizations promote, or at least ignore, the occurrence of racial bias among its officers. This incident is a reminder of what exists in the world, and while we've gotten better as a nation, we need to continue to pursue justice for all of our citizens, regardless of race. Is the officer who arrested Gates a racist? There's no way to tell. As far as I can see from the information publicly available, both Gates and the police officer made some bad decisions, and the result is what we see on the news channels. In that sense, the situation seems less racially caused and more the result of the people involved being human and having feelings.

Tuesday, July 21, 2009

Information Architecture for the World Wide Web, 2nd Ed

Authors: Peter Morville and Louis Rosenfeld Format: Paperback, 526 pages Publisher: O'Reilly Media; 3rd edition (November 27, 2006) ISBN: 0596527349 Note: I wrote this review almost three years ago, but someone who tried to read it at its original location couldn't find the review. I'm posting it here to make it visible again and, after all, it is my blog. Review by James Pyles December 15, 2006 Morville and Rosenfeld's book is a real eye-opener for anyone who wants to understand the complexities of organizing web information at the enterprise-level. This isn't about how to put together a standards-compliant website (well, it is sort of) or how to develop web applications or graphic design for webpages. True, all of those functions are necessary for web development but the (apparently) growing career of Information Architecture (IA) is an entity all its own. Let me backup a minute. Many of us develop websites as individuals. I work with a team of software engineers documenting a wide variety of information for them and their customers. To this end, I administrate the group's Intranet site and it has to be many things to many people. I organize data, try to make it easy to find, try to make it visually appealing and maintain different security levels for different groups. I wear a number of different hats depending on my customers' requirements. Now imagine a team of professionals developing and maintaining a national or multinational corporation's web presence. You probably will have one or more people who specialize in areas such as graphic design, usability, software development, knowledge management, and other disciplines. It's like taking the hats I wear and putting each one of them on separate people or groups. This book describes the role and methods of one of those disciplines or "hats"; Information Architecture. Probably the easiest way to get a basic grasp of what an Information Architect does, is to quote one of the analogies from the beginning of the book: "I'm an information architect. I organize huge amounts of information on big web sites and intranets so that people can actually find what they're looking for. Think of me as an Internet librarian". Of course, it's a lot more involved than that, but then learning the rest is what this book is all about. What makes this text all the more valuable is the lack of organized programs (to the best of my knowledge) that teach IA. You won't find a Bachelor's or Graduate Program in IA in a university catalog. However, the profession of IA touches many other professions; usually those that have to do with the creation, storage, and organization of information. People with backgrounds in library science, computer science, technical writing, and product management (to name a few) can apply those skills to IA. This book was written for them. The authors have a sense of humor and writing style that makes the book relatively easy to read. I say "relatively" because the subject matter is not a simple one so when reading this text, keep that in mind. Information Architecture is an extremely useful book for anyone interested in pursuing IA as a career or anyone who manages a team of professionals including an IA expert. However, unless you are involved in or seriously considering going into this field, you shouldn't buy this text. This book throws a wide net over its target and collects all the necessary information to teach the topic to its audience (and why not, the authors are experienced organizers of information). In the time since the first edition of this book was published in 1998, the need for information architects has grown immensely (as has the web) but the means to become an IA professional has not (at least not in a formal sense). Most of you probably didn't even know IA existed or was a potential career option before reading this review. IA is both a vital necessity in a time when the web is growing exponentially and one of the finest "stealth" career's available. If you are involved in organizing web site data structures on a large-scale or think you might be interested in doing so for a living, Morville and Rosenfeld's Information Architecture for the World Wide Web is just the book for you.

Monday, July 20, 2009

Review: The Official Ubuntu Book, 4th Edition

Authors: Benjamin Mako Hill, Matthew Helmke, and Corey Burger Paperback: 512 pages Publisher: Prentice Hall PTR; 4th edition (July 9, 2009) ISBN-10: 0137021208 ISBN-13: 978-0137021208 Reviewing a book in its Fourth Edition is both easy and hard. It's easy in the sense that, unless the book has completely changed, it is still essentially the same as prior editions. If it has done well up until now, chances are it will still do well. Of course the idea for the publisher (assuming the book has done well) is to at least make sure that the book maintains its reputation and hopefully get even better. For me, that translates into, once a good review, always a good review...maybe. The hard part is to pick out the bits that may have changed and evaluate them as part of the current mix. If the book hasn't changed at all and assuming Ubuntu has, then my review changes and not for the better. If the book has changed, how does it stack up to Ubuntu's changes? Does the book still meet the needs of the audience? The Official Ubuntu Book has done well since it was first published. I've reviewed each edition since the first one back in 2006, including my 3rd edition review, written for the site just last year. As I recall for that edition, while the book was well written for the newbie Ubuntu user, it didn't really address those of us who are veteran Ubuntu users who just want to get up to speed on the changes. Let's see how the 4th edition fares. I suppose I should mention that there have been some author changes between the 3rd and 4th editions. Jonathan Jesse and Jono Bacon have apparently dropped off the radar, while Matthew Helmke has joined the team. At least that's what's reflected on the book's cover. On the inside cover page, the book states it was written "with" Ivan Krstic, Jonathan Jesse, Richard A. Johnson, and Jono Bacon, which probably means some of the material they contributed to prior editions is in the current one, but they didn't actively write for the 4th edition (yes, crediting authors in downstream editions can get complicated). I almost wonder why the Foreword to the 1st edition was included, except that it was written by Mark Shuttleworth. The Preface promises that the book has matured as Ubuntu has, so maybe some of my past concerns have been addressed. Keep in mind that at some point, if a book publishes sufficient number of subsequent editions, it begins to look like a patchwork quilt. Eventually, the oldest patches need to be removed completely to keep the book from becoming archaic. As the Preface also says, the book is supposed to represent the maturing state of the Ubuntu community, so hopefully, we seasoned users will be represented along with newer adopters. At 512 pages, you can't call this book a tome (some Ubuntu books are so large that you almost need help just to lift them) so as the authors state, a "pick-and-choose" process was used to select which topics "made the cut" and which did not. That automatically limits the scope of the audience. I've been critical of how that scope has been selected in the past. In the current book, the scope includes topics such as the installation, a desktop tour, and advanced management, but also includes different aspects of the "Ubuntu community". This is a good reflection of the ideals behind FOSS and, like it or not, chooses the audience this book best serves, which seems to be an interesting but not all-inclusive combination of readers. The first chapter is a snooze if you know what Ubuntu is, what Canonical is, and what Linux is, or you're not particularly interested in a history lesson. These topics will be more interesting for the newer user who wants to absorb as much about the idea of Ubuntu as possible (as well as how to use it, of course). The book comes with an installation DVD for Ubuntu 9.04, nevertheless Chapter 2 covers how to get different versions of Ubuntu, downloading and burning an ISO, and so on. The installation instructions are again more useful for the less experienced user, particularly since Ubuntu is pretty much a snap to install, at least using the default options. Nice touch adding how to install from a USB Key, though. Chapter 3 is a tour of the desktop and the commonly used applications available. This section could almost be a book unto itself (and in some cases, entire books do exist for individual apps such as GIMP and OpenOffice), but most users don't go that much into how each application works. If you didn't know, and wanted to understand what app to use for which task, this chapter will tell you. I don't consider setting up a printer as an "advanced" task (since everyone needs to print), but it's included in Chapter 4, Advanced Usage and Managing Ubuntu. Curiously, the chapter includes a brief task about using floppy disks, and floppy drives are all but gone from the modern computing landscape. It was interesting that the backup options mentioned only include burning files to a CD/DVD or backing up to an external USB drive, since applications like Zmanda support 9.04, at least according to Joe Panettieri's article. Some command-line goodness is also provided for good measure since, for my money, the real power of Linux still exists in the shell. A single chapter in the book is dedicated to the Ubuntu Server. This chapter was introduced in the last edition and, depending on your philosophy for an "official" Ubuntu book, is a good thing to keep around. Of course, it's a departure from "lets-tell-the-newbie-how-to-use-Ubuntu", but it's as much an introduction to advanced computing and beginning server management, as it is the Ubuntu server. If you want to go beyond the desktop user experience, it's a good chapter to read. If not, you can skip it (though I'd recommend it just for the introduction to apt-get and apt-cache). If things go wrong (and they invariably do), you'll likely spend some time in Chapter 6, which is all about troubleshooting. I'd like to think that with each new version of Ubuntu, errors will become less and functionality of applications will become smoother. I'm sure that's true, but nothing will ever be perfect. It's good to have a chapter that recognizes this reality. I was however, a tad disappointed to see that the My Wireless Card Is Not Working section of Networking was only about a page or so long. While I've never had a problem with wireless networking on my Ubuntu computers, not everyone can make that claim. If you end up with a wireless problem and need additional "magic", you'll have to look elseware. For many of the troubleshooting and repair tasks, keep in mind that they involve using the sudo and other commands in a bash shell. This means it's helpful to know a little about how the command-line works. To learn these skills, it's a good idea to not gloss over the Advanced and Server chapters presented earlier in the book. Chapter 7 introduces the Ubuntu community. If all you want is a desktop that lets you work and play the way you want, this chapter won't mean anything to you. However, since the book also includes a chapter on the Ubuntu server, some of this text's readers are assumed to want to go "the extra mile". Chapters 10 and 11 also discuss how to become involved in Ubuntu projects and connecting to, respectively. While you may never participate in the development of an Ubuntu-related project, sooner or later, most Ubuntu users will have a question that's best answered in a discussion forum venue. If you think you do want to become involved in a project, you can see how to accomplish this. Chapters 8 and 9 discuss the Kubuntu and Edbuntu derivatives, if you either prefer the KDE desktop or are interested in Ubuntu optimized for the educational setting. Since you will probably need to access the shell at some point, Appendix A takes a little of the anxiety out of this, by giving the reader the command-line basics. If you are used to using Windows (and the vast majority of the PC-using world is), Appendix B provides a list of mappings from Windows to Ubuntu (Linux/Open Source) applications (Microsoft Word to Writer, for example). All-in-all, the Fourth Edition is a worthy update to the The Official Ubuntu Book. Still no information on version update options (alas), but I suppose that's what is for. As I mentioned previously, 512 pages won't tell you everything there is to know about Ubuntu. It is enough to get you started though, and to take you into some interesting areas other books might not touch on.

Tuesday, July 7, 2009

Even Faster Web Sites: Performance Best Practices for Web Developers

Author: Steve Souders Format: Paperback, 254 pages Publisher: O'Reilly Media, Inc. (June 18, 2009) ISBN-10: 0596522304 ISBN-13: 978-0596522308 Apparently the move from Yahoo! to Google has been good to Souders (as you might expect). Now working for Google on web performance, he's written a sequel to his January 2008 book, High Performance Web Sites (Souders was working for Yahoo! at the time) which I previously reviewed. According to the Product Description, "Souders' previous book, the bestselling High Performance Web Sites, shocked the web development world by revealing that 80% of the time it takes for a web page to load is on the client side". Sounds pretty dramatic, especially for a technical book. I don't know if I was "shocked" when I read Souders' prior book, but I was impressed. How does his follow up effort measure up? Whenever I write a book, I usually mention that it takes a team to write a book, even if only one person's name is on the cover. As it turns out, besides Souders, there are eight other direct contributors to Even Faster Web Sites including Ben Galbraith, co-director of developer tools at Mozilla and Dylan Schiemann, co-founder of the Dojo Toolkit. The "dark side" of multiple contributors is sometimes a lack of focus or continuity in a book. The upside is including the wisdom and experience of numerous subject-matter experts. As with the previous Souders book, there's no explicit "who is the book for" section in the front matter, but the subtitle "Performance Best Practices for Web Developers" makes it obvious who should be reading this book. The idea, as with the prior book, is to develop web sites using practices that allow your sites to load and perform with the minimal amount of load on the client-side. With competing interests such as style, theme, content, and general "eye candy", this isn't as easy as it sounds. High Performance Web Sites (sorry, it's hard to review this book without referring to its predecessor) was a straight-forward 14 step (one chapter per step) sequence in how to improve web site performance. Even Faster Web Sites goes beyond what you might think of as "straight-forward", which isn't a bad thing, but it might make some of the techniques less accessible to the less experienced developer. With that in mind, if you're just starting out developing web sites, read High Performance Web Sites before moving on to this book. Reading the two books "in order" isn't absolutely necessary, but it might make more sense if you're new to the game. Experienced players may do as you wish. The reader will need to know more than just vanilla HTML/CSS/JavaScript to get the most out of this text. While topics such as Optimizing Images (Chapter 10) may not seem complex "programmatically", Coupling Asynchronous Scripts (Chapter 5) and Writing Efficient JavaScript (Chapter 7) will be more challenging if you're not already familiar with the subject matter. I suppose you could say that this book has been "written by professionals for professionals", but I think that tagline is used by a different publisher. I also have to say that, despite multiple contributors, the overall "feel" of the book wasn't disjointed and, while you can read the entire book cover-to-cover, experienced developers can also zero in just on specific topics of interest. The Appendix contains a list of various performance assessment tools which, in and of themselves, requires a bit of experience or experimentation to get a feel for. Other "value added" pieces include Souders' Web Site dedicated to the book and the O'Reilly site for the book. The former is a series of blog articles on the information presented in the text, including comments, while the latter is the standard "this is one of our books" pages, where you can read/submit errata, register the book, and so on. You'll probably get more mileage out of Souders' blog, since it contains more behind-the-scenes insights into the material. Don't read this book if you're just getting a handle on designing and developing your first few web sites, however once you have experience and have a solid grounding in "coding for the web", I think you'll benefit from Even Faster Web Sites. If you are a professional web developer, you definitely will benefit.