Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Django 1.0 Template Development Review

Django 1.0 Template Development
Average Reviews:

(More customer reviews)
Django 1.0 Template Development lives up to its title by focusing on the template layer of the Django web application framework although it does go through some basics of setting up your project and some of the details of the Django request handling pipeline. There is very little coverage of models - just enough to give the sample project some data to work with.
There is good coverage of how templates are loaded and guidelines of how to develop views with plenty of tips on leveraging Django's many convenience features (like generic views) and organizing code for better manageability. There are examples for using and writing custom middleware, filters, and tags with special attention paid to best practices in security. A whole chapter is devoted to working with Django's pagination system. Explanations are well supported with the theory behind and examples that demonstrate the details of Django's behavior.
The area that I was hoping for a little more depth was in optimizing performance. Django gives the developer a lot of options of how to design the application. For example, in addition to the typical template "include" syntax, Django also supports template inheritance (where a child template can extend and override blocks of a page from its parent). There is not much information on the performance implications of deep template hierarchies. The caching chapter gives a nice overview of Django's different caching options and engines and general guidelines but perhaps the art of really tuning a site is the topic for another book.
I would highly recommend Django 1.0 Template Development for anyone who wants to efficiently build a clean and manageable template layer for a Django project. In particular, a developer who needs to make the display tier flexible and extensible (such as the book's example of managing a separate site skin for mobile browsers). Although the preface recommends the reader have a working knowledge of Django and Python, I don't think that is really necessary. There is just enough information to help the developer to understand the overall Django framework but the emphasis is definitely on displaying data.
(the complete version of this review can be found here: http://www.contenthere.net/2009/03/book-review-django-10-template-development.html

Click Here to see more reviews about: Django 1.0 Template Development

A comprehensive, practical exploration of the usage and customization of Django's template system, including tutorials on pagination, caching, and internationalization. This book is for web developers and template authors who want to fully understand and utilize the Django template system. The reader should have completed the introductory tutorials on the Django project's website and some experience with the framework will be very helpful. Basic knowledge of Python and HTML is assumed.

Buy Now

Click here for more information about Django 1.0 Template Development

Read More...

Django 1.2 e-commerce Review

Django 1.2 e-commerce
Average Reviews:

(More customer reviews)
"Django 1.2 E-Commerce" starts with a very ambitious goal: design, develop and deploy a functionam ecommerce web site for the fictional [...] company. Sounds great, doesn't it?
I started flipping through the usual introductory pages explaining what Django is and why use it for a project like this. It was all fairly brief which already led me to believe that knowledge of Django's inner works and basic setup and configuration was required to follow along.
Well, the instructions are not as streamlined as other programming books I've read and it could be fairly tricky to follow the examples and logic if you're not already familiar with how Django works. There are several typos in the example code as well, mostly due to missing spaces between the commands and arguments. Adding to the confusion is the style the author chose to deliver his explanation of specific code changes, displaying snippets of code that will leave the reader wondering what specific file is being discussed.
Now, if none of these things sound scary to you, you'll be happy to know that the project itself is fairly well designed and worth your time. It was also the first time I saw an example of integrating Django with Google Checkout to set up a "shopping cart" mechanism, and by the time you're done with the second chapter, you will have a very basic but functional ecommerce web site.
The subsequent chapters were a blur, talking about adding external modules and services to enhance your site's searching capabilities as well as exposing the data from your "store" via APIs and generating reports with ReportLab. The author also talks about making use of javascript to add that AJAX-y feeling that we've come to expect of most modern sites and how to take advantage of S3 storage to sell your product.
The last chapter finally walks you through a few different ways you can deploy your final project to the world out there. I thought it was interesting to see Fabric being mentioned as a driver for deployment, as I have been playing with it at work to help me perform a series of tests on several different hosts for QAing purposes. Come to think of it, this may have been the first time I've seen it mentioned in a book, so I'm glad that this project seems to be picking up steam.
Overall, even with the issues of poor proof checking of the source code and the "everything and the kitchen sink" approach to the first chapters, if you're not new to Django and need to get some ideas on how to design and develop an ecommerce website, you may want to check out this book. I give it 3 out of 5 stars.bout+making+use+of+javas

Click Here to see more reviews about: Django 1.2 e-commerce

Packed with code examples and configuration hints for related web technologies, the book helps you add a new feature to your store in each chapter. It also provides additional documentation and comments for popular web APIs. If you are a Django developer and wish to build an e-commerce application, then this book is for you. You need to be familiar with the basics of developing in Django.

Buy Now

Click here for more information about Django 1.2 e-commerce

Read More...

Mastering Blender Review

Mastering Blender
Average Reviews:

(More customer reviews)

I am a Blender wannabe. I know I'll never be anything more than a tinkerer with it and I certainly don't have the artistic ability to do anything serious with it. Blender is an open source, free 3D program with an impressive list of capabilities. In fact, Blender rivals commercial programs costing thousands of dollars.
"Mastering Blender" is the third Tony Mullen book I've read and it is as impressive as the first two. But Mullen's books are aimed at people who are actually quite proficient with Blender. As Mullen puts it, he is writing for "intermediate and advanced" Blender users. If you've attempted to use Blender, you'll immediately recognize that even achieving the intermediate stage of proficiency requires many hours of learning and doing.
That said, there is nothing that prevents the patient novice Blender user from reading, looking at the pictures and, in my case, gasping both at what Blender can do and at the people like Mullen who can do it.
The first chapter is actually helpful to inexperienced users, as it describes how you can gain control of the Blender interface.
After that, it is strictly for the more advanced and capable user. Sculpting and Retopo Workflow explores sculpting; Creating Realistic Images with UV Textures and Node-Based Materials covers texturing snd then Mullen moves into Video Compositing, which is a Blender feature I didn't know existed.
The next six chapters cover scripting Blender with Python, another revelation, and mastering the Blender Game Engine.
Mullen appears to be one of the most knowledgeable Blender users on the planet. His writing style tends to be matter of fact and very straight-forward. His coverage of each of his subject areas is very thorough. There are many large and clear illustrations.
Overall, though it is highly doubtful that I will personally ever be able to use these Blender capabilities, I really enjoyed learning about them through Mullen's ably crafted book.
Jerry


Click Here to see more reviews about: Mastering Blender

Blender, the free alternative for professional-quality 3D animation is a complex program to learn, but once users become familiar with its power, they begin to seek more from it. This book is the first of its kind to explore the more advanced features of Blender so that you can get the most out of the software. You'll take your Blender skills to a whole new level with the featured in-depth coverage of intricate uses for Blender's modeling, texturing, animation, and visual effects tools in a professional environment.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

Buy Now

Click here for more information about Mastering Blender

Read More...

Pro Android Python with SL4A Review

Pro Android Python with SL4A
Average Reviews:

(More customer reviews)
I've been programming computers for about thirty years, but have just started programming on the Android platform in the last few months. I found this to be a great book that not only explains the SL4A (Scripting Layer for Android), but also provides a great primer for the underlying Android architecture. The book starts with an easy to understand explanation of the Android SDK & API, as well as the Eclipse development platform. The book covers the initial setup of the SDK under Windows & Linux. For my own development I am running Linux in Virtualbox, and while I was already setup, I found the setup instructions comprehensive. Adding SL4A to the phone took only a few minutes, and I was writing scripts to send SMS messages and do other cool things in just a few minutes more.
The book then delves into the SL4A platform (which offers a variety of languages in addition to Python). SL4A & Python also provide extensive access to the Android platform's wide range of features. I was especially impressed with the range of examples provided. One of the weaknesses I often find in programming books is that the examples can be contrived and not as helpful as they might be. This book provides great examples, and reading each one reinforces how much you can do with scripting.
In addition to the batch-like scripting, SL4A offers various dialog and HTML user interface options, and the book goes into what is necessary to provide these features. It concludes with a discussion of the steps needed to package your scripts for distribution.
My overall feeling about the book is favorable, and I can recommend it to anyone who wants to start Android development who has at least an intermediate level of programming experience.


Click Here to see more reviews about: Pro Android Python with SL4A


Pro Android Python with SL4A is for programmers and hobbyists who want to write apps for Android devices without having to learn Java first. Paul Ferrill leads you from installing the Scripting Layer for Android (SL4A) towriting small scripts, to more complicated and interesting projects, and finally to uploading and packaging your programs to an Android device. Android runs scripts in many scripting languages, but Python, Lua, and Beanshell are particularly popular. Most programmers know more than one programming language, so that they have the best tool for whatever task they want to accomplish. Pro Android Python with SL4A explores the world of Android scripting by introducing you to the most important open-source programming languages that are available on Android-based hardware. Pro Android Python with SL4A starts by exploring the Androidsoftware development kitand then shows you how to set up an Eclipse-based Android development environment. You then approach the world of Android programming by using Beanshell, which runs on the Dalvik, and learning how to write small programs to administer an Android device. Next, discover how Lua, a lightweight language perfectly suited for scripting on smaller devices, can work with Android. Lua can be used for small but important tasks, like SMS encryption and synchronizing photos with flickr. Last, but certainly not least, you will discover the world of Python scripting for SL4A, and the power contained within the full range of Python modules that can combine with the Android SDK. You'll learn to write small location-aware apps to get you started, but by the end of this book, you'll find yourself writing fully GUI-fied applications running on the Android desktop! Pro Android Python with SL4A is rounded out with a chapter on distributing and packaging scripts, a skill that you'll find very useful as you reach out to a wider audience with your programs.

What you'll learn
Understand the SL4A
Explore the Androidsoftware development kit
Write scripts to administer an Android phone
Write and execute full Python and applications
Learn how to write simple apps using Facades
Explore the full Android development process, from development to packaging

Who this book is for
This is a book for beginning and intermediate Android developers, and a book for anyone coding in Python, Lua or exploring Beanshell.

Table of Contents
Introduction
Getting Started with Android Scripting
Navigating the Android SDK
Developing Androids Scripts with Eclipse
Exploring the Android API
Background Scripting
Python Utilities
Python Dialog-Based GUIs
Python for GUI with WebUI
Packaging and Distributing Your Scripts


Buy Now

Click here for more information about Pro Android Python with SL4A

Read More...

Code in the Cloud (Pragmatic Programmers) Review

Code in the Cloud (Pragmatic Programmers)
Average Reviews:

(More customer reviews)
This book is not for experienced developers. It is not for inexperienced developers either. The only way I can rationalize this book is by imaging how the author is holding a hand of a very young child guiding him through the development of the child's first web page. It is really very frustrating. The writing is lucid and clear. Everything is covered. The book even has a chapter on CSS. The breadth of the book is very good, but the depth is so shallow, I can't help shaking my head. If you have been developing web apps for any length of time, you have nothing to learn from this book.
Often times I read reviews on Amazon about books that have great content, but are poorly produced. This book is the exact opposite. It is well produced, well written, but its content is worthless. I'm giving it 3 stars because I can't deny that there may be audience out there for this book - very very inexperienced developers just starting out. Maybe they will find it useful.

Click Here to see more reviews about: Code in the Cloud (Pragmatic Programmers)


One of the most exciting recent changes in the computing world is cloud computing. Cloud computing is a dramatic shift in how applications are developed and used---and even in what applications are. With cloud computing, developers are no longer building applications that run on a user's desktop computer. Instead, they're building services on the network that can be used by thousands of users at the same time. Cloud services are an exciting opportunity for developers: the cloud is a platform for creating services, a new kind of application that can reach more users, and provide those users with more capabilities than a desktop application ever could. Building applications as cloud services also makes them scalable: cloud applications can easily and smoothly adapt from running on a single computer for a single user to running on thousands of computers for millions of users.Code in the Cloud will teach you what a cloud service is, and how it differs from traditional applications. It will show you how to build a cloud service, taking advantage of the services that AppEngine makes available to you, using iterative development of a simple application to guide you through the different aspects of AppEngine development, using either Python or Java. Through the process of working on a simple application, you'll learn about how to build an application as a service; how to manage persistent data using AppEngine; how to build dynamic, interactive user interfaces that run in a user's web-browser; how to manage security in a web application; and how to interact with other services running in the AppEngine cloud.


Buy Now

Click here for more information about Code in the Cloud (Pragmatic Programmers)

Read More...

Internet Searches for Vetting, Investigations, and Open-Source Intelligence Review

Internet Searches for Vetting, Investigations, and Open-Source Intelligence
Average Reviews:

(More customer reviews)
I have been a private investigator for more than 25 years. When I started in this business computers were scarce and the Internet had not yet been commercialized. Everything was done with a pencil and telephone. I have a lot of experience so it is hard for me to find books that are useful. I buy books hoping to learn one or two new things. Edward J. Appel, a retired FBI agent is the author. His company has done work for me so I knew the quality of his work and assumed his book would be at the same level as his investigative efforts. I wasn't disappointed.
The book is 320 pages and broken into 4 sections. Appel begins with a chapter about behavior and technology which orients the investigator/analyst on the growth and use of the Internet. He discusses the usefulness of the Internet as an investigative tool and the transformations the Internet is making through social and technological advances. Along with the benefits for investigators comes the darker side of the web, and Appel examines its criminal exploitation.
The first section provides a great introduction and is geared toward corporate investigators and security personnel tasked with monitoring IT systems, vetting employees and guarding company intellectual property. In Section 2 Appel outlines legal and policy issues related to using information from the Internet in investigations. He identifies liability and privacy issues and laws addressing these concerns such as the Fair Credit Reporting Act. He also dedicates a chapter to litigation, defamation, and invasion of privacy torts.
Appel develops a framework for preparation and planning of successful Internet research. He covers basic information about search engines, metasearch engines, social networking sites and search terms.
I found the chapters Automation of Searching and Internet Intelligence Reporting to be the most enlightening. Reducing time spent searching and analyzing information, seems like a no-brainer. But I would bet the number of investigators who have looked for automated solutions to their collection efforts is small. The Internet Intelligence Reporting section recommends the format and organization of a report as well as what to include and how to cite sources.
Internet Searches for Vetting, Investigations, and Open-Source Intelligence, like many trade publications, is on the pricey side. However it delivers with content and is an easy read. It met my criteria for a successful investigations book because I learned much more than two new things.


Click Here to see more reviews about: Internet Searches for Vetting, Investigations, and Open-Source Intelligence

In the information age, it is critical that we understand the implications and exposure of the activities and data documented on the Internet. Improved efficiencies and the added capabilities of instant communication, high-speed connectivity to browsers, search engines, websites, databases, indexing, searching and analytical applications have made information technology (IT) and the Internet a vital issued for public and private enterprises. The downside is that this increased level of complexity and vulnerability presents a daunting challenge for enterprise and personal security.Internet Searches for Vetting, Investigations, and Open-Source Intelligence provides an understanding of the implications of the activities and data documented by individuals on the Internet. It delineates a much-needed framework for the responsible collection and use of the Internet for intelligence, investigation, vetting, and open-source information. This book makes a compelling case for action as well as reviews relevant laws, regulations, and rulings as they pertain to Internet crimes, misbehaviors, and individuals' privacy. Exploring technologies such as social media and aggregate information services, the author outlines the techniques and skills that can be used to leverage the capabilities of networked systems on the Internet and find critically important data to complete an up-to-date picture of people, employees, entities, and their activities. Outlining appropriate adoption of legal, policy, and procedural principles-and emphasizing the careful and appropriate use of Internet searching within the law-the book includes coverage of cases, privacy issues, and solutions for common problems encountered in Internet searching practice and information usage, from internal and external threats. The book is a valuable resource on how to utilize open-source, online sources to gather important information and screen and vet employees, prospective employees, corporate partners, and vendors.

Buy Now

Click here for more information about Internet Searches for Vetting, Investigations, and Open-Source Intelligence

Read More...

HTML5 Geolocation Review

HTML5 Geolocation
Average Reviews:

(More customer reviews)
Upshot: Here is your intermediate guide to HTML5 Geolocation-centric APIs. Pros: Another straightforward O'Reilly intro to HTML5-like cutting edge hotness. Cons: None really. Code might change over time, so get the eBook for free updates.

If you need a quick introduction to Geolocation APIs available from Google, as well as ArcGIS, this is it. However this book is not for beginners. You should be very comfortable coding HTML or Javascript as the as there is lengthy code (not just snippets) to get this magic to happen. It is nice that the code that does the magic has been thoughtfully called out and explained by the author.
The author also does a nice job of outlining just *what* Geolocation is (it's not just a flat 2d map), what resources are available, as well as what resources can/need to be saved, and what you can do with that information. The breakdowns of the geo-specific code are very straightforward, and there is a LOT of code, so I recommend getting the eBook version.
Finally there's a section on marketing & privacy and whether that still matters to the younger generation --and how/why all this social network-spacial relationship stuff works in context.
This book is NOT for absolute beginners. But if you're already comfortable with HTML/Javascript, and SOME programming concepts, this book is a nice complement to HTML5 Up & Running by Mark Pilgrim.
Disclosure: I received the eBook download from O'Reilly for review purposes.

Click Here to see more reviews about: HTML5 Geolocation


Truly revolutionary: now you can write geolocation applications directly in the browser, rather than develop native apps for particular devices. This concise book demonstrates the W3C Geolocation API in action, with code and examples to help you build HTML5 apps using the "write once, deploy everywhere" model. Along the way, you get a crash course in geolocation, browser support, and ways to integrate the API with common geo tools like Google Maps.

Learn how geo information is gathered from different sources, depending on the device
Discover how coordinate systems work, including geodetic systems and datums
Use the API to collect location information from a user's browser with JavaScript code
Place geo information on a map using the Google Maps or ArcGIS JavaScript APIs
Save geo data with databases, the Keyhole Markup Language, or the shapefile format
Be familiar with several practical uses for geo data, such as geomarketing, geosocial, geotagging, and geo-applications


Buy Now

Click here for more information about HTML5 Geolocation

Read More...

Developing with Google App Engine (Firstpress) Review

Developing with Google App Engine (Firstpress)
Average Reviews:

(More customer reviews)
I was really looking forward to reading this book. I've been working with the Google App Engine from the first week it was released, but as a Python newbie, I still thought I'd get a lot out of a book dedicated to GAE development.
Unfortunately, the book doesn't go far enough beyond the Google online documentation to be useful. The book is thin, but it also uses an incredibly large font size throughout. It's like a junior high school student trying to stretch a book report to meet the teacher's page number requirement.
There are plenty of topics that warrant discussion but are strangely absent. Performance profiling and the performance of the datastore are topics that many developers are struggling with but the book says little or nothing on these topics, and others.

Click Here to see more reviews about: Developing with Google App Engine (Firstpress)

Google has been able to create a massively scalable architecture so that they can run their applications on literally hundreds of millions of machines without a hitch. Now they are making that technology available to the public in the form of Google App Engine. This book discusses what it takes to develop cloud computing applications using the GAE and walks you through the process of not only developing the applications but also deploying them.

Buy Now

Click here for more information about Developing with Google App Engine (Firstpress)

Read More...

Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure (Animal Guide) Review

Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure (Animal Guide)
Average Reviews:

(More customer reviews)
I've worked with the App Engine for about six months and have gained most of my knowledge from the online documentation. I wish I had had this book when I started. This is the best explanation I've seen of entities and how they relate to transactions. The code examples in Python and Java are extremely helpful and give great insight into how the two languages approach the App Engine abstractions. The sections on data modeling and Django integration are particularly good. Not only did this book fill in gaps in my knowledge, but it is sufficiently detailed that I'm sure I will keep it on my desk as a reference. I've tried the other App Engine books and this is by far the best. If you have any interest in the App Engine, start here.

Click Here to see more reviews about: Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure (Animal Guide)


As one of today's cloud computing services, Google App Engine does more than provide access to a large system of servers. It also offers you a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine, you'll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine's APIs and scalable services.

You'll learn about App Engine's application server architecture, runtime environments, and scalable datastore for distributing data, as well as techniques for optimizing your application. App Engine offers nearly unlimited computing power, and this book provides clear and concise instructions for getting the most from it right from the source.



Discover the differences between traditional web development and development with App Engine
Learn the details of App Engine's Python and Java runtime environments
Understand how App Engine handles web requests and executes application code
Learn how to use App Engine's scalable datastore, including queries and indexes, transactions, and data modeling
Use task queues to parallelize and distribute work across the infrastructure
Deploy and manage applications with ease


Buy Now

Click here for more information about Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure (Animal Guide)

Read More...

Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites Review

Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites
Average Reviews:

(More customer reviews)
Mining the Social Web does a great job of introducing a wide variety of techniques and wealth of resources for exploring freely available social data and personal information. If you are willing to spend the time tinkering with the examples, the book is pure fun. It offers a nice compliment to Segaran's Programming Collective Intelligence: Building Smart Web 2.0 Applications. The two books overlap but where they do offer different perspectives and explanations of common techniques (e.g., TF-IDF, cosine similarity, Jaccard index). If you are well-versed in data mining the web you may find much of the discussion familiar. If you have only been casually engaged to date, your toolbox will fill quickly.
In order to work with the book's examples related to LinkedIn and Facebook you really need to have a robust collection of connections. In terms of the source code itself, most of it worked as is. I wasn't able to install the Buzz library which limited my interaction with material in chapter 7 and opted to not get involved with the LinkedIn or Facebook but found the discussions around them easy to follow. By far my favorite chapter in the book was chapter 8, "Blogs et al.: Natural Language Processing (and Beyond)..." It was quite fascinating and caused my reading list to grow considerably.

Click Here to see more reviews about: Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites


Facebook, Twitter, and LinkedIn generate a tremendous amount of valuable social data, but how can you find out who's making connections with social media, what they're talking about, or where they're located? This concise and practical book shows you how to answer these questions and more. You'll learn how to combine social web data, analysis techniques, and visualization to help you find what you've been looking for in the social haystack, as well as useful information you didn't know existed.

Each standalone chapter introduces techniques for mining data in different areas of the social Web, including blogs and email. All you need to get started is a programming background and a willingness to learn basic Python tools.

Get a straightforward synopsis of the social web landscape
Use adaptable scripts on GitHub to harvest data from social network APIs such as Twitter, Facebook, and LinkedIn
Learn how to employ easy-to-use Python tools to slice and dice the data you collect
Explore social connections in microformats with the XHTML Friends Network
Apply advanced mining techniques such as TF-IDF, cosine similarity, collocation analysis, document summarization, and clique detection
Build interactive visualizations with web technologies based upon HTML5 and JavaScript toolkits

"Let Matthew Russell serve as your guide to working with social data sets old (email, blogs) and new (Twitter, LinkedIn, Facebook). Mining the Social Web is a natural successor to Programming Collective Intelligence: a practical, hands-on approach to hacking on data from the social Web with Python." --Jeff Hammerbacher, Chief Scientist, Cloudera

"A rich, compact, useful, practical introduction to a galaxy of tools, techniques, and theories for exploring structured and unstructured data." --Alex Martelli, Senior Staff Engineer, Google


Buy Now

Click here for more information about Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites

Read More...

Invent Your Own Computer Games with Python, 2nd Edition Review

Invent Your Own Computer Games with Python, 2nd Edition
Average Reviews:

(More customer reviews)
This book is totally appropriate for someone who has never programmed before. Everything is explained, right from the ground up, in a lively, interesting style which doesn't dumb things down.
In terms of the language Python, not all aspects of the language are described - only the parts that are absolutely necessary to know to create games. A reader who wants to learn more about programming should definitely start off with this book first, and then supplementing that with other books specifically about Python (or other programming ideas) if they find they have an interest in that direction.
Topics covered
--------------
The first ten chapters do a brilliant job of leading the reader through the creation of many small games in the text console, which cumulatively cover all the basics of programming: variables, datatypes, expressions, strings and their methods, booleans and if statements, loops, functions, variable scope, lists, dictionaries, string formatting, ASCII. You will use these to create text games such as hangman and choose your own adventure.
Chapter 11 explains Cartesian co-ordinates and some arithmetic that will be used later on.
Chapter 12 to 15 then create one new game per chapter, using the techniques learned so far, adding a great description of how to create simple but effective artificial intelligence.
Chapters 16 to 18 then break out of the text console, using the pygame library to display a window with coloured rectangles, polygons, circles and bitmaps. It then covers methods of animating these images, reading the keyboard, basic 2D collision detection, reading the mouse, bitmaps and scaled sprites, and creating music.
The final chapter caps the whole thing off with a final big game that incorporates all the techniques discussed, with music and the works.
Overall, I can wholeheartedly recommend this book for it's target market: Kids who want to learn to program, specifically so they can create their own games. Adults who have never programmed before will also find it very useful, although there may be a couple of chapters they can skim over.
Inspirational and brilliant.

Click Here to see more reviews about: Invent Your Own Computer Games with Python, 2nd Edition

"Invent Your Own Computer Games with Python" teaches you computer programming in the Python programming language. Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples.The book is available under a Creative Commons license and can be downloaded in full for free from http://inventwithpython.com"Invent with Python" was written to be understandable by kids as young as 10 to 12 years old, although it is great for anyone of any age who has never programmed before.This second edition has revised and expanded content, including using the Pygame library to make games with graphics, animation, and sound.

Buy Now

Click here for more information about Invent Your Own Computer Games with Python, 2nd Edition

Read More...

Social Network Data Analytics Review

Social Network Data Analytics
Average Reviews:

(More customer reviews)
This is a very interesting book for both researchers and practitioners in computer science who work in the area of data mining and want to learn the state-of-the-art in social network data analytics. The book provides good coverage of the subject area by focusing on popular research topics, such as the study of the statistical properties that are apparent in "typical" social networks, the problems of community detection and social influence analysis, the expert-location discovery problem, the privacy issues that arise in the context of social networks, as well as visualization techniques, text mining techniques and social tagging. The emerging area of integrating sensors and social networks is also examined. Each chapter of the book contains numerous bibliographic references that will guide readers who are interested in particular topics to explore these topics in more depth. Overall, I highly recommend this book!

Click Here to see more reviews about: Social Network Data Analytics


Social network analysis applications have experienced tremendous advances within the last few years due in part to increasing trends towards users interacting with each other on the internet. Social networks are organized as graphs, and the data on social networks takes on the form of massive streams, which are mined for a variety of purposes.

Social Network Data Analytics covers an important niche in the social network analytics field. This edited volume, contributed by prominent researchers in this field, presents a wide selection of topics on social network data mining such as Structural Properties of Social Networks, Algorithms for Structural Discovery of Social Networks and Content Analysis in Social Networks. This book is also unique in focussing on the data analytical aspects of social networks in the internet scenario, rather than the traditional sociology-driven emphasis prevalent in the existing books, which do not focus on the unique data-intensive characteristics of online social networks. Emphasis is placed on simplifying the content so that students and practitioners benefit from this book.

This book targets advanced level students and researchers concentrating on computer science as a secondary text or reference book. Data mining, database, information security, electronic commerce and machine learning professionals will find this book a valuable asset, as well as primary associations such as ACM, IEEE and Management Science.


Buy Now

Click here for more information about Social Network Data Analytics

Read More...

The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing Review

The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing
Average Reviews:

(More customer reviews)

I have to admit I learned quite a lot from this book. It is full of detail, plenty of examples, and even a sample application - building a blog publishing system with PHP & Mongodb.
What I liked:
The layout of the book is exactly how you'd want a technical book to be. The intro chapter answers some of your nagging questions such as How is data stored in a non-relational database? Why would you use a NoSQL database? What are it's use cases? From there the chapters take you by the hand, installing, querying, developing, and finally administering. So the book is easy to navigate.
As a DBA I wanted to know about replication, so I jumped right to chapter eleven. You learn about the oplog which is like the binlog in mysql, an ongoing log of changes to the database. The slaves then fetch and apply these changes themselves. Single master & single slave, single master & multiple slaves, multi master replication and cascading are all topologies that MongoDB supports.
There's of course also a whole chapter on general database administration of MongoDB, including full coverage of backups and so on. There's also a whole chapter on sharding, which is the process of scaling your database horizontally so you can handle more reads and writes.
What I didn't like:
The author seemed to make some sweeping statements that bothered me quite a bit. I won't go as far as to say there was a lack of relational database knowledge, but it was implied: "Improving performance with a relational database is usually straightforward: you buy a bigger, faster server." Well no actually, that's not really how you improve performance. As a long standing DBA with a decade and a half of experience I can tell you the best way to get orders of magnitude performance improvements is to look at how you are using resources, and use he more efficiently. In affect tuning developers code, and teaching them how to write optimal code, how to think about resources, and how to build test cases to benchmark.
Another one that was illustrative: "developers always have to work against the flow". Well I'm of two minds here. Yes they have to work against the flow, and constraints and structure is built into the database for a reason. So you have useful data at the end of the day, year, or decade of collecting it. On the other hand what I think they quote above is getting at is, the way data in an application is stored in memory, ie data structures, is very very different from how it is stored in databases. Do we have an alternative to this, and when and how might we use that?
I would have liked to see more comparisons, weighing the pros and cons of traditional rdbms's and then NoSQL solutions, and how they measure up. Since MongoDB is so new, inevitably folks considering the technology are somewhat versed already in relational databases, and are asking will MongoDB work. I would have also liked some business case studies, for instance a discussion of the recent FourSquare outage, what went wrong with MongoDB, and why.
On balance this is a really great book, well written, and easy to read. It will definitely address all of your beginning questions as both a DBA and a Developer, and send you off in the right direction to get started with MongoDB!

Click Here to see more reviews about: The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing


MongoDB, a cross-platform NoSQL database, is the fastest-growing new database in the world. MongoDB provides a rich document-oriented structure with dynamic queries that you'll recognize from RDBMS offerings such as MySQL. In other words, this is a book about a NoSQL database that does not require the SQL crowd to re-learn how the database world works!

MongoDB has reached 1.0 and boasts 50,000+ users. The community is strong and vibrant and MongoDB is improving at a fast rate. With scalable and fast databases becoming critical for today's applications, this book shows you how to install, administer and program MongoDB without pretending SQL never existed.

What you'll learn
Set up MongoDB on all major platforms, including Linux and Cloud platforms
Model data within a document-oriented database
Work with your data using non-SQL commands
Write applications using MongoDB's PHP API
Optimize MongoDB
Master MongoDB administration, including replication

Who this book is for
This book will appeal to everyone with some experience in database administration, and provides the entry point for those of us who don't want to hear about database theory but still need to implement a NoSQL-based database. PHP developers will also profit from this book, since it will add an important NoSQL database to their toolkit.

Table of Contents
Introduction to MongoDB
Installing MongoDB
The Data Model
Working with Data
GridFS
PHP and MongoDB
Python and MongoDB
Creating a Blog Application with the PHP Driver
Database Administration
Optimization
Replication
Sharding


Buy Now

Click here for more information about The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing

Read More...

Programming Collective Intelligence: Building Smart Web 2.0 Applications Review

Programming Collective Intelligence: Building Smart Web 2.0 Applications
Average Reviews:

(More customer reviews)
This book is probably best for those of you who have read the theory, but are not quite sure how to turn that theory into something useful. Or for those who simply hunger for a survey of how machine learning can be applied to the web, and need a non-mathematical introduction.
My area of strength happens to be neural networks (my MS thesis topic was in the subject), so I will focus on that. In a few pages of the book, the author describes how the most popular of all neural networks, backpropagation, can be used to map a set of search terms to a URL. One might do this, for example, to try and find the page best matching the search terms. Instead of doing what nearly all other authors will do, prove the math behind the backprop training algorithm, he instead mentions what it does, and goes on to present python code that implements the stated goal.
The upside of the approach is clear -- if you know the theory of neural networks, and are not sure how to apply it (or want to see an example of how it can be applied), then this book is great for that. His example of adaptively training a backprop net using only a subset of the nodes in the network was interesting, and I learned from it. Given all the reading I have done over the years on the subject, that was a bit of a surprise for me.
However, don't take this book as being the "end all, be all" for understanding neural networks and their applications. If you need that, you will want to augment this book with writings that cover some of the other network architectures (SOM, hopfield, etc) that are out there. The same goes for the other topics that it covers.
In the end, this book is a great introduction to what is available for those new to machine learning, and shows better than any other book how it applies to Web 2.0. Major strengths of this book are its broad coverage, and the practicality of its contents. It is a great book for those who are struggling with the theory, and/or those who need to see an example of how the theory can be applied in a concise, practical way.
To the author: I expect this book will get a second edition, as the premise behind the book is such a good one. If that happens, perhaps beef up the equations a bit in the appendix, and cite some references or a bibliography for those readers interested in some more in depth reading about the theory behind all these wonderful techniques. (The lack of a bibliography is why I gave it 4 stars out of 5, I really think that those who are new to the subject would benefit greatly from knowing what sits on your bookshelf.)

Click Here to see more reviews about: Programming Collective Intelligence: Building Smart Web 2.0 Applications

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general--all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:
Collaborative filtering techniques that enable online retailers to recommend products or media
Methods of clustering to detect groups of similar items in a large dataset
Search engine features--crawlers, indexers, query engines, and the PageRank algorithm
Optimization algorithms that search millions of possible solutions to a problem and choose the best one
Bayesian filtering, used in spam filters for classifying documents based on word types and other features
Using decision trees not only to make predictions, but to model the way decisions are made
Predicting numerical values rather than classifications to build price models
Support vector machines to match people in online dating sites
Non-negative matrix factorization to find the independent features in adataset
Evolving intelligence for problem solving--how a computer develops its skill by improving its own code the more it plays a game
Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details." -- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths." -- Tim Wolters, CTO, Collective Intellect

Buy Now

Click here for more information about Programming Collective Intelligence: Building Smart Web 2.0 Applications

Read More...

Python Web Development with Django Review

Python Web Development with Django
Average Reviews:

(More customer reviews)
We are a Python shop at work and have recently started developing in Django. So I picked this book up as a total beginner to Django, but an experienced Python programmer. I feel that the book would be more or less the same even for someone totally new to Python, because Django is definitely a different kind of beast.
Overall, this book was okay to good. I would give it 3.5 stars if I could. It is definitely targeted at beginners to Django (and possibly Python). As a Django beginner, I first ran through the tutorial on the Django website, because it is very thorough and good. I definitely recommend that as a starting place regardless of which book you end up buying. Then I cracked open this book. The first chapter is a 50-page introduction to Python, so I skipped that. Chapter 2 is a tutorial in which you build a simple blog. So by the time I had finished that chapter, I had built two different Django sites but not really read anything about the language or framework or theory thereof. I think this is a good thing, and this chapter is well-placed. Chapter 3 introduces Django. It covers dynamic web sites, communication, data storage, presentation, separating the layers (MVC), general django architecture, and "core philosophies of Django". It is a decent introduction, though I read through it quickly so I could get to the next three chapters.
The next three chapters make up the Django in Depth section and are the bread-and-butter of the book. The first chapter covers models, the second URLs/HTTP/views, and the third templates and form processing. For me, these were the chapters I was most looking forward to, where I would learn everything I needed to know to get started really understanding. And they let me down a bit. Each one was good in what it covered, but the problem was that it left out quite a bit. The part on the models themselves was pretty good and covered the necessities. But the part on querying was a little sparse. They left much for the reader to go to the documentation and find out. (But what's the point of the book, then?) I did think it was nice that they mentioned fixtures, as I had trouble finding that information online when I needed to set one up for work. The chapter on views was decent, but seemed to leave out too much detail. The section covering views specifically was short. Finally, the template/forms chapter again left the reader to find out critical details in the online documentation. First, the template section was short. Second, the forms section seemed long enough, but I just found that it wasn't that helpful when I was really creating forms for work.
The next four chapters are tutorials in which you build various applications. I haven't gone through these yet, but they look pretty good. I think Django is one of those things that is best learned in a very hands-on fashion. Perhaps some of the weaknesses of the previous three chapters are made up for here; but I doubt it, and if so feel that information should have still been included in the earlier chapters. (The book is fairly slim and could definitely be expanded.) Chapter 11 covers advanced Django programming, including customizing the admin, using syndication, generating downloadable files, enhancing Django's ORM with custom managers, and extending the template system. The chapter seems decent enough, although I haven't had to do any of these things yet. Likewise, with Chapter 12 covering advanced Django deployment, I haven't had to deploy anything yet so I only know that the chapter seems to cover some useful information.

Click Here to see more reviews about: Python Web Development with Django

Using the simple, robust, Python-based Django framework, you can build powerful Web solutions with remarkably few lines of code. In Python Web Development with Django®, three experienced Django and Python developers cover all the techniques, tools, and concepts you need to make the most of Django 1.0, including all the major features of the new release. The authors teach Django through in-depth explanations, plus provide extensive sample code supported with images and line-by-line explanations. You'll discover how Django leverages Python's development speed and flexibility to help you solve a wide spectrum of Web development problems and learn Django best practices covered nowhere else. You'll build your first Django application in just minutes and deepen your real-world skills through start-to-finish application projects includingSimple Web log (blog) Online photo gallery Simple content management system Ajax-powered live blogger Online source code sharing/syntax highlighting tool How to run your Django applications on the Google App EngineThis complete guide starts by introducing Python, Django, and Web development concepts, then dives into the Django framework, providing a deep understanding of its major components (models, views, templates), and how they come together to form complete Web applications. After a discussion of four independent working Django applications, coverage turns to advanced topics, such as caching, extending the template system, syndication, admin customization, and testing. Valuable reference appendices cover using the command-line, installing and configuring Django, development tools, exploring existing Django applications, the Google App Engine, and how to get more involved with the Django community.Introduction 1Part I: Getting StartedChapter 1: Practical Python for Django 7Chapter 2: Django for the Impatient: Building a Blog 57Chapter 3: Starting Out 77Part II: Django in DepthChapter 4: Defining and Using Models 89Chapter 5: URLs, HTTP Mechanisms, and Views 117Chapter 6: Templates and Form Processing 135Part III: Django Applications by ExampleChapter 7: Photo Gallery 159Chapter 8: Content Management System 181Chapter 9: Liveblog 205Chapter 10: Pastebin 221Part IV: Advanced Django Techniques and FeaturesChapter 11: Advanced Django Programming 235Chapter 12: Advanced Django Deployment 261Part V: AppendicesAppendix A: Command Line Basics 285Appendix B: Installing and Running Django 295Appendix C: Tools for Practical Django Development 313Appendix D: Finding, Evaluating, and Using Django Applications 321Appendix E: Django on the Google App Engine 325Appendix F: Getting Involved in the Django Project 337Index 339Colophon 375

Buy Now

Click here for more information about Python Web Development with Django

Read More...