Beautiful Data by Toby Segaran, Jeff Hammerbacher

While reading the title you may think of something along the lines of “Data structures in C” with a twist, I have to note that this book is a completely different beast.

The book is a collection of stories from people with different backgrounds; sharing their projects, ideas and reasoning about decisions made when working with data.

Writing a review for this book seems unnaturally hard, almost as hard as trying to read the book in a top to bottom fashion. The book is overly verbose in many topics, and overly simplified in many other. Example of such stories would be chapters like: Seeing yourself in Data, The beautiful people: keeping users in mind when designing data collection methods and Cloud storage design in a PNUTSHELL.

Sure the stories remain interesting, but as a fellow programmer I think they still need a lot of polishing, probably as much as my review.

If you don’t want to get in my situation, where I’ve used a couple of chapters as bedtime stories, I might suggest you the following chapters, in the form of the books best of: Embedded image processing on Mars, Information platforms and the rise of the data scientists, Natural language corpus data and Life in data: the story of DNA.

If I’d recommend this book to a friend? Sure, it has enough diverse chapters that it’s highly unlikely they won’t find something interesting in it.

Leave a Comment

Filed under Books

SQL Pocket Guide by Jonathan Gennick

As the third book I am reviewing in a row through the O’Reilly bloggers program I chose one from a series of books I never actually had the chance to read before; pocket reference/guides.

As you might conclude as well from the title this isn’t a book which deals with top to bottom reading style. Such books should be called among developers: small, internet free, fast, more concise and friendlier examples than your usual quick search online.
Continue reading

Leave a Comment

Filed under Books

HTML5 – Up and running by Mark Pilgrim

Or as I would rather call the book HTML5 – Up and running away from the madness.

Seriously, if one thing this book taught me; and taught me well is the fact that frontend web development is a mess (no surprise there) and will be even more messier in the years to follow. And all this dirt is publicly exposed in the first chapter of the book.
Continue reading

Leave a Comment

Filed under Books

Myths of Innovation by Scott Berkun

Amusing, captivating, inspiring and motivational – those would be the words I’d use to describe the book for anyone asking.

The book is so well rounded that I couldn’t complain of any of it’s chapters. While I skimmed the chapters: How to pitch an idea and How to stay motivated; I can say that all the other chapters are packed with interesting ideas, side stories and busted myths.

Another aspect I liked very much in the book was the very precise way the information was collected and referenced. Basically you could take any chapter, look out some reference and expand your knowledge on the given subject. Go further than the book offers, because that is the means of innovation.

There is no Eureka, falling apple or instant success. It’s all years of hard work, and the book is there to higher your morale, make you feel good about the change you can make.

A great book for any person open enough to innovation. That is the single criteria the author deems, the rest is irrelevant because (as to my surprise) the book is not technical.

Leave a Comment

Filed under Books

The Art of Unit Testing: With Examples in .Net

The Art of Unit Testing: With Examples in .Net by Roy Osherove is a great book I’ve read a couple of weeks ago, and of which I would like to write a few words.

Before we start I should state that I had no previous experience with unit testing, and as such, in some aspects, I might be stating the obvious.
Continue reading

Leave a Comment

Filed under Books

MVC is a lie…

…especially in the context of web frameworks.

If we think about if for a moment, we can all agree that almost every web framework uses the MVC concept, everybody advocates it, but few people actually grasp the true meaning of MVC.

Foremost I would like to explicitly state that this isn’t an article to refute the use of MVC, or to blame people for using MVC. It must be considered an article which elucidates the concept of MVC and how it doesn’t quite fit the context upon it is advertised.
Continue reading

3 Comments

Filed under Discussion

Prototype based object oriented programming in PHP

The other day I’ve found this interestingly controversial submission on reddit and I must admit that after taking a quick look at the code, I ran of for some eye bleach to erase that image from my mind.

While I know that the author had the intention to experiment with the idea of Prototype based inheritance, god forbid something like this goes into a production environment… and trust me, with enough exposure someone will use it.

I’ll gladly share one of my principles with the author:

If you are fighting the language (or framework, library), it means it’s time to ditch it for something else instead of forcing it to work your way… that never turns out well.

Wanting this to not come out as a rant about somebody else’s code (no one likes that), I will instead suggest an implementation that is somehow less obtrusive towards the language, but still an experimentation idea.
Continue reading

Leave a Comment

Filed under Challenge, Code

High Performance JavaScript: Build Faster Web Application Interfaces

While many people praise Douglas Crockford’s (a.k.a. Javascripts adoptive parent) JavaScript: The Good Parts on a daily basis, some without even having read the book, I think that the book I am about to review is more adequate to many Javascript developers and enthusiasts.

Continue reading

4 Comments

Filed under Books

HTTP: The Definitive Guide

Early this week the book HTTP: The Definitive Guide has finally arrived. I’ve put on hold all my side projects and gave it a read, and have written this post to share my opinion about it.
Continue reading

Leave a Comment

Filed under Books

The state of PHP frameworks

CodeIgniter

If I remember well, it was about two years ago that I first laid hands on CodeIgniter. It was my first web framework and came in touch with it after seeing it listed as development tool of one web agency I was checking out.

Checked their website, watched the blog in 20 minutes and I was hooked. Used it for a while, and was satisfied by it.

What I liked about CodeIgniter:

  • Non-intrusive. There are placed some common guidelines but the enforcement is not really felt.
  • Big community, although with time you can see that the level of expertise is not that high, being for most (like myself) their entry to PHP frameworks.
  • URL dispatching. I always had to provide my own dispatcher, and was the most annoying part of development. (not as annoying as form generation and validation, but still annoying)

What I disliked about CodeIgniter:

  • CodeIgniter, in my opinion, suffers from weakly built libraries and this always made me use other libraries freely available online
  • Lack of true Active Record implementation.
  • Scaffolding is only a demo feature; looking good for demonstrations but not that useful in actual development stages
  • The session class, besides the fact that it does not use PHPs native session, it holds the content of session data in the cookie (default) because the adherence of the framework to REST principles.

Symfony

I’ve started using symfony about a year ago and I must tell you that it is a full featured framework compared to CodeIgniter. As I’ve read symfony borows a bunch of concepts and features from Ruby on Rails, which by all means make it a hype driven framework; or doesn’t it?

What I liked about symfony:

  • The dispatcher and more flexible URI routing class
  • Components, partials, slots. I wouldn’t see myself developing further on without using a framework that has components.
  • True Active Record pattern implementation with Propel (which was quite hard to adapt to at first), or as with the new Doctrine, Entity pattern implementation.

What I disliked about symfony:

  • Configuration stored in YAML format files
  • Lack of proper documentation (at least for version 1.0 that I was bound to use) and a very, very small community. My biggest issue with the framework
  • The way the validation works, again not one of my favorite ways

Not much to complain about it because a large part of my problem with it – the documentation if I wasn’t explicit enough – was fixed.

Zend Framework

Zend Framework (which technically isn’t a framework) is something I was for a period keen on learning, but that desire has disappeared in time, seeing it now as an over engineered set of libraries.

Don’t get me wrong, I don’t dismiss the quality of Zend Framework, but I have never been in the situation of actually creating something that required such fine control of every element of the application.

Simply put: consider Zend Framework a great starting point for building anything on top of it, from frameworks to complex solutions, but not something ready (out of the box) for websites.

Zend Framework would have been such a great thing to discover a couple of years ago, when I was still dealing with vanilla PHP. Much time would have been saved indeed.

Kohana

Recently I embargoed one of my work colleagues projects which used Kohana at its base. I heard many praises regarding Kohana so I was really glad I had the opportunity to experiment with it as well. Not much did I actually end up solving with it, and the project shifted on using symfony; most importantly because I and another colleague where far more accommodated with it and there where a couple of features we missed in Kohana. The shift wasn’t dramatical because the project itself was in the early stages and such a switch didn’t really affect the project.

What I liked about Kohana (on top of features I’ve known in CodeIgniter):

  • Easily separate the web application into modules, which lead to a greater degree of maintainability.
  • Better translation support.
  • True Active Record implementation.
  • More robust libraries.

What I disliked about Kohana:

  • Lack of components. And I wasn’t the only one who seemed to feel their lack, the first developer (the one who started building the application on Kohana) rolled out its own implementation of components, albeit less flexible that I came to know when using symfony
  • Not mature enough ORM. While it can be easily replaced with another ORM (Propel/Doctrine) I found it disappointing of them to put energy in yet another ORM that will not get wide adoption (I am referring to users outside the Kohana community).
  • No fine control over the cache, or I may have completely missed it.

But still…

This is my point of view, and you should stick to the one you like (and are more familiar with) without giving much regard to random people online.

As you can see I could only take one small part of the currently available PHP frameworks out there, and there are still a couple I would be very interested myself: Yii, Lithium, CakePHP, Prado, Recess…

So if you happen to have experience with any of the above mentioned frameworks (both written about and others) please feel free to leave a comment bellow because I’m very eager reading other peoples opinion.

8 Comments

Filed under Insight, Review