Rafael Dohms Web Engineer

5Aug/115

PHP Development in the Cloud by Ivo Jansch and Vito Chin

Cloud computing is finally reaching a point of maturity and leaving its early “hype” years behind. Ivo and Vito do a very good job of bringing the topic into a PHP developer’s world in a very concise and objective manner, without leaving important platforms and concepts behind.

From the top the book sets down the glossary and explains very clearly what Cloud computing is and where it stands, which is very important if you are to decide wether its the solution for you or not. It also brings the concept into technical view reviewing the differences between a regular hosting environment and a elastic cloud structure. This is very important to architects building new applications that mean to take full advantage of the cloud. Finally the book overviews a few examples and most importantly a few providers and solutions, such as Amazon, Windows Azure and Google App Engine.

The book was a very pleasant read, not thick and not too thin. It helped me greatly as I prepared to give a presentation on Cloud Computing, allowing me to see different points of view as well as compare other technologies i had not had time or chance to try. I recommend this for any application architect who is thinking if the cloud is the right solution, but even if its not on your mind yet. Its very important to know where the cloud fits in so that when given a choice you will know the cloud is an option to be considered.

Book CoverTitle: PHP Development in the Cloud - a php|architect Guide
By: Ivo Jansch and Vito Chin
Publisher: Blue Parabola

Pages: 172
ISBN: 9780981034522

Buy it: At php|architect

Tagged as: , , , 5 Comments
11Aug/100

Review: The Art of Community – Jono Bacon

cover

I must confess that Jono Bacon actually caught me by surprise. While I was following the creation process of the book (O’Reilly invited UG leaders to send feedback) I could have never imagined I would one day have something so useful for someone who deals with communities on a day to day basis. In this universe Jono is a well known figure, with vast experience in managing and participating in online communities, which credits him as a perfect candidate to write a book like this one.

A book about how to manage and live amongst virtual communities has all the elements to be a boring book full of “do’s and don’t’s”, in summary a very repetitive and unpleasant book. However Jono proves his understanding of the communication channels (important part of any community) right off the bat in the book’s introduction. Here he showcases his writing strategy, telling personal experiences. Building on top of this premise the author goes throughout the book presenting us with new concepts or strategies and following it up with a real life example from his and others’ experience in communities. This makes the book a delightful read, easy and flowing, the kind of book you can pickup anywhere and have fun while you plow through the pages, perfect for the everyday life of lines and waiting. I recommend loading it up on your e-reader if you got one.

The book is incredibly broad and valid for numerous roles inside every community, from managers to members, volunteers, to the regular Open Source developer. Each level of the community stands to gain from this book and even people who work with or use the community, such as marketing people, and activists who need to learn how to communicate and win-over the communities. Each chapter dives into a different and fundamental aspect, like communication, building buzz, measuring, events and handling conflicts.

Anyone who has ever managed a community and looks at this table of contents will surely have a few flashbacks of various moments in their experience, I know I for one identified myself in quite a few situations, from my motivation to participate in the PHP community to the conflicts and the experience of contributing to Open Source. I usually like to give more details of each chapter when I do reviews like this one, but in this case that feels like I would be cheating the reader from the amazing experience of having Jono lead you through his experiences and concepts, so i’ll not do it.

In summary, if you have any involvement with virtual communities, be it as a manager, member or just someone who interacts with them, this book should have its place in your shelf. Buy it, read it, enjoy it an have fun while you learn to take your community to the next level.

The Art of Community

Author: Jono Bacon
ISBN: 978-0-596-15671-8
Pages: 400
Year: 2009
Publisher: O’Reilly
On O’Reilly
On Amazon

6Jul/093

Book Review: Guide to Date and Time Programming

This review has been pending for a while, but recently I finished reading Derick Rethans' book: Date and Time Programming. A first look at the topic (Date and Time) might get you thinking, "Why the hell do I need a book to teach me about time?" But further investigating, and some life experience will show you that dealing with Date and Time is not always as straightforward as "Its twelve o'clock". Derick's book gives you an in depth look into handling various factors of date and time such as timezones and days that did not exist, as well as finally delivering something missing from php.net: documentation of the DateTime Object.

The book covers a lot of ground, even tough it looks rather thin. Derick does a wonderful job of introducing date/time matter in the opening chapter, covering all the calendar switches (Julian to Gregorian) and its complexities (did you know Feb 30th has already happened once?) as well as timezones, solar times and daylight-saving details. This is all very valuable information for anyone working with dates.

The progressing chapters dwell into the various operations we use with and around date and time, like parsing, representing, manipulating and bringing attention to various perks of timezone and daylight saving handling in all the various functions in PHP. Its also very interesting that the book fully covers and makes crystal clear the new features in PHP 5.3 to deal with this topic.

The book also dewlls into PHP internals and describes how to use timezones and to update the internal timezone database, as well as how to deal with database engines and still get back correctly timezoned dates.

The book is a really pleasant read in a very orderly fashion, Derick covers all steps before introducing new issues instead of just throwing them out and explaining afterwards. It also functions very well as reference book, since documentation on this topic is not all it should be on the PHP Manual. This is a *must-read* book for anyone that has ever had to deal with handling date or time in a PHP system, or anyone who plans on launching systems that are aware of timezone differences.

.

Date and Timephp/architect's Guide to Date and Time Programming
by Derick Rethans
Paperback: 152 pages
Publisher: Marco Tabini & Associates, Inc. (April 20, 2009)
Language: English
ISBN-10: 0981034500
ISBN-13: 978-0981034508
26Jan/090

Review: Essential PHP Security

phpseccover

Even having being published in 2005, the book "Essential PHP Security" addresses a very up-to-date topic even today. Written by Chris Shiflett the book goes through various security aspects associated with a PHP application, for that reason even to today its content can be considered updated and applicable to various day to day situations faced by developers.

The book has a very easy going and exemplified approach to expose the various aspects presented. Aspects which are very clearly exposed and separated in chapters, going all the way from forms to includes and security in shared hosting environments. Each topic is analyzed in detail and internally divided into exploits and attack strategies for that security flaw, that way the book also becomes a easy to access reference book where its possible to go directly to the chapter that addresses the specific aspect you are coding right now, allowing you to know which flaws to look for. Further the introduction chapter presents Principles and Practice os Security which can be applied in any application and any language, like for example "Defense in Depth", allowing you to glimpse the fact that security is much bigger than analyzing specific points of you application.

Even having a few years on it, the book addresses topic like XSS that play a important role in the AJAX driven web we observe nowadays. Also old friends like Session Hijacking and SQL Injection are analyzed from various points of view, aligned to the various segments of an application. This structure makes for a very light and enjoyable reading experience which can easily fit into these moments of relaxation or in the waiting room of the occasional visit to the doctor's office (it worked for me anyway).

This book deserves to be part of any developers history (or shelf), at least to serve as a reminder and inspiration for reflection, even in a world where more and more Frameworks internalize all aspects of security, but as I always say, we developers should always know what goes on behind the curtains.

 

 

Essential PHP Security A Guide to Building Secure Web Applications

By Chris Shiflett
October 2005
Pages: 124
ISBN 10: 0-596-00656-X | ISBN 13: 9780596006563

22Oct/080

ZendCon08 in review

This article was originally posted by me to the MIH/SWAT Blog, at SWAT at ZendCon 2008.

--

This year SWAT marked its first year of presence at the Zend/PHP Conference, also known as ZendCon. Neil Broers and I were chosen for the mission of going to ZendCon and bringing back all we could learn.

Instead of going into a day-by-day testimonial of the conference, which only makes sense during the event, and which I have already done on my personal blog (blog.rafaeldohms.com.br/en), I will turn this post into an analysis of the events, the trends set at the conference, and what it will mean for PHP in 2009.

This year’s ZendCon had a simple sub-title, or motto, “High Impact PHP”. It makes reference to PHP’s participation in the Enterprise market, not just the impact on small companies and freelance programmers, but the impact on the big, high volume companies. This goes hand in hand with last year’s Call for Action in the opening keynote of ZendCon’07: Take PHP to the Enterprise!

Big Players like Orange UK, Zero9 and Bell/Textron have rolled out PHP solutions to deal with their high demand systems - some replacing Java, some building on top of it. And that’s what PHP is here for: to enable web interfaces for corporate systems. You don’t have to do it all in PHP, you can integrate your PHP code with other solutions, and create flexible and high performance web interfaces.

More than ever before we are seeing a buzz around PHP. Companies like IBM, Microsoft, Oracle and Adobe are announcing partnerships with Zend, and are adding their contributions to the PHP Core. This indicates a big change - instead of trying to crush PHP, or ignoring it, companies are integrating it into their products. It is good news for all the developers out there, who can now count on more reliable and faster drivers for database solutions and communication protocols (such as AMF for Flex).

PHP has reached the enterprise, just as we saw happening with MySQL. As was stated by Harold Goldberg in his “Call to action”, let’s not ask “Why PHP?” anymore, let’s ask: “How PHP? When PHP? Where PHP? Go and Evangelize PHP Deeper into the Organization”.

Zend contributed greatly to this move to the enterprise. During the course of the last few years we have seen Zend step up and give back to PHP. The Zend Framework is fast on its way to becoming an industry standard, the Zend Studio IDE is rapidly improving and raising the levels of productivity for developers around the world. Zend has to continue evangelizing PHP and offering tools to Enterprise customers, tools such as those included in the current Zend Platform.

The conference sessions mostly focused on the trend to Enterprise, as well as a few other trends. Of course we had a few vendor sessions - it was a Zend Conference after all. But the community really stepped up with interesting sessions. Some recurring trends we could see by just looking at the schedule were: Performance, Testing, integration with other languages and components, and the Zend Framework.

Performance talks are inevitable with the current movement into the Enterprise world. High end users inevitably means high demand and traffic. Various panels suggested strategies that went beyond just PHP, as scaling must be done on the whole project, of which PHP forms just a piece of the big picture. Unfortunately one hour sessions are just not enough and we did not get into mogileFs and other OS level discussions which would have been very interesting. In general the Database seems to be everyone’s bottleneck, and Jay Pipes gave an interesting session and tutorial on SQL optimization, based on MySQL Databases. Most if not all sessions on Performance were based on Case Studies: Mozilla, Ning, Oracle, Bell Canada.

The maturing of svn and its increasing use in PHP projects, distributed development teams, never-ending beta cycles and the rise of frameworks  leads to Testing and Code Analysis being white hot topics in any conference. ZendCon was no exception, with many “test” centred sessions. Worthy of note were the sessions by the eZ Components crew on Test Driven Development and Continuous integration, where the the need for svn versioning and unit tests were highlighted.

As the old saying goes “If you can’t beat them, join them”. In many situations PHP just won’t do, that’s obvious to us, so instead of forcing its way into those areas and beating other languages and systems, PHP has learnt to adapt and integrate with other Technologies. Since we are so focused on the enterprise, it makes sense that more and more we see sessions describing the use of PHP for integrating larger systems or foreign applications on the web. This is one point where all the partnerships begin to make sense, such as those with IBM and the fact that PHP is currently being used to take green-screen applications to the web, hence the support for i5 and DB2. Microsoft wants in as well, with support for better MSSQL handling and interaction with ASP.NET. Lastly we should not ignore Adobe’s Flex and the AMF protocol increasingly being supported by the Zend Framework.

Lately we have seen the Ruby language repeatedly coming up for discussion, especially with the “insurrection” surrounding the Ruby on Rails framework, which has to make you think about how much a framework can affect a programming language’s environment and penetration. Of late the Zend Framework is on the way to becoming an industry standard, even though as with Rails the phrase “use with parsimony” comes to mind. Many different sessions showed best practices and examples of where ZF makes developers’ lifes easier and lowers obstacles to productivity.

The atmosphere at the event was electric, many different companies came to show their products, such as github and parallels, but a good many were there to show off their work, and actually look for new employees. Zend’s Team was constantly available for questions. One topic where I found myself actually giving answers was on the Brazilian Open Source movement. Seems these markets are getting more and more attention from Zend and other companies, so we might see some good news in this area.

The massive presence of key PHP developers was amazing, and added a lot to the trend setting described above, as well as being present in a roundtable discussion on PHP 5.3, which gave users a chance to get a sense of what the next version of PHP will hold.

So what can we take from this? Zend is stepping up, the community is right in the middle of its crosshairs, PHP has taken a huge step forward.

And the future? 2009 is going to be an interesting year. Right after ZendCon, iBuildings announced the creation of a PHP Center of Expertise in the Netherlands, driven by Cal Evans himself, the man behind DevZone. This is just more proof that next year will be awesome for PHP, we will continue to see it mature with version 5.3 just around the corner and break even further into the Enterprise world and the “web 2.0” world (where it is already a huge player).

Ladies and Gentleman, this is the time for the PHP Community to come forth and continue taking PHP to the next level, don’t just develop in PHP, get active in the community, find your local user group, publish articles, and always: think outside the box.