Domain: slashdot.org
Stories and comments across the archive that link to slashdot.org.
Stories · 37,380
-
Nokia Plan B Was Just a Hoax
suraj.sun writes "There's been a lot of chatter about a 'Nokia Plan B' over the past 48 hours — the site was put up by nine young investors who outlined an audacious plan to rally shareholders, get themselves elected onto Nokia's board, and radically change the company's direction by firing Stephen Elop and committing massive resources to MeeGo. There's just one problem, though: the nine young investors don't really exist — according to the last tweet on the @NokiaPlanB Twitter account, it was all a hoax perpetuated by 'one very bored engineer who really likes his iPhone.' Ouch. That explains why the now-defunct site abruptly gave up the cause this morning after just 36 hours of existence." -
Sony's Official Statement Regarding PS3 Hacking
tekgoblin writes "Sony has stepped up its stance on anyone circumventing protection of any kind on the PlayStation 3 and released a statement addressing it. Most recently Sony had barred George Hotz (Geohot) from releasing any more information about the console whatsoever. Now, Sony has their eyes set on other users that may be trying to use pirated software or modded PlayStation consoles on their network. The statement reads: 'Notice: Unauthorized circumvention devices for the PlayStation 3 system have been recently released by hackers. These devices permit the use of unauthorized or pirated software. Use of such devices or software violates the terms of the "System Software License Agreement for the PlayStation 3 System" and the "Terms of Services and User Agreement" for the PlayStation Network/Qriocity and its Community Code of Conduct provisions. Violation of the System Software Licence Agreement for the PlayStation 3 System invalidates the consumer guarantee for that system. In addition, copying or playing pirated software is a violation of International Copyright Laws. Consumers using circumvention devices or running unauthorized or pirated software will have access to the PlayStation Network and access to Qriocity services through PlayStation 3 system terminated permanently.'" -
London Stock Exchange Tackles System Problem
DMandPenfold writes "The London Stock Exchange has taken steps to resolve a system problem that occurred at 4.30pm Tuesday, which saw a delay to the start of the closing auction and knocked out automatic trades during a 42 second period. The problem occurred a day after the high profile launch of its new matching engine on the main equities market, based on the SUSE Linux system from Novell." -
Google Announces One Pass Payment System
eldavojohn writes "Riding the tail of Apple's 30% announcement, Google's Eric Schmidt has announced One Pass, a new method for users to pay for content. The BBC is reporting that Google is taking a 10% cut. One Pass will work on Google sites and on phones and tablets as the announcement notes: 'Readers who purchase from a One Pass publisher can access their content on tablets, smartphones and websites using a single sign-on with an email and password. Importantly, the service helps publishers authenticate existing subscribers so that readers don't have to re-subscribe in order to access their content on new devices.' This is to be handled through Google Checkout." -
Book Review: jBPM Developer Guide
RickJWagner writes "jBPM is a mature, open source business process management (BPM) solution. This book, written in a developer-centric manner, guides the reader through the framework and exposes many important considerations for production use. BPM tools are used to define and execute business processes. They usually come with a graphical editor, which is used to drag and drop boxes onto a graph. The boxes represent activities performed by programs, activities performed by humans, and decision points. If this all sounds like 'graphical programming', it isn't. The picture does draw out the desired series of steps, but there's always configuration and maybe some programming involved as well." Read below for the rest of Rick's review. jBPM Developer Guide author Mauricio Salatino pages Packt Publishing publisher 372 rating RickJWagner reviewer 1847195687 ISBN A complete developer's guide to working with jBPM in a J2EE enterprise environment summary 7/10 Developers new to the scene will probably draw parallels between BPEL and BPM. While they both allow the designer to orchestrate a series of activities, BPEL uses web services exclusively. (BPM doesn't specify, and often uses Java classes to accomplish desired goals.) BPEL offers support for human-activities (from BPEL4People and WS-HumanTask), but BPM has offered human tasks from the early days, so probably is a better choice if you have lots of them.
The book is true to it's title, it's definitely a book for developers. In the early chapters the reader is guided through implementing their own mini-BPM engine. This is an interesting exercise and helps solidify in the reader's mind the core concepts behind jBPM. It also reinforces the notion that jBPM can be used in a lightweight manner-- it's just as easily embeddable in a standalone Java application as it is deployed in a JEE container.
Speaking of JEE containers, jBPM is a JBoss product, so it's natural that it makes use of available infrastructure like Hibernate, poolable data sources, and enterprise beans for enterprise use. These are all optional-- if you want to write a minimal application that sits outside of JBoss, that's fine. But if you have heavyweight needs, heavyweight infrastructure is readily available. The book covers these important options in detail, which will be useful for developers writing real-world applications.
jBPM is popular enough that it's mentioned in quite a few SOA books as an enabling technology for process management. Most of these books provide coverage of the minimal, embedded use of jBPM. This book differs in that it provides good explanations of the 'enterprise' use.
Normally I strongly prefer paper books to electronic versions, but in this case I'd recommend you might consider the eBook. I say that because the book is much more useful if it's used in conjunction with the source code found on the publisher's site. The book shows source code in each example, but it's just a snippet out of context. I found the content much easier to understand when it was viewed next to all the related artifacts, so you can understand how they relate. (By the way, the toolkit used includes Maven and Eclipse. The reader is given adequate instruction in the front part of the book on setting these up.)
There's not much fluff in the book. It runs about 350 pages. Heavy Developer-type stuff starts after about 40 pages and never really gets lighter after that. Screen shots and diagrams are given where necessary, but mostly it's code and text. Sometimes books are criticized for being light on technical content and overstuffed with pictures and basic diagrams. This criticism does not apply in this case.
A big part of jBPM development is in data handling-- how do you get data into your process instance, and how do you get data out? The author explains this well, and it is a necessary discussion.
You might wonder why you should be interested in this book, which covers jBPM 3.2.6. After all, jBPM 5 was just released. What about jBPM 4? I believe this book will be relevant for quite a while yet, as jBPM 4 is not going to be included in JBoss's support cycle. They'll stay with jBPM 3 (the current supported standard) and will eventually move on to jBPM 5 (after it's gone through the 'community trial by fire' on it's way to productization.) jBPM 5 is going to be a big change from the current landscape-- it's converging with the rules engine Drools. For these reasons, I expect there will be a lot of jBPM 3 development done for a while yet.
So, who would I recommend this book for? I'd say it's a good book for anyone supporting a jBPM 3 deployment, or anyone considering developing a process-centric application. jBPM is a good product, and this book can help a reasonably skilled Java developer get off the ground. I would not recommend the book for someone just out trolling for a technology book to pick up, or an analyst charged with developing the graphical process depictions. As the title says, this is a book for developers.
You can purchase jBPM Developer Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Book Review: jBPM Developer Guide
RickJWagner writes "jBPM is a mature, open source business process management (BPM) solution. This book, written in a developer-centric manner, guides the reader through the framework and exposes many important considerations for production use. BPM tools are used to define and execute business processes. They usually come with a graphical editor, which is used to drag and drop boxes onto a graph. The boxes represent activities performed by programs, activities performed by humans, and decision points. If this all sounds like 'graphical programming', it isn't. The picture does draw out the desired series of steps, but there's always configuration and maybe some programming involved as well." Read below for the rest of Rick's review. jBPM Developer Guide author Mauricio Salatino pages Packt Publishing publisher 372 rating RickJWagner reviewer 1847195687 ISBN A complete developer's guide to working with jBPM in a J2EE enterprise environment summary 7/10 Developers new to the scene will probably draw parallels between BPEL and BPM. While they both allow the designer to orchestrate a series of activities, BPEL uses web services exclusively. (BPM doesn't specify, and often uses Java classes to accomplish desired goals.) BPEL offers support for human-activities (from BPEL4People and WS-HumanTask), but BPM has offered human tasks from the early days, so probably is a better choice if you have lots of them.
The book is true to it's title, it's definitely a book for developers. In the early chapters the reader is guided through implementing their own mini-BPM engine. This is an interesting exercise and helps solidify in the reader's mind the core concepts behind jBPM. It also reinforces the notion that jBPM can be used in a lightweight manner-- it's just as easily embeddable in a standalone Java application as it is deployed in a JEE container.
Speaking of JEE containers, jBPM is a JBoss product, so it's natural that it makes use of available infrastructure like Hibernate, poolable data sources, and enterprise beans for enterprise use. These are all optional-- if you want to write a minimal application that sits outside of JBoss, that's fine. But if you have heavyweight needs, heavyweight infrastructure is readily available. The book covers these important options in detail, which will be useful for developers writing real-world applications.
jBPM is popular enough that it's mentioned in quite a few SOA books as an enabling technology for process management. Most of these books provide coverage of the minimal, embedded use of jBPM. This book differs in that it provides good explanations of the 'enterprise' use.
Normally I strongly prefer paper books to electronic versions, but in this case I'd recommend you might consider the eBook. I say that because the book is much more useful if it's used in conjunction with the source code found on the publisher's site. The book shows source code in each example, but it's just a snippet out of context. I found the content much easier to understand when it was viewed next to all the related artifacts, so you can understand how they relate. (By the way, the toolkit used includes Maven and Eclipse. The reader is given adequate instruction in the front part of the book on setting these up.)
There's not much fluff in the book. It runs about 350 pages. Heavy Developer-type stuff starts after about 40 pages and never really gets lighter after that. Screen shots and diagrams are given where necessary, but mostly it's code and text. Sometimes books are criticized for being light on technical content and overstuffed with pictures and basic diagrams. This criticism does not apply in this case.
A big part of jBPM development is in data handling-- how do you get data into your process instance, and how do you get data out? The author explains this well, and it is a necessary discussion.
You might wonder why you should be interested in this book, which covers jBPM 3.2.6. After all, jBPM 5 was just released. What about jBPM 4? I believe this book will be relevant for quite a while yet, as jBPM 4 is not going to be included in JBoss's support cycle. They'll stay with jBPM 3 (the current supported standard) and will eventually move on to jBPM 5 (after it's gone through the 'community trial by fire' on it's way to productization.) jBPM 5 is going to be a big change from the current landscape-- it's converging with the rules engine Drools. For these reasons, I expect there will be a lot of jBPM 3 development done for a while yet.
So, who would I recommend this book for? I'd say it's a good book for anyone supporting a jBPM 3 deployment, or anyone considering developing a process-centric application. jBPM is a good product, and this book can help a reasonably skilled Java developer get off the ground. I would not recommend the book for someone just out trolling for a technology book to pick up, or an analyst charged with developing the graphical process depictions. As the title says, this is a book for developers.
You can purchase jBPM Developer Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
How Do Seeders Profit From BitTorrent?
arcticstoat writes "As you may remember, a recent study claimed that just 100 users were responsible for downloading 75% of BitTorrent content, and were doing it for money, raising a lot of questions about the study. How do you profit from seeding, and how can the same 100 users be responsible for 75% of downloading and 66% of uploading. The details of the study are clarified in an interview with one of the key researchers, showing that the study's actual statistic is that 66% of the original seeds indexed on the Pirate Bay come from just 100 users, and these seeds then go on to account for 75% of downloads. The interview also details how it's possible for this small number of seeders to make a profit from seeding, via embedding links to their own indexing sites in the filenames and bundled TXT files, which then get money from advertising if downloaders decide to visit the site, assured of quality downloads. Meanwhile, other ways of profiting include 'premium' registered accounts." -
Intel 310 Series Mini SSDs Now Shipping, Benchmark
MojoKid writes "Intel's new 310 Series SSDs utilize the same 34nm NAND flash memory technology and controller found on the chip maker's 2.5-inch SSDs, but in a form factor just 1/8th the size; a scant 2 inches (51mm) long by 1.18 inches (30mm) wide and flatter than a pancake. The new tiny Intel SSDs are now shipping and despite their diminutive stature, performance is actually pretty similar to that of the company's popular X25-M 34nm SSD. Intel says the 310 Series is shipping to customers for $179 in 1,000-unit quantities for the 80GB version of the drive." -
As HTML5 Gets 2014 Final Date, Flash Floods Mobile
CWmike writes "Those curious about the final release date for the hotly debated HTML5 need wonder no more: the W3C plans to finalize the standard by July 2014, the consortium said on Monday. 'This is the first time we've been able to answer people's questions of when it will be done,' said W3C's Ian Jacobs. 'More and more people from more and more industries are asking when it will be done. They require stability in the standard and very high levels of interoperability.' Meanwhile, as Apple dismisses the value of the Flash Player in favor of HTML5 for its smartphones and tablets, Adobe said on Monday that it predicts 600% growth in the number of smartphones having the Flash 10.1 Player installed in 2011, reaching 132 million smartphones and more than 50 tablet models with either the player installed or available for download. For the six months following the launch of Flash 10.1, more than 20 million smartphones were shipped or upgraded with it." -
Google Goes After Content Farms
RedEaredSlider writes "Aimed at stripping search results of pages from 'low-quality' sites, a new Google Chrome extension allows users to block specified websites from appearing in search results. The names of these sites are then sent to Google, which will study the collected results and use them to determine future page ranking systems. Google principal engineer Matt Cutts wrote in a post on the Google blog that the company hopes the extension will improve the quality of search results. The company has been the target of criticism in recent months, much of which centered around the effect that content farms were having on searches." -
Intel Committed To MeeGo Despite Nokia Defection
CWmike writes "Intel put on a brave face Monday at the Mobile World Congress in Barcelona, insisting that there is continued strong support from it and many companies for MeeGo, the open source software platform that Nokia last week said it would abandon in favor of Microsoft's Windows Phone 7. 'Intel is disappointed at Nokia but life goes on,' said Intel's Renee James. 'Our decision and resolve on MeeGo is only stronger.' She pointed to a long list of companies participating in MeeGo development, including competitors AMD, TI and ST Ericsson; operators including Orange, Telefonica and Sprint; and software companies including Novell and Wind River. Intel expects to see MeeGo tablets shipping this year based on its Atom chip. Handsets will follow, James said. Despite its enthusiasm, however, Intel is sure to be negatively impacted by Nokia's decision." -
Paul Haggis vs. the Church of Scientology
eldavojohn writes "It's a lengthy read, but Lawrence Wright at The New Yorker has released a 26 page expose on Scientology. In a world where such innocuous sounding words as 'squirrels,' 'security-checked,' 'disconnection,' 'contra-survival,' 'suppressive persons,' 'clear' and 'open season' carry very serious and heavy baggage, director Paul Haggis has exited after thirty four years of membership and massive funding. Now he speaks at length of Scientology's controversies. From how celebrities were recruited with a 10% commission by a worker at Beverly Hills Playhouse to the current investigation by the FBI of physical abuse and human trafficking, Wright draws surrounding histories and accounts of the Church including Anonymous' crusade. The length of this article reflects the unusually large number of individuals (12 cases of physical abuse) cited as testimony of Scientology Leader David Miscavige's inurement and physical violence. The case remains open as the FBI collects data and testimony — especially in relation to Sea Org. Most disturbing are the disappearances of people that the New Yorker piece enumerates. The piece concludes with the author's interaction with the Church that results in several conflicting foundational statements from its stance on homosexuality (Haggis' original reason for publicly leaving it) to almost all details of L. Ron Hubbard's naval service and discharge. The article ends with Haggis' quote: 'I was in a cult for thirty-four years. Everyone else could see it. I don't know why I couldn't.' You can find summaries of the lengthy article and its suspected results along with corresponding reports listing politicians involved with the Church. Copyrighted work, leaked government documents, PS3 encryption keys and everything else has been posted on Slashdot but only the Church of Scientology has forced comments out of existence." -
Paul Haggis vs. the Church of Scientology
eldavojohn writes "It's a lengthy read, but Lawrence Wright at The New Yorker has released a 26 page expose on Scientology. In a world where such innocuous sounding words as 'squirrels,' 'security-checked,' 'disconnection,' 'contra-survival,' 'suppressive persons,' 'clear' and 'open season' carry very serious and heavy baggage, director Paul Haggis has exited after thirty four years of membership and massive funding. Now he speaks at length of Scientology's controversies. From how celebrities were recruited with a 10% commission by a worker at Beverly Hills Playhouse to the current investigation by the FBI of physical abuse and human trafficking, Wright draws surrounding histories and accounts of the Church including Anonymous' crusade. The length of this article reflects the unusually large number of individuals (12 cases of physical abuse) cited as testimony of Scientology Leader David Miscavige's inurement and physical violence. The case remains open as the FBI collects data and testimony — especially in relation to Sea Org. Most disturbing are the disappearances of people that the New Yorker piece enumerates. The piece concludes with the author's interaction with the Church that results in several conflicting foundational statements from its stance on homosexuality (Haggis' original reason for publicly leaving it) to almost all details of L. Ron Hubbard's naval service and discharge. The article ends with Haggis' quote: 'I was in a cult for thirty-four years. Everyone else could see it. I don't know why I couldn't.' You can find summaries of the lengthy article and its suspected results along with corresponding reports listing politicians involved with the Church. Copyrighted work, leaked government documents, PS3 encryption keys and everything else has been posted on Slashdot but only the Church of Scientology has forced comments out of existence." -
Paul Haggis vs. the Church of Scientology
eldavojohn writes "It's a lengthy read, but Lawrence Wright at The New Yorker has released a 26 page expose on Scientology. In a world where such innocuous sounding words as 'squirrels,' 'security-checked,' 'disconnection,' 'contra-survival,' 'suppressive persons,' 'clear' and 'open season' carry very serious and heavy baggage, director Paul Haggis has exited after thirty four years of membership and massive funding. Now he speaks at length of Scientology's controversies. From how celebrities were recruited with a 10% commission by a worker at Beverly Hills Playhouse to the current investigation by the FBI of physical abuse and human trafficking, Wright draws surrounding histories and accounts of the Church including Anonymous' crusade. The length of this article reflects the unusually large number of individuals (12 cases of physical abuse) cited as testimony of Scientology Leader David Miscavige's inurement and physical violence. The case remains open as the FBI collects data and testimony — especially in relation to Sea Org. Most disturbing are the disappearances of people that the New Yorker piece enumerates. The piece concludes with the author's interaction with the Church that results in several conflicting foundational statements from its stance on homosexuality (Haggis' original reason for publicly leaving it) to almost all details of L. Ron Hubbard's naval service and discharge. The article ends with Haggis' quote: 'I was in a cult for thirty-four years. Everyone else could see it. I don't know why I couldn't.' You can find summaries of the lengthy article and its suspected results along with corresponding reports listing politicians involved with the Church. Copyrighted work, leaked government documents, PS3 encryption keys and everything else has been posted on Slashdot but only the Church of Scientology has forced comments out of existence." -
Book Review: Pro Drupal 7 Development, Third Edition
Michael J. Ross writes "With the growing interest in Drupal as a platform for developing websites, the number of books devoted to this CMS has increased from a handful to now several dozen. Consequently, intermediate and advanced Drupal programmers may wonder which one of those books would be their best choice as a single resource for learning how to create custom Drupal modules and themes. Ever since its first edition in April 2007, the Pro Drupal Development series from Apress is more frequently cited as the best candidate than any other." Keep reading for the rest of Michael's review. Pro Drupal 7 Development, Third Edition author Todd Tomlinson and John K. VanDyke pages 720 pages publisher Apress rating 9/10 reviewer Michael J. Ross ISBN 978-1430228387 summary A thorough guide to module building for intermediate to advanced Drupal coders. In its third edition, Pro Drupal 7 Development is now helmed by Todd Tomlinson and John K. VanDyke, and again features a forward by Dries Buytaert, the founder and project lead of Drupal. This edition was published on 29 December 2010 under the ISBN 978-1430228387. The publisher offers a fairly sparse Web page for the book, containing a brief description, the source code used in the book, a page for errata (several reported), links to purchase both the print and electronic versions (oddly, with no bundle discount), and a section for author information, which currently has no entries. At 720 pages, it is the longest Drupal book on the market, as of this writing (and should remain so until the scheduled release of Wiley's Drupal 7 Bible). Yet Pro Drupal 7 Development is not terribly thick, probably because its paper appears to be thinner than that typically used for programming books. Although this allows the text on the other side of each page to show through slightly (and no doubt unintentionally), it generally does not pose a problem, but would have if a paper any thinner had been chosen.
The book's material is organized into 25 chapters and two appendices, covering numerous topics: Drupal infrastructure, including requisite Web technologies; module development basics; hooks, actions, and triggers; the menu, database, user, node, field, and theme systems; blocks; the form API; the filter system; searching and indexing content; file management; taxonomy and vocabularies; caching; sessions; jQuery; localization, internationalization, and content translation; XML-RPC; how to develop secure code and other best practices; site optimization; installation profiles; testing; Drupal database reference; and other resources. Given the sizable number of chapters and topics explored in this book, it would be impractical to attempt to provide any sort of full synopsis in this review. Instead we will focus more attention on those topics that will be of greater importance to Drupal developers (a phrase used to distinguish them from any Drupal site builders who do not create their own modules or modify existing ones).
The subject matter presented first — how to structure module code and make use of Drupal's hook system, as well as actions and triggers — is essential reading for anyone new to these topics (but presumably could be skipped by any veteran programmer familiar with them from earlier versions of Drupal). Most readers should find that there is sufficient information provided to understand the concepts and/or the code being presented, but there are a few exceptions: For instance, on page 22, the narrative refers to only a single node, but the code in annotate_node_load() suggests multiple nodes are being processed. Also, readers following along by implementing the example code, will likely be frustrated that the action "Beep multiple times" is not displayed in their own "Trigger: After saving new content" list box (page 42). Fortunately, these are the exceptions, because the authors present the ideas at a measured pace, with sufficient groundwork so readers will not become lost.
An understanding of Drupal's powerful hook system, is a necessary foundation for learning the concepts that form the heart of this book — namely, the menu, database, user, node, field, theme, block, and form systems (often referred to as the Drupal APIs). The presentation of the ideas is done in a methodical fashion, with plenty of example code and screenshots. Readers who patiently work their way through the material — particularly if they try to get the code working in their own Drupal environments, and perhaps even experiment with variations — will likely find it a time-consuming process, yet they will be richly rewarded for their efforts. The only blemishes are the several places in the text where there is a mismatch between the narrative and the code, or between the code and a screenshot. Several examples should suffice: The menufun_hello() function on page 67 is missing code for the two @from variables. Page 76 refers to a mysterious "second parameter, $b." The $items code on page 77 is close to what is in Drupal 6's user.module, but is nothing like Drupal 7's. Remarkably, "%index" appears in a section head (page 79) but nowhere in the text. The pager display code (on page 96) is missing "$result = $query->execute();." A "module named dbtest" (page 111) doesn't seem to exist.
The topics covered next in the book generally go beyond the Drupal APIs, and are much more diverse. Readers will learn how to filter user input, as well as how to allow users to search a site's content, upload files, and characterize nodes using terms from taxonomy vocabularies. Incidentally, the chapter on caching would have been better positioned just before the chapter on optimizing Drupal's performance, since the two areas are so closely related. Yet both are invaluable for minimizing the page load times for any substantial Drupal-based site. The authors show how, within Drupal modules, to utilize jQuery and XML-RPC. The chapter devoted to localization and translation — a subject growing in importance as sites go multilingual — is quite thorough.
The last five chapters of the book address topics that can help anyone become a better Drupal developer: code and form input security, programming best practices, Drupal site optimization, installation profiles, and testing techniques. Even though the authors provide a full chapter on Drupal programming best practices, there are similar nuggets of wisdom sprinkled throughout the other chapters — evidence of the authors' deep experience writing Drupal code, and seeing the pitfalls. The book's two appendices consist of a Drupal database reference, which describes all of the tables and their columns, and a summary of Drupal resources aside from the book, including user groups. The book concludes with an index that is missing some key concepts (e.g., permissions and roles), and would have been able to include more entries if the publisher had not chosen to use an unnecessarily large font and line height.
Each chapter concludes with a brief summary, and all of these summaries provide no value and should be dropped from any future editions. For each one of the items labeled "Note" (scattered throughout the book), if it repeats information mentioned in the text (some just a couple sentences earlier), then it should be excised; otherwise, the information should be folded into the text. The book's narrative could be improved in other ways: There are a number of instances where the authors refer to particular lines of code in the example code, and it would have been most convenient for the reader had line numbers been used. Module names are often incorrectly presented in all lowercase (e.g., page 13). Occasionally some phrases or acronyms should have been explained (or not used), such as "HA companies" (page xxix). On the plus side, the material is occasionally livened up with some welcome humor, such as the devilish functionality of "Evil Bob's Forum BonusPak" (page 14) and some equally devilish deadly pets (page 282). At first, readers may chuckle at the phrase "Drupal's legendary snappiness" (page 499), but evidently the authors were not being facetious.
The example code sprinkled throughout the chapters is especially helpful to the reader, and there are only a few places where the code does not match the narrative, or the code is incorrect in some other way (aside from those instances mentioned above): The text on page 14 neglected "annotate.admin.inc"; and in the listing for annotate.info, the "configure" path should not include "content/." In the discussion on paged display (on page 96), "clicking on 5 would take the visitor to rows" 41 through 50, and not "51 through 60." The code on pages 147 and 149 erroneously refers to "punchline" and a joke node type in job_node_access(). On page 355, field_tags is identified as field_geographic_location. The contents of the files in the downloadable source code do not always match what is seen in the book, starting with annotate.info (page 14) and annotate_admin_settings_submit() (page 20). Even worse, the source code for Chapters 3-6, 12, 13, 15-17, 19-22, 24, and 25 is missing completely.
There are numerous other, more simple errata: "-sites" (page 8), "an[d] installing" (9), "/q=node/3" (10; missing the '?'), "modules /" (17), "[the module] removes" (19), "hooks key" (45; should read "triggers key"), "beep_multiple_.beep_.action()" (49), "end" (55; should read "beginning"), "to [the] module" (61), curly quotes in code (63, 67, 190, etc.), "%user_uid_only_optional" (77), "function_menufun_menu()" (79), "product" (98; should read "produce"), "lower-case" (111), "users signature" (117), "[the] time" (118), "themeing" (153), "secondary" (190), "to and an" (308), "php", "class. the", and "apis" (all on page 323), and "pave" (409). At that point, I stopped recording the errata. Most if not all of these errors should have been spotted in the book's technical review process, assuming they were not introduced after the reviews were done.
For computer programming books, information presented outside of the narrative — such as figures and example source code — can either greatly enhance the reader's experience, or undermine it. In Pro Drupal 7 Development, the diagrams and screenshots are relatively few in number, yet are used effectively, with only a few errors: The caption for Figure 3-8 appears to be incorrect, as is the URL in Figure 4-5. Figure 5-1 contains an erroneous "$database". Table 17-1 is missing a row for uid 0. The screenshots in Figures 19-1 and 19-2 are quite fuzzy and difficult to read.
A few comments on the book's physical design and production are called for: In the review copy that the publisher kindly sent me, the first text block signature consists of only the first two leaves. As a consequence, that signature had almost no glue holding it into the binding, and had already started to separate from the binding. The production team should have anticipated this sort of problem; but it may have been a choice driven by pending changes to the title and/or copyright pages.
Fortunately, none of the above flaws are significant compared to the wealth of information provided by this book. Pro Drupal 7 Development clearly demonstrates why, in the minds of countless Drupal developers, this series is the gold standard for learning the inner workings of Drupal, and how to utilize them for building custom modules.
Michael J. Ross is a freelance website developer and writer.
You can purchase Pro Drupal 7 Development, Third Edition from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Book Review: Pro Drupal 7 Development, Third Edition
Michael J. Ross writes "With the growing interest in Drupal as a platform for developing websites, the number of books devoted to this CMS has increased from a handful to now several dozen. Consequently, intermediate and advanced Drupal programmers may wonder which one of those books would be their best choice as a single resource for learning how to create custom Drupal modules and themes. Ever since its first edition in April 2007, the Pro Drupal Development series from Apress is more frequently cited as the best candidate than any other." Keep reading for the rest of Michael's review. Pro Drupal 7 Development, Third Edition author Todd Tomlinson and John K. VanDyke pages 720 pages publisher Apress rating 9/10 reviewer Michael J. Ross ISBN 978-1430228387 summary A thorough guide to module building for intermediate to advanced Drupal coders. In its third edition, Pro Drupal 7 Development is now helmed by Todd Tomlinson and John K. VanDyke, and again features a forward by Dries Buytaert, the founder and project lead of Drupal. This edition was published on 29 December 2010 under the ISBN 978-1430228387. The publisher offers a fairly sparse Web page for the book, containing a brief description, the source code used in the book, a page for errata (several reported), links to purchase both the print and electronic versions (oddly, with no bundle discount), and a section for author information, which currently has no entries. At 720 pages, it is the longest Drupal book on the market, as of this writing (and should remain so until the scheduled release of Wiley's Drupal 7 Bible). Yet Pro Drupal 7 Development is not terribly thick, probably because its paper appears to be thinner than that typically used for programming books. Although this allows the text on the other side of each page to show through slightly (and no doubt unintentionally), it generally does not pose a problem, but would have if a paper any thinner had been chosen.
The book's material is organized into 25 chapters and two appendices, covering numerous topics: Drupal infrastructure, including requisite Web technologies; module development basics; hooks, actions, and triggers; the menu, database, user, node, field, and theme systems; blocks; the form API; the filter system; searching and indexing content; file management; taxonomy and vocabularies; caching; sessions; jQuery; localization, internationalization, and content translation; XML-RPC; how to develop secure code and other best practices; site optimization; installation profiles; testing; Drupal database reference; and other resources. Given the sizable number of chapters and topics explored in this book, it would be impractical to attempt to provide any sort of full synopsis in this review. Instead we will focus more attention on those topics that will be of greater importance to Drupal developers (a phrase used to distinguish them from any Drupal site builders who do not create their own modules or modify existing ones).
The subject matter presented first — how to structure module code and make use of Drupal's hook system, as well as actions and triggers — is essential reading for anyone new to these topics (but presumably could be skipped by any veteran programmer familiar with them from earlier versions of Drupal). Most readers should find that there is sufficient information provided to understand the concepts and/or the code being presented, but there are a few exceptions: For instance, on page 22, the narrative refers to only a single node, but the code in annotate_node_load() suggests multiple nodes are being processed. Also, readers following along by implementing the example code, will likely be frustrated that the action "Beep multiple times" is not displayed in their own "Trigger: After saving new content" list box (page 42). Fortunately, these are the exceptions, because the authors present the ideas at a measured pace, with sufficient groundwork so readers will not become lost.
An understanding of Drupal's powerful hook system, is a necessary foundation for learning the concepts that form the heart of this book — namely, the menu, database, user, node, field, theme, block, and form systems (often referred to as the Drupal APIs). The presentation of the ideas is done in a methodical fashion, with plenty of example code and screenshots. Readers who patiently work their way through the material — particularly if they try to get the code working in their own Drupal environments, and perhaps even experiment with variations — will likely find it a time-consuming process, yet they will be richly rewarded for their efforts. The only blemishes are the several places in the text where there is a mismatch between the narrative and the code, or between the code and a screenshot. Several examples should suffice: The menufun_hello() function on page 67 is missing code for the two @from variables. Page 76 refers to a mysterious "second parameter, $b." The $items code on page 77 is close to what is in Drupal 6's user.module, but is nothing like Drupal 7's. Remarkably, "%index" appears in a section head (page 79) but nowhere in the text. The pager display code (on page 96) is missing "$result = $query->execute();." A "module named dbtest" (page 111) doesn't seem to exist.
The topics covered next in the book generally go beyond the Drupal APIs, and are much more diverse. Readers will learn how to filter user input, as well as how to allow users to search a site's content, upload files, and characterize nodes using terms from taxonomy vocabularies. Incidentally, the chapter on caching would have been better positioned just before the chapter on optimizing Drupal's performance, since the two areas are so closely related. Yet both are invaluable for minimizing the page load times for any substantial Drupal-based site. The authors show how, within Drupal modules, to utilize jQuery and XML-RPC. The chapter devoted to localization and translation — a subject growing in importance as sites go multilingual — is quite thorough.
The last five chapters of the book address topics that can help anyone become a better Drupal developer: code and form input security, programming best practices, Drupal site optimization, installation profiles, and testing techniques. Even though the authors provide a full chapter on Drupal programming best practices, there are similar nuggets of wisdom sprinkled throughout the other chapters — evidence of the authors' deep experience writing Drupal code, and seeing the pitfalls. The book's two appendices consist of a Drupal database reference, which describes all of the tables and their columns, and a summary of Drupal resources aside from the book, including user groups. The book concludes with an index that is missing some key concepts (e.g., permissions and roles), and would have been able to include more entries if the publisher had not chosen to use an unnecessarily large font and line height.
Each chapter concludes with a brief summary, and all of these summaries provide no value and should be dropped from any future editions. For each one of the items labeled "Note" (scattered throughout the book), if it repeats information mentioned in the text (some just a couple sentences earlier), then it should be excised; otherwise, the information should be folded into the text. The book's narrative could be improved in other ways: There are a number of instances where the authors refer to particular lines of code in the example code, and it would have been most convenient for the reader had line numbers been used. Module names are often incorrectly presented in all lowercase (e.g., page 13). Occasionally some phrases or acronyms should have been explained (or not used), such as "HA companies" (page xxix). On the plus side, the material is occasionally livened up with some welcome humor, such as the devilish functionality of "Evil Bob's Forum BonusPak" (page 14) and some equally devilish deadly pets (page 282). At first, readers may chuckle at the phrase "Drupal's legendary snappiness" (page 499), but evidently the authors were not being facetious.
The example code sprinkled throughout the chapters is especially helpful to the reader, and there are only a few places where the code does not match the narrative, or the code is incorrect in some other way (aside from those instances mentioned above): The text on page 14 neglected "annotate.admin.inc"; and in the listing for annotate.info, the "configure" path should not include "content/." In the discussion on paged display (on page 96), "clicking on 5 would take the visitor to rows" 41 through 50, and not "51 through 60." The code on pages 147 and 149 erroneously refers to "punchline" and a joke node type in job_node_access(). On page 355, field_tags is identified as field_geographic_location. The contents of the files in the downloadable source code do not always match what is seen in the book, starting with annotate.info (page 14) and annotate_admin_settings_submit() (page 20). Even worse, the source code for Chapters 3-6, 12, 13, 15-17, 19-22, 24, and 25 is missing completely.
There are numerous other, more simple errata: "-sites" (page 8), "an[d] installing" (9), "/q=node/3" (10; missing the '?'), "modules /" (17), "[the module] removes" (19), "hooks key" (45; should read "triggers key"), "beep_multiple_.beep_.action()" (49), "end" (55; should read "beginning"), "to [the] module" (61), curly quotes in code (63, 67, 190, etc.), "%user_uid_only_optional" (77), "function_menufun_menu()" (79), "product" (98; should read "produce"), "lower-case" (111), "users signature" (117), "[the] time" (118), "themeing" (153), "secondary" (190), "to and an" (308), "php", "class. the", and "apis" (all on page 323), and "pave" (409). At that point, I stopped recording the errata. Most if not all of these errors should have been spotted in the book's technical review process, assuming they were not introduced after the reviews were done.
For computer programming books, information presented outside of the narrative — such as figures and example source code — can either greatly enhance the reader's experience, or undermine it. In Pro Drupal 7 Development, the diagrams and screenshots are relatively few in number, yet are used effectively, with only a few errors: The caption for Figure 3-8 appears to be incorrect, as is the URL in Figure 4-5. Figure 5-1 contains an erroneous "$database". Table 17-1 is missing a row for uid 0. The screenshots in Figures 19-1 and 19-2 are quite fuzzy and difficult to read.
A few comments on the book's physical design and production are called for: In the review copy that the publisher kindly sent me, the first text block signature consists of only the first two leaves. As a consequence, that signature had almost no glue holding it into the binding, and had already started to separate from the binding. The production team should have anticipated this sort of problem; but it may have been a choice driven by pending changes to the title and/or copyright pages.
Fortunately, none of the above flaws are significant compared to the wealth of information provided by this book. Pro Drupal 7 Development clearly demonstrates why, in the minds of countless Drupal developers, this series is the gold standard for learning the inner workings of Drupal, and how to utilize them for building custom modules.
Michael J. Ross is a freelance website developer and writer.
You can purchase Pro Drupal 7 Development, Third Edition from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
IT Turf Wars: the Most Common Feuds In Tech
snydeq writes "InfoWorld's Dan Tynan reports on the most common feuds in tech: turf wars in the IT department. 'IT pros do battle every day — with cyber attackers, stubborn hardware, buggy software, clueless users, and the endless demands of other departments within their organization. But few can compare to the conflicts raging within IT itself.' Dev vs. ops, staff vs. management — taking flak from fellow IT pros has become all too common in today's highly territorial IT organizations." -
IT Turf Wars: the Most Common Feuds In Tech
snydeq writes "InfoWorld's Dan Tynan reports on the most common feuds in tech: turf wars in the IT department. 'IT pros do battle every day — with cyber attackers, stubborn hardware, buggy software, clueless users, and the endless demands of other departments within their organization. But few can compare to the conflicts raging within IT itself.' Dev vs. ops, staff vs. management — taking flak from fellow IT pros has become all too common in today's highly territorial IT organizations." -
Recent HP Laptops Shipped CPU-Choking Wi-Fi Driver
An anonymous reader writes "Computer manufacturers have recently come under fire for the continued practice of shipping machines with excessive bloatware. Software preinstalled on some recent HP laptops was worse than normal though, consuming anywhere from 25-99% CPU by making incessant WMI queries, resulting in overheating laptops and reduced battery life. Users on a computer Q&A site did some sleuthing, and revealed that HP Wireless Assistant — software which does nothing but tell the user when their WiFi adapter is turned on or off — was causing the problem. According to an HP support forum, the problem is fixed in later versions, but thousands of laptops have the software installed, and the software does not get updated automatically." -
File Organization — How Do You Do It In 2011?
siddesu writes "After 30 years of being around computers, I have, like everyone else, amassed a huge amount of files in huge amount of formats about a huge amount of topics. And it isn't only me — the family has now a ton of data that they want managed and easily accessible. Keeping all that information in order has always been a pain, but it has gone harder as the storage has increased and people and files and sizes have multiplied. What do you folks use to keep your odd terabyte of document, picture, video and code files organized — that is, relatively uniformly tagged, versioned, searchable and ultimately findable, without 50 duplicates over your 50 devices and without typing arcane commands in a terminal window? I found this discussion from 2003 and this tangentially relevant post from 2006. How have things changed for you in 2011? And how satisfied is your extended family with the solution you have unleashed upon them?" -
File Organization — How Do You Do It In 2011?
siddesu writes "After 30 years of being around computers, I have, like everyone else, amassed a huge amount of files in huge amount of formats about a huge amount of topics. And it isn't only me — the family has now a ton of data that they want managed and easily accessible. Keeping all that information in order has always been a pain, but it has gone harder as the storage has increased and people and files and sizes have multiplied. What do you folks use to keep your odd terabyte of document, picture, video and code files organized — that is, relatively uniformly tagged, versioned, searchable and ultimately findable, without 50 duplicates over your 50 devices and without typing arcane commands in a terminal window? I found this discussion from 2003 and this tangentially relevant post from 2006. How have things changed for you in 2011? And how satisfied is your extended family with the solution you have unleashed upon them?" -
Microsoft Offers H.264 Plug-in For Google Chrome
Apparently Firefox was just the beginning: Pigskin-Referee writes "Microsoft has released a Windows Media Player HTML5 Extension for Chrome so as to enable H.264-encoded video on HTML5 by using built-in capabilities available on Windows 7. As you may recall, less than two months ago, Microsoft released the HTML5 Extension for Windows Media Player Firefox Plug-in with the same goal in mind. Even though Firefox and Chrome are big competitors to Microsoft's own Internet Explorer, the software giant has decided Windows 7 users should be able to play back H.264 video even if they aren't using IE9. Here's the current state of HTML5 video: Microsoft and Apple are betting on H.264, while Firefox, Chrome, and Opera are rooting for WebM. Google was actually in favor of both H.264 and WebM up until earlier this month, when the search giant decided to drop H.264 support completely, even though the former is widely used and the latter is not. The company also announced that it would release WebM plugins for Internet Explorer 9 and Safari. Although IE9 supports H.264, excluding all other codecs, Microsoft is making an exception for WebM, as long as the user installs the corresponding codec, and is helping Google ensure the plug-in works properly." -
Subtle Cyber Attacks Could Tilt Global Economies
wiredmikey writes "A subtle, yet powerfully destructive force of electronic attacks may be working slowly and silently to disrupt elements of the world's market-based economies. Recent cyber-attacks on the European Emissions Trading Scheme shut down that exchange's carbon market just a few weeks ago. Along with the fear of lights-out DDoS attacks that has traditionally stalked electronic markets, and logically still does, new types of attacks by subtle manipulation could slowly turn electronic markets on their heads by corrupting their very legitimacy. What's worse? Attacking someone's borders, or slowly disrupting and degrading confidence in their entire national economic well-being?" -
Amazon Pulling Out of Texas Over $269 Million Tax Bill
ralphart writes with this excerpt from the Dallas Morning News: "As a result of an ongoing tax dispute with Texas, Amazon.com has decided to take its ball and go home. The online retailer said Thursday that it would shutter its Irving distribution facility April 12 and cancel plans to hire as many as 1,000 additional workers rather than pay Texas what the state says is owed in uncollected sales tax. Texas wants $269 million from Seattle-based Amazon in past-due sales tax. It sent the bill to the company last October." We've discussed the online retailer's tax battles with other states in the past. -
Amazon Pulling Out of Texas Over $269 Million Tax Bill
ralphart writes with this excerpt from the Dallas Morning News: "As a result of an ongoing tax dispute with Texas, Amazon.com has decided to take its ball and go home. The online retailer said Thursday that it would shutter its Irving distribution facility April 12 and cancel plans to hire as many as 1,000 additional workers rather than pay Texas what the state says is owed in uncollected sales tax. Texas wants $269 million from Seattle-based Amazon in past-due sales tax. It sent the bill to the company last October." We've discussed the online retailer's tax battles with other states in the past. -
MPEG LA Attempts To Start VP8 Patent Pool
Confirming speculation from last year, an anonymous reader tips news that MPEG LA has posted a request for information about establishing a patent pool for the VP8 video codec. "In order to participate in the creation of, and determine licensing terms for, a joint VP8 patent license, any party that believes it has patents that are essential to the VP8 video codec specification is invited to submit them for a determination of their essentiality by MPEG LA’s patent evaluators. At least one essential patent is necessary to participate in the process, and initial submissions should be made by March 18, 2011. Although only issued patents will be included in the license, in order to participate in the license development process, patent applications with claims that their owners believe are essential to the specification and likely to issue in a patent also may be submitted." -
Professor Rejects Camera Implanted In His Head
Stenchwarrior writes "A New York University professor temporarily removed the camera he had surgically installed in the back of his head to get rid of one of the apparatus' parts after his body rejected it, myFOXny.com reported Wednesday. Photography professor Wafaa Bilal was in near constant pain after part of a thumb-nail-size camera, implanted in December as part of an art project commissioned by a new museum in Qatar, was rejected by his body." -
Microsoft Releases Internet Explorer 9 RC
An anonymous reader writes "Microsoft has released Internet Explorer 9 Release Candidate. The new RC build includes a Tracking Protection feature, which gives users the option to control what third-party site content can track them when they're online, as well as a new ActiveX filtering option, which allows users to turn on/off ActiveX plug-ins. Best of all, Microsoft has addressed what was arguably the biggest complaint with the new version: if you want your tabs on a separate line from the address box, there's now an option to turn that on from the right click menu at the top of the browser. At the same time, IE9 RC is significantly faster than the beta version. Furthermore, many site rendering issues have been fixed, although we can't say that it's working perfectly. Last but not least, the new build includes hundreds of bug fixes." -
Vatican Bans IOS Confession App
An anonymous reader writes "Despite all the hype that a lowly priest had approved the new confessional app hitting the app store, the truth has now revealed itself. According to today's Daily Mail, a spokesman for the Vatican, Federico Lombardi said: 'It is essential to understand that the rites of penance require a personal dialogue between penitents and their confessor. It cannot be replaced by a computer application. I must stress to avoid all ambiguity, under no circumstance is it possible to confess by iPhone." -
Activision Axes Guitar Hero
jtillots writes "Activision Blizzard has canceled the Guitar Hero franchise, citing 'declining revenue of the music game genre.' Also on the chopping block was DJ Hero and True Crime. Fat_bot put it best — it's the new Day the Music Died." This comes only a few months after Viacom dropped Rock Band developer Harmonix for similar reasons, and less than a week after they closed MTV Games altogether. -
Activision Axes Guitar Hero
jtillots writes "Activision Blizzard has canceled the Guitar Hero franchise, citing 'declining revenue of the music game genre.' Also on the chopping block was DJ Hero and True Crime. Fat_bot put it best — it's the new Day the Music Died." This comes only a few months after Viacom dropped Rock Band developer Harmonix for similar reasons, and less than a week after they closed MTV Games altogether. -
Book Review: PostgreSQL 9.0 High Performance
eggyknap writes "Thanks in large part to the oft-hyped 'NoSQL' movement, database performance has received a great deal of press in the past few years. Organizations large and small have replaced their traditional relational database applications with new technologies like key-value stores, document databases, and other systems, with great fanfare and often great success. But replacing a database system with something radically different is a difficult undertaking, and these new database systems achieve their impressive results principally because they abandon some of the guarantees traditional database systems have always provided." Keep reading for the rest of eggyknap's review. PostgreSQL 9.0 High Performance author Gregory Smith pages Packt Publishing publisher 468 rating Packt Publishing reviewer 184951030X ISBN takes the reader step-by-step through the process of building an efficient and responsive database using "the world's most advanced open source database" summary 8/10 For those of us who need improved performance but don't have the luxury of redesigning our systems, and even more for those of us who still need traditional transactions, data integrity, and SQL, there is an option. Greg Smith's book, PostgreSQL 9.0 High Performance takes the reader step-by-step through the process of building an efficient and responsive database using "the world's most advanced open source database".
Greg Smith has been a major contributor to PostgreSQL for many years, with work focusing particularly on performance. In PostgreSQL 9.0 High Performance, Smith starts at the lowest level and works through a complete system, sharing his experience with systematic benchmarking and detailed performance improvement at each step. Despite the title, the material applies not only to PostgreSQL's still fairly new 9.0 release, but to previous releases as well. After introducing PostgreSQL, briefly discussing its history, strengths and weaknesses, and basic management, the book dives into a detailed discussion of hardware and benchmarking, and doesn't come out for 400 pages.
Databases vary, of course, but in general they depend on three main hardware factors: CPU, memory, and disks. Smith discusses each in turn, and in substantial detail, as demonstrated in a sample chapter available from the publisher, Packt Publishing. After describing the various features and important considerations of each aspect of a database server's hardware, the book introduces and demonstrates powerful and widely available tools for testing and benchmarking. This section in particular should apply easily not only to administrators of PostgreSQL databases, but users of other databases, or indeed other applications as well, where CPU, memory, or disk performance is a critical factor. Did you know, for instance, the difference between "write-through" and "write-back" caching in disk, and why it matters to a database? Or did you know that disks perform better depending on which part of the physical platter they're reading? How does memory performance compare between various common CPUs through the evolution of their different architectures?
At every step, Smith encourages small changes and strict testing, to ensure optimum results from your performance efforts. His discussion includes methods for reducing and correcting variability, and sticks to easily obtained and interpreted tools, whose output is widely understood and for which support is readily available. The underlying philosophy has correctly been described as "measure, don't guess," a welcome relief in a world where system administrators often make changes based on a hunch or institutional mythology.
Database administrators often limit their tools to little more than building new indexes and rewriting queries, so it's surprising to note that those topics don't make their appearance until chapters 9 and 10 respectively, halfway through the book. That said, they receive the same detailed attention given earlier to database hardware, and later on to monitoring tools and replication. Smith thoroughly explains each of the operations that may appear in PostgreSQL's often overwhelming query plans, describes each index type and its variations, and goes deeply into how the query planner decides on the best way to execute a query.
Other chapters cover such topics as file systems, configuration options suitable for various scenarios, partitioning, and common pitfalls, each in depth. In fact, the whole book is extremely detailed. Although the tools introduced for benchmarking, monitoring, and the like are well described and their use nicely demonstrated, this is not a book a PostgreSQL beginner would use to get started. Smith's writing style is clear and blessedly free of errors and confusion, as is easily seen by his many posts on PostgreSQL mailing lists throughout the years, but it is deeply detailed, and the uninitiated could quickly get lost.
This is also a very long book, and although not built strictly as a reference manual, it's probably best treated as one, after an initial thorough reading. It covers each topic in such detail that each must be absorbed before further reading can be beneficial. Figures and other non-textual interruptions are, unfortunately, almost nowhere to be found, so despite the author's clear and easy style, it can be a tiring read.
It is, however, one of the clearest, most thorough, and best presented descriptions of the full depth of PostgreSQL currently available, and doubtless has something to teach any frequent user of a PostgreSQL database. Those planning a new database will welcome the straightforward and comprehensive presentation of hardware-level details that are difficult or impossible to change after a system goes into production; administrators will benefit from its discussion of configuration options and applicable tools; and users and developers will embrace its comprehensive description of query planning and optimization. PostgreSQL 9.0 High Performance will be a valuable tool for all PostgreSQL users interested in getting the most from their database.
You can purchase PostgreSQL 9.0 High Performance from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Book Review: PostgreSQL 9.0 High Performance
eggyknap writes "Thanks in large part to the oft-hyped 'NoSQL' movement, database performance has received a great deal of press in the past few years. Organizations large and small have replaced their traditional relational database applications with new technologies like key-value stores, document databases, and other systems, with great fanfare and often great success. But replacing a database system with something radically different is a difficult undertaking, and these new database systems achieve their impressive results principally because they abandon some of the guarantees traditional database systems have always provided." Keep reading for the rest of eggyknap's review. PostgreSQL 9.0 High Performance author Gregory Smith pages Packt Publishing publisher 468 rating Packt Publishing reviewer 184951030X ISBN takes the reader step-by-step through the process of building an efficient and responsive database using "the world's most advanced open source database" summary 8/10 For those of us who need improved performance but don't have the luxury of redesigning our systems, and even more for those of us who still need traditional transactions, data integrity, and SQL, there is an option. Greg Smith's book, PostgreSQL 9.0 High Performance takes the reader step-by-step through the process of building an efficient and responsive database using "the world's most advanced open source database".
Greg Smith has been a major contributor to PostgreSQL for many years, with work focusing particularly on performance. In PostgreSQL 9.0 High Performance, Smith starts at the lowest level and works through a complete system, sharing his experience with systematic benchmarking and detailed performance improvement at each step. Despite the title, the material applies not only to PostgreSQL's still fairly new 9.0 release, but to previous releases as well. After introducing PostgreSQL, briefly discussing its history, strengths and weaknesses, and basic management, the book dives into a detailed discussion of hardware and benchmarking, and doesn't come out for 400 pages.
Databases vary, of course, but in general they depend on three main hardware factors: CPU, memory, and disks. Smith discusses each in turn, and in substantial detail, as demonstrated in a sample chapter available from the publisher, Packt Publishing. After describing the various features and important considerations of each aspect of a database server's hardware, the book introduces and demonstrates powerful and widely available tools for testing and benchmarking. This section in particular should apply easily not only to administrators of PostgreSQL databases, but users of other databases, or indeed other applications as well, where CPU, memory, or disk performance is a critical factor. Did you know, for instance, the difference between "write-through" and "write-back" caching in disk, and why it matters to a database? Or did you know that disks perform better depending on which part of the physical platter they're reading? How does memory performance compare between various common CPUs through the evolution of their different architectures?
At every step, Smith encourages small changes and strict testing, to ensure optimum results from your performance efforts. His discussion includes methods for reducing and correcting variability, and sticks to easily obtained and interpreted tools, whose output is widely understood and for which support is readily available. The underlying philosophy has correctly been described as "measure, don't guess," a welcome relief in a world where system administrators often make changes based on a hunch or institutional mythology.
Database administrators often limit their tools to little more than building new indexes and rewriting queries, so it's surprising to note that those topics don't make their appearance until chapters 9 and 10 respectively, halfway through the book. That said, they receive the same detailed attention given earlier to database hardware, and later on to monitoring tools and replication. Smith thoroughly explains each of the operations that may appear in PostgreSQL's often overwhelming query plans, describes each index type and its variations, and goes deeply into how the query planner decides on the best way to execute a query.
Other chapters cover such topics as file systems, configuration options suitable for various scenarios, partitioning, and common pitfalls, each in depth. In fact, the whole book is extremely detailed. Although the tools introduced for benchmarking, monitoring, and the like are well described and their use nicely demonstrated, this is not a book a PostgreSQL beginner would use to get started. Smith's writing style is clear and blessedly free of errors and confusion, as is easily seen by his many posts on PostgreSQL mailing lists throughout the years, but it is deeply detailed, and the uninitiated could quickly get lost.
This is also a very long book, and although not built strictly as a reference manual, it's probably best treated as one, after an initial thorough reading. It covers each topic in such detail that each must be absorbed before further reading can be beneficial. Figures and other non-textual interruptions are, unfortunately, almost nowhere to be found, so despite the author's clear and easy style, it can be a tiring read.
It is, however, one of the clearest, most thorough, and best presented descriptions of the full depth of PostgreSQL currently available, and doubtless has something to teach any frequent user of a PostgreSQL database. Those planning a new database will welcome the straightforward and comprehensive presentation of hardware-level details that are difficult or impossible to change after a system goes into production; administrators will benefit from its discussion of configuration options and applicable tools; and users and developers will embrace its comprehensive description of query planning and optimization. PostgreSQL 9.0 High Performance will be a valuable tool for all PostgreSQL users interested in getting the most from their database.
You can purchase PostgreSQL 9.0 High Performance from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
JAXA To Use Fishing Nets To Scoop Up Space Junk
An anonymous reader writes "We've seen high-fallutin proposals to tackling the space junk problem before — and now the Japanese space agency JAXA has teamed up with Japanese fishing net maker Nitto Seimo to haul in some of the 100,000-plus objects of space junk orbiting the planet. AJAXA satellite will deploy and release a kilometers-wide net made by Nitto Seimo of ultra-thin triple layered metal threads. The net will gradually be drawn into Earth's magnetic field and burned up along with the abandoned satellites, engine parts and other litter it's collected." -
JAXA To Use Fishing Nets To Scoop Up Space Junk
An anonymous reader writes "We've seen high-fallutin proposals to tackling the space junk problem before — and now the Japanese space agency JAXA has teamed up with Japanese fishing net maker Nitto Seimo to haul in some of the 100,000-plus objects of space junk orbiting the planet. AJAXA satellite will deploy and release a kilometers-wide net made by Nitto Seimo of ultra-thin triple layered metal threads. The net will gradually be drawn into Earth's magnetic field and burned up along with the abandoned satellites, engine parts and other litter it's collected." -
Furry Cartoon Critters Debate: Tablet Or Laptop?
ericatcw writes "Despite the strong inroads that mobile devices are making (see this online list of mass iPad rollouts), many skeptics remain unconvinced of their usefulness. That's true even when confronted with news of Microsoft's fear, reasoned arguments, or even old-timey anti-laptop rants that, hilariously, echo all of the same criticism today against tablets. Will this Xtranormal cartoon video depicting two furry woodland creatures on opposite sides of the 'Tablet or PC?' debate sway your mind?" -
Feds Settle Case of Woman Fired Over Facebook Posts
Mr.Intel writes "Employers should think twice before trying to restrict workers from talking about their jobs on Facebook or other social media. That's the message the government sent on Monday as it settled a closely watched lawsuit against a Connecticut ambulance company that fired an employee after she went on Facebook to criticize her boss in 2009." -
Java Floating Point Bug Can Lock Up Servers
An anonymous reader writes "Here we go again: Just like the recently-reported PHP Floating Point Bug causes servers to go into infinite loops when parsing certain double-precision floating-point numbers, Sun/Oracle's JVM does it, too. It gets better: you can lock up a thread on most servers just by sending a particular header value. Sun/Oracle has known about the bug for something like 10 years, but it's still not fixed. Java Servlet containers are patching to avoid the problem, but application code will still be vulnerable to user input." -
Confession: There's an iPhone App For That
slshwtw writes "Pope Benedict XVI has recently encouraged priests to blog and promoted Christian Netiquette. Now apparently the Roman Catholic church has sanctioned a 'Confession App,' available through iTunes for $1.99. Apparently it doesn't replace 'traditional,' in-person confession, but walks one through the process, even suggesting sins you may wish to confess."' -
Confession: There's an iPhone App For That
slshwtw writes "Pope Benedict XVI has recently encouraged priests to blog and promoted Christian Netiquette. Now apparently the Roman Catholic church has sanctioned a 'Confession App,' available through iTunes for $1.99. Apparently it doesn't replace 'traditional,' in-person confession, but walks one through the process, even suggesting sins you may wish to confess."' -
Drivers Blamed For Out of Control Toyotas - Again
PolygamousRanchKid writes "An intensive 10 month investigation into possible causes of unintended acceleration in Toyota cars found no fault with the automaker's electronic throttle control systems, the Department of Transportation announced Tuesday." Didn't the NHTSA say essentially the same thing last July? -
LG Wants PlayStation 3 Banned From US Market
FlorianMueller writes "On Friday LG filed a complaint against Sony with the US International Trade Commission, claiming the PlayStation 3 infringes four Blu-ray Disc patents and demanding a permanent ban of the PS3 (and possibly other products) from the US market. LG, which boasts that it owns 90,000 patents worldwide, appears to take this step in retaliation for a previous Sony complaint about various LG smartphones, which the ITC is already investigating. This is reminiscent of Motorola's infringement action against the Xbox 360 that is part of its wider dispute with Microsoft. In other words, you touch my smartphones and I bomb your game consoles." -
Takedown Letters For WP7 Tetris Clones
karios writes "Today I received a takedown letter from a law firm representing the Tetris Company for copyright violations involving my game Tetrada, which I published on the Windows Phone 7 marketplace. The witch hunt, after hitting Android, iOS and other platforms, continues on Windows Phone 7. It's a pity, since some of the tetromino games in the Marketplace were pretty decent." -
China Building City For Cloud Computing
CWmike writes "First it was China's 'big hole' sighting that brought us the supercomputing race. Now China is building a city-sized cloud computing and office complex that will include a mega data center, one of the projects fueling that country's double-digit growth in IT spending. The entire complex will cover some 6.2 million square feet, with the initial data center space accounting for approximately 646,000 square feet, says IBM, which is collaborating with a Chinese company to build it. A Sputnik moment? Patrick Thibodeau reports that these big projects, whether supercomputers or sprawling software development office parks, can garner a lot of attention. But China's overall level of IT spending, while growing rapidly, is only one-fifth that of the US." -
New Hampshire Begins Open-Data Efforts
Plugh writes "The Free State Project was created to move 20,000 small-government activists to New Hampshire (here's the Slashdot story from 2002). IT people, with our ability to work anywhere, were some of the first to move. Now, with over a dozen Free Staters elected to the NH legislature, these geeks are starting to affect government data-sharing policy." -
Mozilla Aims To Release Four Firefox Versions In 2011
An anonymous reader writes "Mozilla is planning to release four new versions of its open source browser by the end of this year. That means Firefox 4, Firefox 5, Firefox 6, and Firefox 7 are all slated to ship in 2011. Mozilla was originally planning on having Firefox 4 out by the end of last year, but it had to delay the release. The last release was Beta 10 but there are still probably two more betas, at least one release candidate, and of course a final build. It's clear the company no longer thinks this model is a good one, and wants to accelerate its release cycle, much like Google did with Chrome." More detailed information on the accelerated development cycle and the major features intended for each new version are available on Mozilla's Firefox 2011 Roadmap. -
Book Review: OSGi and Apache Felix 3.0
RickJWagner writes "OSGi is a Java framework that's designed to simplify application deployments in shared environments. It allows applications with differing dependencies to run side-by-side in the same container without any deployment time contortions. The end result is that your application that needs FooLib v2.2.2 can run right beside my application that needs FooLib v1.0, something not often possible in today's application servers." Keep reading for the rest of Rick's review. OSGi and Apache Felix 3.0, Beginner's Guide author Walid Joseph Gedeon pages 336 publisher Packt Publishing rating 8/10 reviewer RickJWagner ISBN 1849511381 summary A step-by-step beginner's guide based on developing a case study OSGi is actually more than that, though. It's a framework with a very granular component lifecycle model, so you can carefully manage when the various parts of your application start up. It contains a service registry, so your application can either advertise or consume services. It's a controllable application runtime framework, complete with shell language that allows administrative tasks to be performed.
All these things and more are covered in the book. The author assumes the reader knows nothing more than what an average Java coder would know, so the development environment is given great coverage. (As is increasingly common, Maven2 is the build mechanism being used. The author goes to great lengths to explain how to construct every .pom file you'll need.) By the way, you'll be needing plenty of .pom files, as you are going to be incrementally building a simple bookshelf application, adding functionality chapter by chapter.
The book's example business logic is nothing out of the ordinary, which is good. If you're new to OSGi you're going to have your hands full learning the ins and outs of packing applications, the component deployment cycle, etc. Any experienced developer is going to instantly recognize the business problem you're trying to solve, so at least you won't be bothered by that. There is plenty of new material to study otherwise-- even tasks as ordinary as logging or deploying a servlet are vastly different than what you're probably used to. I remember I once read an article on the web about a new Java spec, the article was called "Don't make me eat the elephant again!" Well, if you're new to OSGi and want to get started.... break out the silverware!
In some ways, I'd compare Felix to an application server. It's an environment you use to deploy your applications, and it comes complete with a shell language used to administer the container. (The shell language, called 'Gogo', is given it's own chapter. You're also given Gogo commands throughout the book as you develop, deploy, and run your application.)
OSGi specifies a "Bundle Repository", which is a place where you can place your deployment artifacts so others can access them when they're listed as dependencies to their applications. (All this is done in the manifest files, by the way. You're given a good overview of all of this.) The OBR is yet another part of the landscape that will become important to you, so it's given good coverage in several chapters as you need to access it.
The development tasks are carefully covered. You are given very clear instructions on Maven to start, later on the author might withhold a little information to make you work a little. (Hint: the book's sample code fills in gaps nicely, if you get stuck.) The book also includes a series of 'Pop quizzes' to help you check your understanding of the material. More than once I found I might've been reading a little too quickly and paged back-- sure enough, the material had been presented, but I hadn't been paying enough attention. I liked this part of the book.
The application you're building is realistic enough, and you incrementally add functionality to it to make it something similar to what you might actually need in the real world. You start with the basic object model needed for a CRUD application, then add on niceties like a text UI, logging, a graphical interface, etc. Along the way you're introduced to things like iPojo, which is a dependency injection mechanism for OSGi. (Remember that elephant? Here's a small chunk...)
The book ends with a nice-to-have chapter on troubleshooting issues and two appendices. The first one covers the development environment, Maven/Eclipse. The second one covers advanced topics that should be within reach for the reader by the time they've reached the end of the book.
So, what's the bottom line? I'd say this book is good for anyone who wants to learn OSGi in general, or Felix in particular. No prerequisites exist, except maybe basic competency in Java. For developers just shopping around for an instructional book, without a need to pick up OSGi..... I'd say maybe not. (Why clutter your brain with this stuff, unless you're going to put it to good use?) Overall, the book is well written and presents things in an easily understandable way. On a scale of 1 — 10, I'd give this book an 8.1.
You can purchase OSGi and Apache Felix 3.0, Beginner's Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
Book Review: OSGi and Apache Felix 3.0
RickJWagner writes "OSGi is a Java framework that's designed to simplify application deployments in shared environments. It allows applications with differing dependencies to run side-by-side in the same container without any deployment time contortions. The end result is that your application that needs FooLib v2.2.2 can run right beside my application that needs FooLib v1.0, something not often possible in today's application servers." Keep reading for the rest of Rick's review. OSGi and Apache Felix 3.0, Beginner's Guide author Walid Joseph Gedeon pages 336 publisher Packt Publishing rating 8/10 reviewer RickJWagner ISBN 1849511381 summary A step-by-step beginner's guide based on developing a case study OSGi is actually more than that, though. It's a framework with a very granular component lifecycle model, so you can carefully manage when the various parts of your application start up. It contains a service registry, so your application can either advertise or consume services. It's a controllable application runtime framework, complete with shell language that allows administrative tasks to be performed.
All these things and more are covered in the book. The author assumes the reader knows nothing more than what an average Java coder would know, so the development environment is given great coverage. (As is increasingly common, Maven2 is the build mechanism being used. The author goes to great lengths to explain how to construct every .pom file you'll need.) By the way, you'll be needing plenty of .pom files, as you are going to be incrementally building a simple bookshelf application, adding functionality chapter by chapter.
The book's example business logic is nothing out of the ordinary, which is good. If you're new to OSGi you're going to have your hands full learning the ins and outs of packing applications, the component deployment cycle, etc. Any experienced developer is going to instantly recognize the business problem you're trying to solve, so at least you won't be bothered by that. There is plenty of new material to study otherwise-- even tasks as ordinary as logging or deploying a servlet are vastly different than what you're probably used to. I remember I once read an article on the web about a new Java spec, the article was called "Don't make me eat the elephant again!" Well, if you're new to OSGi and want to get started.... break out the silverware!
In some ways, I'd compare Felix to an application server. It's an environment you use to deploy your applications, and it comes complete with a shell language used to administer the container. (The shell language, called 'Gogo', is given it's own chapter. You're also given Gogo commands throughout the book as you develop, deploy, and run your application.)
OSGi specifies a "Bundle Repository", which is a place where you can place your deployment artifacts so others can access them when they're listed as dependencies to their applications. (All this is done in the manifest files, by the way. You're given a good overview of all of this.) The OBR is yet another part of the landscape that will become important to you, so it's given good coverage in several chapters as you need to access it.
The development tasks are carefully covered. You are given very clear instructions on Maven to start, later on the author might withhold a little information to make you work a little. (Hint: the book's sample code fills in gaps nicely, if you get stuck.) The book also includes a series of 'Pop quizzes' to help you check your understanding of the material. More than once I found I might've been reading a little too quickly and paged back-- sure enough, the material had been presented, but I hadn't been paying enough attention. I liked this part of the book.
The application you're building is realistic enough, and you incrementally add functionality to it to make it something similar to what you might actually need in the real world. You start with the basic object model needed for a CRUD application, then add on niceties like a text UI, logging, a graphical interface, etc. Along the way you're introduced to things like iPojo, which is a dependency injection mechanism for OSGi. (Remember that elephant? Here's a small chunk...)
The book ends with a nice-to-have chapter on troubleshooting issues and two appendices. The first one covers the development environment, Maven/Eclipse. The second one covers advanced topics that should be within reach for the reader by the time they've reached the end of the book.
So, what's the bottom line? I'd say this book is good for anyone who wants to learn OSGi in general, or Felix in particular. No prerequisites exist, except maybe basic competency in Java. For developers just shopping around for an instructional book, without a need to pick up OSGi..... I'd say maybe not. (Why clutter your brain with this stuff, unless you're going to put it to good use?) Overall, the book is well written and presents things in an easily understandable way. On a scale of 1 — 10, I'd give this book an 8.1.
You can purchase OSGi and Apache Felix 3.0, Beginner's Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page. -
US Has Secret Tools To Force Internet On Dictatorships
4phun found a Wired story that talks about the military options when a dictatorship decides to cut off internet access to its population. "The American military does have a second set of options if it ever wants to force connectivity on a country against its ruler’s wishes. There’s just one wrinkle. 'It could be considered an act of war.'" Hopefully the same options will be available for us when our government gets around to implementing our own kill switch. -
Are Flickr Images Abused By Foreign Businesses?
eldavojohn writes "My friend Drew was notified via Twitter that one of his Flickr images had been selected as poster child for freeloaders who abuse the benefits system in an Elsevier news story in the Netherlands. The original image clearly gives an CC BY-NC 2.0 license to the image which doesn't appear in the story — a story which generates revenue for Elsevier. My friend doesn't speak Dutch so he's a little confused about what, if anything, he can do in this situation. I'm reminded of a family's Christmas photo showing up on a billboard in Prague and I wonder if photo sharing sites are treated as free to abuse regardless of copyright by foreign businesses? Has anyone else heard of this sort of thing happening with images from social photo sharing sites?"