Slashdot videos: Now with more Slashdot!
Unless Apple really has a complete QA failure with a future OS upgrade or new device release, they will remain in front of the other device manufacturers for a very long time. They will be free to pick-and-choose which interesting & successful bits they steal and then super-engineer/implement from Android, Palm, Microsoft, etc and continue their lead.
I'm still convinced these netbook/tablet rumors are just that - rumors.
Published by Holistic Vibes Sàrl in 2009, the book was written by Dorien Herremans, an independent Web developer in Belgium who holds an MSc degree in MIS from the University of Antwerp, and has lectured in IT and 3D computer animation at Les Roches University of Applied Sciences, in Bluche, Switzerland. Her Drupal story is no doubt similar to that of many other Web developers: After building numerous sites in Drupal, she decided to create a new community site — in this case, Raw Vegan Dating. She was well aware that other CMSs offered fairly sophisticated modules that could be dropped into a fresh CMS installation, thereby creating a new community site instantly. But that approach generally requires one to accept the functional limitations of the chosen module, or start hacking the module's code (which for most modules is poorly written and equally poorly documented), with no guarantee that one's modifications will even work. Dorien instead opted for Drupal's flexibility, but found the development process rather difficult and time-consuming, partly because of some technical issues that arose: How can one easily create advanced profiles in Drupal? Can one add a photo gallery to each profile? Ultimately, these lead to a much broader question: Is it possible to build a feature-rich community/dating site using only core and contributed modules, without having to make any modifications to them?
Dorien set out to answer that question, in developing a new site, Drupal Fun, which is a community primarily for Drupal users who have read the book and wish to help each other. The site also offers a few tutorials on how to convert to the latest versions of modules. In making that site, Dorien utilized only available modules, with no changes, and documented each step in the process. The lessons learned from that effort form the foundation of Drupal 6: Ultimate Community Site Guide. The first three chapters constitute an introductory foundation; the next two cover user profiles; and the remaining four major chapters explain content, monetization, etc. For all topics, the Drupal Fun site is used as a case study. Even though the book focuses on Drupal version 6, and the example site is created using that version, the book does have notes on how to implement everything in version 5 as well.
In the book's introduction, the author provides a brief overview of Drupal, virtual communities, and her perspective on how to build one of the latter using the former. She states that it is easy to resort to custom modules — i.e., modules created or modified by oneself — but this contradicts one of the central tenets of the book, that a non-programmer would find it difficult if not impossible to go beyond already-available modules in building a community site (unless of course he were to outsource the development of the custom modules). In a footnote, it is incorrectly stated that "You can use the Drupal interface to write a module yourself" (page 4).
The second chapter, titled "Setting up the site," explains the desired functionality of the example site to be created (including the site's main goal, which redundantly was also presented at the end of the previous chapter). The author explains how to install Drupal on one's local Web server. A Windows-only developer may be confused by steps 2, 3, and 8, which are specific to Linux/Unix, but not labeled as such. The expression "hidden files" (page 10) would mean in Windows any files with their "hidden" attributes enabled. But in this case the author is probably referring to a single file,
Any reader following the book should at that point have a working copy of Drupal in his development environment. Chapter 3 explains some basic configuration settings for the newly-installed Drupal instance, as well as how to install modules and themes. However, some of the information is presented in a potentially confusing manner, such as on page 16 when an absolute directory path in one step, is immediately followed by what appears to be another absolute directory path in the next step ("/admin/build/modules"), but is actually meant to convey a navigation path within the Drupal user interface. For a book intended for Drupal newbies, it is essential to clarify technical issues such as this one, because otherwise readers can quickly become frustrated, wondering what the author is discussing and how to follow along in their own Drupal instances. Later, a favicon is described as residing "on the top of your browser window," but that would be the browser icon; rather, favicons are next to the browser's location field and in any relevant tabs. The author briefly describes more than half a dozen modules that arguably should be included in any Drupal site, including ones for dynamic menus, spam control, and task scheduling. Links to the modules' pages — in the text and/or as links in the PDF e-book — would have been quite helpful. The Tagadelic module is recommended for generating tag clouds, including a friendlier 404 error page, using the directory path "/tagadelic"; but Figure 3.5 shows the setting without that leading slash, and a quick test suggests that it does not work. More importantly for the newbie reader, there is no explanation as to how to start using tags. This chapter — like all that follow, except for the last — concludes with a list of contributed modules discussed in the respective chapter. Given that the chapters are short, and the modules' names easily stand out, these module lists add no value and could be removed in a future edition.
In Chapter 4, the reader learns how to use the Content Profile module for making highly functional and versatile user profiles that include photo and video galleries, avatars, contact forms, social networking, map locations, personal Web pages, AdSense revenue streams, and more. Most of the instructions are straightforward, but the discussion on how to implement avatars, on page 30, should have been fleshed out (no pun intended) — with more details as to exactly what settings to make, and where. Chapter 5 extends the previous topic, by demonstrating how to enhance the new user profile content type by implementing additional functionality: image and video galleries, a site member's location on a world map, member search, and featured members. In the next chapter, the author shows how to add more text-oriented content types, using the Views, Panels, and Fivestar modules.
While the first six chapters of the book focus on how to create functionality for users, the three chapters that follow examine how to create functionality for the online community itself. Chapter 7 discusses the details of adding forums, shout boxes, buddy lists, messages, subscriptions, a newsletter, user points, user status, user activity (think Twitter), and user groups. Chapter 8 explains how to utilize Google AdSense, affiliate programs, and donations — so that site owners and members can receive some sort of financial reward for their community-building efforts. Chapter 9 covers subjects that a site builder will encounter near the final stages of site development, such as finalizing the navigation menus, providing a post-registration page, supporting internationalization and localization, customizing system e-mail messages, tuning site performance, promoting a new site, tracking a site's popularity with analytics, performing module updates safely, backing up Drupal files and database, and duplicating a site.
Drupal 6: Ultimate Community Site Guide is wrapped up with a brief chapter, an author bio, and an unnecessary marketing description of the book. Unlike most programming books, this one is missing an index — although, as an e-book, it can be searched far easier than a print book.
The list price of the book is a very reasonable €7.70, and it is currently available for €5.50. Even though it is registered under the ISBN 978-2839904902, it is currently not available from Amazon.com, because it is an e-book, and the Amazon.com Kindle is not yet available in Europe; this apparently prohibits European publishers from using it. However, the book's website makes it possible to purchase it online. That site also has more details on the book's contents and the author. In addition to the book site, the first three chapters can be previewed online, via its Google Books listing.
Like any technical work, this one has its strengths and weaknesses. Sadly, the book is marred by generally sloppy writing, with a high ratio of errors to pages. There are several errata: "to[o] much" (pages 4 and 79), "others[']" (page 5), "look[s]" (page 16), "fig 3.3" (page 17; should read "Figure 3.1"), "Imagecache_actions Module" (page 52), "eld avatar" (page 66), "other then" (page 69), "others['] contact link" (page 94), "less then" (page 117), "Clustermaps" (page 124), and
However, the main problem with the book is how, at several points in the narrative, the author assumes too much understanding on the part of the reader, and does not provide enough details for the reader who is trying to implement each suggestion on his own computer and yet has never before worked with the modules in question, or even the key concepts. This problem is seen in entire sections (such as the tagging section mentioned above) and lone sentences (such as the baffling "If you want to change a preset later on, just flush the preset after making the changes..." on page 46).
But none of these weaknesses diminish the overall value of this contribution to the Drupal literature. The book largely achieves its goal of teaching the reader how to create his own Drupal-based community site, using core and contributed modules only, with no custom programming (with the exception of some code snippets stored in the Drupal database). The explanations are, for the most part, clear enough for the reader to step through the process within his own Drupal installation. Some people may fault the book as being too lightweight and lacking the in-depth discussions typical of most Drupal books. But those detractors would be missing the point: This particular title is written for a different target audience, namely, people who wish to build a new website as quickly and easily as possible, and who may not have the knowledge or time to write custom code.
With plenty of detailed instructions, and an upbeat tone throughout the presentation, Drupal 6: Ultimate Community Site Guide can serve as a useful and fast-paced beginning resource for any Drupal developer who wants to create a social media website, requiring minimal time and custom PHP code.
Michael J. Ross is a freelance Web developer and writer."
The book uses several very specific examples that illustrate general principles.
The first example is using GPS data. By using Python one can extract data from GPS receivers and enter it into the computer and manipulate it to do what one wants including creating graphs and charts. In this section he shows how to use CSV, comma separated values, as a most useful file format. He shows show to extract data from real world GPS devices and import it via serial ports and the PySerial module. It would be easy for the reader to duplicate and extend this project.
The heart of the book is coverage of useful examples utilizing MatPlotLib, NumPy and SciPy. These related tools are easy to use and fully integrated with Python. MatPlotLib is for plotting data and graphs, including interactive graphs and image files. NumPy is a powerful math library comparable to commercial tools like MatLab, and SciPy extends NumPy to for the sciences. Examples are numerous and include signal analysis using Fourier transforms.
There is also a section on Image Processing using PIL, the Python Imaging Library. This is used for relatively simple image cropping and sizing and also for bit by bit image processing. Interpolation and curve fitting are also well covered. For anyone wanting an introduction to graphical analysis of statistical data, this would be an excellent resource.
The author is obviously a professional in this field. He has a knack for good organizational style and a pragmatic approach to the work. In the book he says "Most of the time, research is organized chaos. The emphasis, however, should be on organized, not chaos." A real value I got from the book is a better understanding of data files, format, and organization as well as methods and guidelines for selecting file formats and storing and organizing data to enable fast and efficient data processing. It is obvious that this book was written by a practicing engineer.
The theme of the book is that Python can be an all purpose environment for data manipulation and visualization, using nothing but free and open source tools that are easily integrated and scriptable without using multiple programming languages. The book should be an invaluable tool for scientists and engineers but it is also easily accessible to anyone interested in math and data analysis. There is no need for an advanced math background. While, as a matter of full disclosure, I have undergraduate degrees in Math and Physics, I feel the book should be easily accessible to anyone with a solid high school math background who is seriously interested in the subject. The book contains a short introductory tutorial on the basics of Python so anyone familiar with programming in any language should be fine.
The book is an easy read from front to back, and I am sure it will also be a good reference resource for the future. The writing style is very clear and unforced and I found surprisingly few errors. While the Python world has a surplus of introductory and general books, books covering this kind of specific domain are especially welcome, and we could use more on other topics by competent authors.
At 363 pages the book is a surprisingly fast read. Its methodology is to use specific, short code examples to make all the key points. Most of the code samples are well selected, short and written in clear, concise Python. This is not the kind of book that overwhelms you with massive amounts of code. Either the book was well edited or else it was written by an exceptionally lucid thinker, or both.
So, if you want to learn how to process, organize, and visualize data from various sources using the Python language, I recommend this book to you. I have also posted a podcast of an interview with the author at Python411"
Link to Original Source
So far, the United States has been the only country insane enough to actually use atomic/nuclear weapons offensively (pretty much to kill scores of civilians). How does that give us the right to prevent other countries from doing the same thing? The "civilized" world has no moral high ground to stand on for this issue.
He (and you) *are* naive. Those "countries who really have no business with them" don't give a hoot about what the international community thinks and have demonstrated - consistently - that they are immune from this "pressure" you speak of.
Obama continues to undermine the leadership position of the United States in the world through statements like this and also continues to show how much he just does not "get it".
They've got a website - http://www.alaskaair.com/as/www2/help/faqs/inflight-broadband.asp - answering questions on their inflight wi-fi and their @alaskaair Twitter account - http://twitter.com/alaskaair - provides daily updates what flight #'s will have wifi.
Isn't Facebook itself the huge waste of bandwidth as opposed to just the verbose URLs it generates?