Advert TechBookReport logo

Independent developer book reviews by and for practitioners

 
12 Essential Skills For Software Architects

This is not an easy book to review. When it comes to technical books there are normally solid technical considerations that a review can cover: technical depth, sample code, required background, range of topics etc. In this case the book is decidedly not about technology - it's taken as read that as a technical architect you can tick all the boxes when it comes to the nuts and bolts. Instead this is a book that is firmly focused on the 'soft' skills required to thrive as a software architect.

These soft skills are grouped into three categories: relationship skills, personal skills and business skills. The individual skills that are included in these categories get a chapter each, making twelve in all - which makes for a fairly slim volume. The skills are pretty much what you would expect and are not really specific to software architecture as such: leadership, politics, communication, negotiation, transparency, passion, vision, innovation etc. Not quite mom and apple pie but not far off - which isn't to say there's anything wrong about these choices. And, to be honest, they're skills that would benefit everyone who wants to make a career in any field that involves working with other people.

Each chapter gets a thorough going over, with a mixture of sound advice, earnest exhortations and the occassional anecdote. There are also lots of illustrations - from cartoons to block diagrams. Overall the tone is sincere if a little bit preachy. For the more cynical among us, the style of the book and the tone the author adopts is likely to be more of a turn off than anything else. And, it has to be said, there are times when it feels like the material is really being padded out and that more could be said with less.

That's not to say that there's no value in the book. The skills the author has picked out are absolutely key, of that there's no doubt. [Continued]
R In Action

R is a programming language and software environment for statistical computation and graphics. It is, by a long shot, the leading open source stats package in the world. It is also, not surprisingly, incredibly powerful, flexible and not a little bit scary to the beginner. Which means that there's plenty of scope for good supporting materials to augment the wealth of online information available to users. 'R In Action' aims to provide a tutorial to getting the best out of R for real world data analysis. The assumption here is that as a user you know one end of a data set from another, and that you have some familiarity with statistical analysis. What is not assumed is too much familiarity with the R language or environment.

The opening part of the book starts from the basics pretty much — from downloading and installing to interactively using the environment to create and explore some data, to creating simple charts and some beginning data management. This leads naturally to the second part of the book where we get a couple of chapters on basic graphs and descriptive statistics.

The next section of the book really gets into the meat of statistical analysis — covering regression (the single biggest topic in the book), analysis of variance, power analysis, resampling and bootstrapping and more on graphics.

The final part of the book, (aside from the numerous appendices), looks at generalised linear models, principal components and factors, dealing with missing data and ends with advanced graphics.

There's no faulting the choice of topics, this really does cover a good range of data analysis techniques that you'll come across in practice — unless you're an academic or a specialist. [Continued]
Joomla! Explained

The Joomla! content management system is one of the most popular open source web publishing and application frameworks. Built using the PHP programming language, sound object oriented principles and using the open source MySQL database for the back-end, Joomla! is used to develop and publish thousands of good quality and professional looking web sites.

However, while it is supremely flexible and well put together, it all suffers from a steep learning curve and has a reputation for being difficult for beginners to get to grips with. Joomla! explained is a tutorial explicitly aimed at those beginners, offering a step by step approach to putting a site together. It assumes no prior experience of web development, including no knowledge of HTML, CSS or PHP. It doesn't even assume that the reader has access to a functional Joomla! installation. So, how does it do as a guide to the new and probably perplexed user?

The opening chapter provides a very quick introduction to what Joomla! is and what it does. It's really a very fast taster of what the software can do and what the book promises to help you do. And then it's into the meat of the book. In tackling installation the author looks first at 'one-click installs', which many web hosting companies are offering pre-packaged, but then does the decent thing and looks at a manual install. This is a good move as going for a one-click install is easy but it's not much good if your web host doesn't offer it, or only an elderly version of Joomla! is on offer using this route.

Once you've installed then it's straight into using the software, starting with a quick tour of the admin pages and the user pages. As with the installation chapter, it really pays to follow along as you go through the book. [Continued]
Code In The Cloud

There's no doubt that cloud computing is flavour of the month - it's like virtualisation on steroids, and everyone wants some. For developers wanting to know what all the fuss is about, this is a great place to start. While the book is geared around once specific implementation of cloud - Google's App Engine - it's a useful introduction to cloud development in general. For this reason, even if App Engine is not your intended platform, it's worth looking at it as a good learning tool, and as this book as an extended tutorial that will give you skills that you can transfer to other platforms and languages.

Where some books use lots of mini examples to illustrate a technology, this book adopts the approach of building a single cloud application - a web chat service. It's a good choice of project as it's familiar enough in concept that we can all understand it, and yet it throws up most of the key issues that arise in cloud development - issues of data persistence, concurrency, communications latency, dynamic allocation of computing resources etc. Being based on App Engine, there are two main languages supported: Python and Java. The first part of the book introduces the App Engine, while the second part develops the chat application using Python, the third part uses Java, finally the fourth part of the book looks at a series of advanced topics.

The app is developed iteratively, with each iteration used to illustrate some aspect of the platform or a specific issue related to cloud applications. As one would expect the app starts off as fairly basic (and ugly, to be honest), but then improves as the book progresses. So, for example, we go from using Python print statements to emit raw HTML to render out app, to using the Django template engine with CSS for styling. [Continued]
Tutorial - VirtualBox - Physical to logical migration

While some of the other virtualisation platforms offer tools to convert physical machines to virtual, Oracle's VirtualBox only offers some hints on how to do this manually by making changes to the installed operating system and then ripping out the hard-disk containing the bootable partition and imaging it. Not especially friendly and more likely to put the casual user off than anything else. What follows then is a quick and dirty method that uses a range of tools and which depends, crucially, on using software supplied by market-leader VMware.

The starting point for this tutorial is a simple scenario: we have a desktop running Windows 2000 and we want to virtualise it so that it can be hosted on another machine running XP or Vista. The new host machine will not have VMware Workstation or Player installed, only VirtualBox.

Now, while VirtualBox creates VDI images by default, we're going to use the fact that it also supports the VMDK format, supported by VMware. We are, therefore, going to start the process by creating a VMware image of the machine we want to transfer to VirtualBox. To do this you need to install VMware vCenter Converter, which you can download for free from the VMware site. The software can be run from inside the machine to be virtualised, which is the option we used. The process is fairly straightforward - basically you pick a partition and a target drive for the VMDK file and off you go. [Continued]
Coming Soon...
The Joy of Clojure, XAML Developer Reference, The Joomla! Book and lots more...
Excel/VBA Tutorials
Google
Web TechBookReport

Other recent reviews

Site design by viper69 productions-All contents copyright of authors. No copying for commercial use allowed. Site © 1999 - 2012.