Menú Principal

Tuesday, May 3, 2011

My Review of Data Analysis with Open Source Tools

Originally submitted at O'Reilly

Turning raw data into something useful requires that you know how to extract precisely what you need. With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You'll learn how to look...

Data Analysis w/ Professional Experience
By Eder Andres Avila from Paipa, Colombia on 5/3/2011

4out of 5
Pros: Well-written, Accurate
Best Uses: Intermediate, Novice, Student
Describe Yourself: University Student
This is a book about how to design a strategy to understand the organization's data collected using statistical, graphical, analytical and reporting methods and open source tools. This book explains the major concerns about how to extract the information that the data tries to show about products, finances, processes and others. For that purpose, every information engineer should consider:

• The underlying properties of data
• The ways to represent the current status of the data
• The criteria to select relevant data and attributes
• The algorithms to analyze the selected data and attributes
• The ways to report the conclusions of the performed data analysis.

The author Philipp K. Janert takes a designer approach rather than an implementer approach. That means that you will gain important suggestions and tips to propose a plan for data analysis, instead of how to build an entire or partial information infrastructure using open source tools like Python, R, PostgreSQL and Weka.

Then, for some developers the lack of full programming constructs may be disappointing. However, I feel that Philipp K. Janert's main goal is to share with us his own professional experiences in real world enterprise analytical projects from a requirements perspective. In fact, many reference and recipe books cover deeply the aforementioned open source technologies so you can start to build a data analysis subsystem from zero, but without this book, you can lack the enterprise's point of view, something much more related to data architecture and data policies.

Despite the implementer approach is not fully covered, you'll be able to understand how the analytical demands can be satisfied using specifically the programming languages Python and R given its speed of execution, numerical analysis capabilities and cross-platform support. Each chapter contains both the Philipp K. Janert's professional experience and the core programming snippets that make such concepts a programming asset.

In conclusion, if it is true that this book will not guide you to develop a data analysis tool with all the specific programming details of Python and R, it is also true that you will gain worthy professional experiences to design strategies, architectures and policies for data analysis.

This review is in exchange of the O'Reilly Bloggers Review Program (

Wednesday, March 16, 2011

My Review of Programming Python

Originally submitted at O'Reilly

Once you've come to grips with the core Python language, learning how to build Python applications presents a far more interesting challenge. Many critics consider this classic book, now updated for Python 3.x, to be the industry standard tutorial for Python application programming. With cle...

Your Python collection needs it
By Eder Andres Avila from Paipa, Colombia on 3/16/2011

5out of 5
Pros: Concise, Accurate, Helpful examples
Best Uses: Student, Intermediate
Describe Yourself: University Student
So you know the Python basic constructs, however probably you don't know how to build more complex programs. 'Programming Python 4th Edition' is the next step you can take in order to understand how to work with the operating system, parallel processing, traditional graphical user interfaces, and network and Internet resources. By learning this book, you'll be ready to use the Python programming language to start building applications able to serve real business problems within the context of desktop development.

This books explores in additional programming constructs than the exposed ones in the author's previous book 'Learning Python 4th Edition'. Due to its extension and coverage, we can call these two books as Volume 1 (Learning Python) and Volume 2 (Programming Python) each one with 1000+ pages. But the benefit is that you'll find examples about how to work with expected programming scenarios such as processing threads, file storage, canvas drawing, and network consumption.

But, there are interesting topics not enough covered yet like database handling (Object-Relational, SQL, Procedures, exceptions) and data and process security. The last is an critical concern because it is also import protect both source code and data integrity from any information spy, cracker, and thief.

Despite these missing topics, I recommend this book because it leads us to develop more complete programs that just declaring some classes and methods. With this book we are closer to build full applications using the next generation programming language. Thanks what I believe.

Note: This book review is in exchange of the O'Reilly Blogger Review Program (

Monday, February 14, 2011

My Review of Building the Perfect PC

Originally submitted at O'Reilly

Even if you’re not a total geek, you can build your own PC -- and it’s worth it. You'll discover that the quality is better and the cost is much lower than any comparable off-the-shelf PC you can buy. Written by hardware experts, this book delivers complete instructions for build...

Budget and build an inexpensive PC
By Eder Andres Avila from Paipa, Colombia on 2/14/2011

4out of 5
Pros: Easy to understand, Concise, Well-written, Helpful examples
Best Uses: Student, Novice, Intermediate
Describe Yourself: University Student
I recommend this book but with the following advice. This book is a valuable resource for two kinds of readers: one are the low to mid level technicians, and another are the "project executives", not for pure beginners trying to build their own PC. If you want to build your own PC you need some hardware knowledge background to understand the technical speeches like DIMM, sockets, and SATA to some degree, and the motivation to handle wires, screws and little tools, of course. But wait!

If you are the "project executive" for hardware acquisition, you may be interested in knowing what to buy, why to buy, how much it cost and how to deploy it. These "project executives" can be family parents, shop owners and enterprise leaders who need an information technology for their home or business. After reading this book, you will not go blindly to a mall trusting what the ticket or the seller says about a computer, instead you will have more criteria for choosing an appropriate PC.

With the help of a computer science student, for example, you can save some money if you decide to build the computer at your own by choosing only the hardware capabilities and software you really need and your budget imposes. So, despite you are not interested in the process of building, this book gives directions for choosing reliable, inexpensive hardware.

The benefits for low to mid level technicians, like computer science students, are evident because it helps to build a complete PC depending if it is for home, development or more intensive tasks. I like that this book explains the physical components of a computer without going to deep inside computer architecture theory. Of course, you need some knowledge about the different characteristics of memory, main board, hard drives, and buses, among others, but you can build a suitable PC without getting lost in a very technical discussion.

Moreover, if you are an open source developer you can save money by not buying the Windows operating system which comes by default on PC sold at a shopping mall. For instance, in Colombia major computer manufactures, like Hewlett–Packard, sold their computers with pre-installed Windows, thus increasing about 20% to 30% the final cost.
In conclusion, Building the Perfect PC is a good book for technical and non–technical users looking for an alternative, affordable, reliable, inexpensive computer in practicable, understandable, illustrative, quick manner.

Note: This review was in exchange of the O'Reilly Blogger Review Program (

Friday, January 14, 2011

My Review of Designing Interfaces

Originally submitted at O'Reilly

Despite all of the UI toolkits available today, it's still not easy to design good application interfaces. This bestselling book is one of the few reliable sources to help you navigate through the maze of design options. By capturing UI best practices and reusable ideas as design patterns, <...

Developers: It's time to meet the UI!
By ederandres_an from Paipa, Colombia on 1/14/2011

5out of 5
Pros: Accurate, Helpful examples, Well-written, Concise, Easy to understand
Best Uses: Student, Expert, Novice, Intermediate
Describe Yourself: University Student
Developers: It's time to meet the user interface! This book describes interaction patterns for building successful, engaging user interfaces in a practical, didactic way for software developers. It offers a collection of recommended patterns for building attractive, powerful user interfaces which improves the usability and the user experience.

This is a collection of interaction patterns known by the usability engineers but unknown for software engineers and developers. Each pattern is associated with the purpose of an entire user interface (UI), its visual components and the actions it must support. In this way, a developer responsible of the presentation layer of an application reduces the probabilities of using incorrect user controls and bad windows arrangements that leads to errors, fatigue and annoyance.

Moreover, a highly usable product increases the rate of return of investment that a company invests for the development of such a product. With this book you'll learn the key elements that distinguish broadly accepted products like Adobe's and Apple's products. That's because many products coincide on their functionality, however, the usability and user experience (UX) makes the difference.

What I liked most were the speech and the illustrations of each interaction pattern, so I didn't fell tired, on the contrary each time more motivated. I think this is a good starting point for entering in the world of good user interfaces without a lot of formal usability theory.

Note: This review was in exchange of the O'Reilly Blogger Review Program (

Tuesday, January 11, 2011

My Review of 97 Things Every Programmer Should Know

Originally submitted at O'Reilly

Get 97 short and extremely useful tips from some of the most experienced and respected practitioners in the industry, including Uncle Bob Martin, Scott Meyers, Dan North, Linda Rising, Udi Dahan, Neal Ford, and many more. They encourage you to stretch yourself by learning new languages, looking ...

Professional guidance at your hands
By ederandres_an from Paipa, Colombia on 1/11/2011

4out of 5
Pros: Well-written, Concise, Easy to understand
Best Uses: Novice, Student
Describe Yourself: Developer, University Student
I describe this book as one of the kind "Developer, did you know ...?" because it highlights the best practices that every programmer must keep in mind for a software engineering project. These 97 development practices are organized in 19 categories such as coding style, design principles, project planning, usage of tools, collaborating with pairs, and design for the end user.

Within these 97 best practices are those that should always be applied and those that must be balanced or avoided completely. For example, organizing the source code in an easy, expressive and compact manner (pp. 26–27); and creating designs conceptually correct that reduce the collateral effects of applying the singleton OO design pattern (pp. 146–147).

Each practice is described in one short, concrete article in no more than two pages. Many developers learn the best practices after reading several books, magazines and blogs, but this book organize those practices in one single place. However, it is necessary clarify that this is not a programming book, and for really applying a practice the respective technology documentation must be read.

If you are a junior developer or recent graduated student, this book is a good road to achieve the knowledge acquired by senior developers.

Maybe, a discussion about UML would have been interesting to include.

Note: This review was in exchange of the O'Reilly Blogger Review Program (