Profile for Alex Ireland > Reviews

Personal Profile

Content by Alex Ireland
Top Reviewer Ranking: 94,655
Helpful Votes: 620

Learn more about Your Profile.

Reviews Written by
Alex Ireland

Show:  
Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
pixel
Even Faster Web Sites: Performance Best Practices for Web Developers
Even Faster Web Sites: Performance Best Practices for Web Developers
by Steve Souders
Edition: Paperback
Price: £21.34

5.0 out of 5 stars Absolutely super, 31 July 2012
Author Steve Souders (Head Performance Engineer at Google, previously Chief Performance at Yahoo) grew to fame with the YSlow Firefox plugin - a super little gizmo which gave web developers all sorts of ideas for how to speed up their web sites. The book 'High Performance Web Sites: Essential Knowledge for Front-End Engineers book' elaborated on everything the YSlow plugin was telling you. That book serves a forerunner to this book. In fact there is an assumption the reader has already read it, is already familiar with all the points it made and is prepared to dig deeper.

I thought 'Even Faster Web Sites' detailed many clever techiques to boost performance. Amongst some of my favourites:
* Create a <script> element and set its src attribute to a JavaScript file you want to download asychronously.
* Use the script onload's event - which will only be called when the script has finished downloading - to avoid race conditions.
* Succint explainations on how deep scope chains in JavaScript can degrade performance
* Tips on when to use if statements, switch statements and arrays for flow control.
* A good overview of the Comet Architectural approach and how it can be achieved.
* Domain sharding tips: split based on resource type e.g put CSS and images on one domain, everything else on another domain.

There are also timely reminders, including:
* That IFrames make it easy for the UserAgent to print part of a page and are a mechanism to split part of your document giving it independent characteristics.
* IFrames are more expensive to download.
* That a browser's busy indicator stops once the Window.onLoad event is fired.
* Some browsers have limits on how long the JavaScript engine can run
* Web proxies and security software can mangle the Accept-Encoding header
of request so that they speed up their screening of the response from the web server in a process Souders refers to as Turle Tapping.
* Browsers enforce their maximum connections per server rule based on the hostname in the URL not the IP address it resolves to.
* That CSS selectors work in a "rightmost first" fashion.

It is a super book. Not just to get ideas to boost web performance but because it helps deepen architectural understanding of the web. There are many important parts in the Web tier: all the different resource types, sychronous / asychronous processing, the various ways blocking can happen, a very sophisticated object model, a funny old language by the name of JavaScript and of course the endless list of quirks from different browsers. There was a time when everything revolved around the database but now a deep understanding web is probably more important. This book most definetly helps deepen understanding of the Web Tier.


Essential Software Architecture
Essential Software Architecture
by Ian Gorton
Edition: Hardcover
Price: £53.99

5.0 out of 5 stars A super read, 24 Jun. 2012
Verified Purchase(What is this?)
This book begins by defining what software architecture is - a term that can be mean different things to different people and different organisations. It then defines and explains all key non-functional requirements (performance, scalability, security etc) things that I think everyone would agree are very important in software architecture. It then explains various architectural approaches used in enterprise systems. This includes web services, message orientated systems, model driven architecture, aspect orientated architectures. There is also a case study which shows how some of concepts described can be applied.

My favourie part was on message orientated architectures. All the fundamental and sophisticated aspects are very explained. These include: the asychronous nature of it, the way you can cluster message ques and brokers, the hierachial naming formats in publish subscribe message topics and the different approaches to reliability (best effort, persistent and transactional). There was also some really good discussion regarding the background and importance of message brokers.

As well as technical concepts there are also some interesting sections on architectural processes, documentation and even my old favourite UML.

This book serves as a very good reminder to the importance of software architecture - especially in enterprise systems. Architectural approaches don't just need to be properly understood, they need to be compared with other approaches especially with respect to the non-functional requirements that are important to your system.


Scalability Rules: 50 Principles for Scaling Web Sites
Scalability Rules: 50 Principles for Scaling Web Sites
by Martin L. Abbott
Edition: Paperback
Price: £24.99

1 of 2 people found the following review helpful
5.0 out of 5 stars Super, 9 May 2012
Verified Purchase(What is this?)
I absolutely love Technical Architecture. It is something that requires high standards in engineering to do well.
In 'Scalability Rules', Martion Abbott and Michael Fisher list 50 tips where each tip communicates a simple or sophisticated idea in a few short pages. Their ideas are based from real world experience of working with over 200 internet architectures.

Performance and its cousin Scalability are always an important part of any software architecture and while some cynics will say some of the tips in this book are common sense, there's plenty of really good advice that if adhered to they would certaintly lower the probability of scalability issues which are nearly inevitable at some stage in the life of a project.

Among my favourites tips:

* Put Object caches on their own tier. This makes it easier to size their hardware needs - object caches typically need a lot of memory.
* Pass on multi-phase commits if possible as they are difficult to scale.
* Smart reminders when it is really important to use aschronous models (integrating with 3PP frameworks, when there is a temporal constraint).

I wouldn't just recommend individuals to read this book, I would recommend teams. Some important ideas such as spliting up system processing by something like customerId are given concrete names such as Z-Axis splits. The would help teams speak start speaking the same language when communicating ideas. It would help to remind teams that some simple things such as using logfiles, monitoring your system and not relying on QA to find faults are very important and should not be forgotten.

In summary, there are not too many good books on software architecture and this is certainly one of the best I have read. I have already read parts of it 3 times and I am sure I will be referring to parts of it again.


97 Things Every Software Architect Should Know
97 Things Every Software Architect Should Know
by Richard Monson-Haefel
Edition: Paperback
Price: £22.97

1 of 1 people found the following review helpful
5.0 out of 5 stars Good checklist for any software architect, 8 May 2012
Verified Purchase(What is this?)
You can't judge a book by its cover but you can certainly ask questions about its title. Why '97 things every Software Architect should know'? Why not 98, 99 or even 100? Well the word on infoq ([....]) is that they wanted a number near 100 so that there would be enough material for a reasonably sized book. Fair enough so... The book contains 97 articles published by a range of software professional expressing their views on various aspects of software architecture. Many of the articles are not very technical in nature and there are - perhaps - a lot of similarities between this book and '12 Essential Skills for Software Architects' where author Dave Hendricksen focusses on non-technical skills essential to be a succseful architect. Other articles probably aren't just things an Architect should know but really things anyone working in Software Engineering could benefit from knowing and thinking about. I even include Project Managers in that!

That said, there are some really enjoyable bits and pieces. My favourite parts:
* Keith Braithwaite's reminding of the architect's need to quantify things. Characteristics such as average response
time should be not be phrased using terms such as 'good' or 'satifactory' but quantified as something like:
'between 750ms and 1,250ms'

* Craig Russell's points about including the human interaction time in any performance analysis. The system
may respond very fast to API calls, but the if the UI is counter-intuitive, it means the user will spend a longer time try to
get his result.

* Michael Nygard advice for engineering the 'white spaces'. Don't just have arrows between components specifying the
communication protocol, describe the performance expectation of interaction e.g. 100 requests per second, response time
250ms 99% of time. Describe how the system will handle overload, bad response times, unavailability etc.

* Mark Richards classification of architectural patterns:
- Enterprise Architecture Patterns: EDA, SOA, ROA, Pipeline architecture
- Application Architecture: Session Facade, Transfer Object
- Integration Patterns: File sharing, RPC, Messaging
- Design Patterns: GoF

* Gregor Hohpe arguments about the 'predictive call-stack architecture' becoming a thing of the past.
In massive distributed systems, it's not so easy to define the order things happen in. Architectures now have
to be able to respond to event in any time order.

* Bill de hOra discussion of inevitable tradeoffs using Brewer's conjecture (CAP) as example.

* Dave Anderson's arguments for the inevitabitly of legacy and preparing your system for maintenance.

So plenty of good advise in a short book that never gets too technical. The role of the architect is not just to be understanding complicated problems but to stand back and look at the big picture, checking for gaps and to ensure the right actions are taken to ensure project success. This means it's not really just about things a software architect should know, but about things a software architect should ensure they do not forget.


Are You Smart Enough to Work at Google?: Fiendish Puzzles and Impossible Interview Questions from the World's Top Companies
Are You Smart Enough to Work at Google?: Fiendish Puzzles and Impossible Interview Questions from the World's Top Companies
by William Poundstone
Edition: Paperback
Price: £12.99

23 of 24 people found the following review helpful
5.0 out of 5 stars If you like puzzles, you'll like this?, 8 May 2012
You need to toss a coin for a football match. The only coin you have is bent and biased towards one outcome. How do you use the coin and ensure a fair toss?

I love a good puzzle and there are certainty plenty of thought provoking mind benders in this book - most of which I had not heard before. Author William Poundstone (author of 'How Would You Move Mount Fuji' and 'Fortune's Formula') describes various puzzles that are likely to be part of a Google interview process - that company now estimated to be running over one billion search requests per day! Some other aspects of Google are covered, but the subject matter is predominately puzzles - all types of puzzles: fermi questions, deductive logic, numeracy skill, algorithm questions and some grade A counter intuitive mind boggling teasers!

One can't help asking the question why Google bothers with all of this? Surely, the point of an interview is to see if someone can do a certain type of work and the interview should be a fair attempt to assess a candidate's suitability. I have had the fortune (some would say misfortune) to be part of world of Software engineering for the last 15 years. I am passionate about it, but I'll be the first to admit it isn't just about solving fun puzzles. Following best practises, following agreed processes, keeping up to speed with technology, documenting solutions so others can see what's going on are all very important things to make a good software engineer. And it's not always sexy work. Sometimes it requires patience, debugging ugly code while sticking to a tight project deadline. Ascertaining how good someone is at all this in an interview setting can be difficult - especially when it's very easy for a good candidate to freeze from nerves or get an unexpected mental block. It's very difficult to objectify what makes a good software engineer. Sometimes someone very intelligent can get hung up on abstractions or theoritical patterns and forget they have deadlines or just not be a good team player. Sometimes, there's just inescapable subjectivity.

So how do brain teasers help out? Acclaimed tech guru, Joel Spoksky advises to avoid asking them in interviews because they are usually just a case of either the candidate knows it or he doesn't - and not much else. In my opinion, it can take months to understand someone's technical strengths and weaknesses. Puzzles can be useful for demostrating how someone approaches problem solving, how they think on their feet and how they communicate ideas. So yes they do serve a purpose. But even if they serve no purpose whatsoever other than a bit of fun, that's fine for me. I love a good puzzle so I really enjoyed this book and for that reason I'd recommend it to anyone who likes to dabble in some cryptic challenges.
Comment Comments (3) | Permalink | Most recent comment: Apr 19, 2013 2:23 PM BST


12 Essential Skills for Software Architects
12 Essential Skills for Software Architects
by Dave Hendricksen
Edition: Paperback
Price: £24.99

2 of 2 people found the following review helpful
5.0 out of 5 stars Superb, 15 Mar. 2012
Verified Purchase(What is this?)
The question regarding what an architect's skill set should be is usually met with answers such as: excellent knowledge of software methodologies, non-functional requirements and all around superb technical ability. In '12 Essential skills for software Architects', Dave Hendricksen challenges this view by considering what other skills are required besides technical excellence.

In summary these skills are either to do with dealing with people and business acumen. Some examples of the people skills:

1. If someone makes a mistake, look for the reasons why they made the certain decisions, rather than dismissing them for the mistake. The idea here is that a lesson can be learnt and the same mistake should not be made again.

2. A range of communication tips from being a better listener to dealing with conflict in a professional manner.

3. Leadership tips: being prepared to eat your own "dog food", being transparent in all your work and combining your passion with a persistence so that when challenges manifest you are prepared to endure and show fortitude.

4. Understanding different psychological traits. For example, Hendricksen presents an interesting psychological spectrum where "options people" are on side and "procedures people" are on the other. Options people tend to spend too long thinking instead of doing and procedures people tend to only want to do something the way they know how to do it and only by a way which they have used before.

Now, a lot of all this may come across as common sense. But, in the cut and thrust of a challenging technical environment it can easily be forgotten and usually is. This is a recurring theme of the book, a reminder of the things we can easily forget but really should not.

Regarding the business skills, Hendricksen advises that the Architect should not just know the problem domain but should understand how business people think and the language they use. He suggests attending trade fairs, increasing your customer interaction and to even consider taking a reputable business course. The reasons for all of this is because it is much easier to make better decisions with people the more you understand other stakeholders' perspectives. Making better decisions means people have more trust in your abilities.

The architect's role is clearly a very multi-faceted one which requires very quick context switching between the various demands. However, I think the advise in this book is applicable to anyone working in a technical organization. Not only because the lines between senior engineers and architects are becoming more of a blur but because the book is a reminder of the challenges every technical organisation faces besides solving difficult technical problems.

It is a super book and one that I will reading (and consulting) again.


The God Impulse: Is Religion Hardwired into the Brain?
The God Impulse: Is Religion Hardwired into the Brain?
by Kevin Nelson
Edition: Hardcover

0 of 6 people found the following review helpful
3.0 out of 5 stars Depressing, 15 May 2011
They say you should not judge a book by its cover, well how about it's title? 'The God Impulse' deals more with mystical and spiritual experience people experience in near-death situations, rather than the religious beliefs they hold in their daily lives which is what I was expecting.

He does make some interesting neurological points that can apply to religious belief such as experiments conducted by Sam Harris et al which showed that it takes more brain activity to disbelief something and that the pre-frontal region of the brain had a stronger signal in Christians when asked questions about God. But the book primary focus is on experiences towards death. The analysis is pretty rigorous. Nelson's uses his neurological background as he deconstructs experiences such as people thinking they are going to heaven or seeing magical lights and shows that this is nothing more than hallucinations and delusions based on things like the
brain changing states between REM and other states of conciousness. The arguments are well made. But the subject matter is just depressing. Give me John and Edward any day! He does throws in interesting facts that the number of brain cells we have is at about 100 billion which is around the same number as stars in the Milky Way galaxy. But overall the theme of the book was just a bit too depressing. He should have thrown in a few jokes to lighten things up a bit!

I just think it's unhealthy to think too much about death. I am more a live your life now and make the most of it person. Yes religion and magical experiences in death probably are just hallucinations. In fact I am nearly certain they are without requiring scientific evidence. So, I am not dismissing the scientific validity of any of his points. I just found the subject matter and the presentation style of it too morbid.
Comment Comments (2) | Permalink | Most recent comment: Oct 28, 2012 4:58 PM GMT


Towards the Light: The Story of the Struggles for Liberty and Rights That Made the Modern West
Towards the Light: The Story of the Struggles for Liberty and Rights That Made the Modern West
by A. C. Grayling
Edition: Paperback
Price: £8.79

4 of 4 people found the following review helpful
5.0 out of 5 stars Enlightening, 15 May 2011
A.C. Grayling's 'Towards the Light' is a historical overview of the development of human rights and liberal thinking in Western Civilization. Things begin with the reformation. Grayling's points out the liberal views of Castellio and Erasmus but then also shows that the likes of Luther and Calvin were - in some respects - Christianity's version of the Taliban. This may come to a shock to some but Grayling's argues well. German peasants thought that Luther would sympathise with them but instead he urged the ruling classes to crush them in his piece 'Against Murderous Thieving Hordes of Peasants'. In his 'Sermons on Dueronomy' Calvin states, it should be "severe punishment" for blashpemy and since we we "muzzle dogs", men should be treated the same way regarding free speech. But Grayling also reminds the reader of several examples where Roman Catholicism went out of its way to control human thought. Not only by using the well known stories of Gallieo but other pertinent points that most people wouldn't know. The Roman Catholic Archbishop Theophilus destroyed 200,000 volumes of literature of antiquity in the library in Alexandria, Emperor Justinian closed down the Greek philosophical schools and Bossuest provided scriptural support for absolutism rule in France. Things did get a bit better in the reformation but there was still a long way to go.

Graylings details several other important junctures in the advancement of an enlightened West. For example the American Civil War. He doesn't just detail facts but makes some very interesting points. For example, one reason why Southern states were more reticent about ditching slavery was because their economy was more dependent on it. The Cotton, Tobacco and rice plantations were labour intensive and built on slave labour. This made it more difficult for people to see the enlightened views of the likes of Thomas Paine. Similarly, on the theme of fearing change and lose of power, Grayling makes the point that when Lord Grey tried to introduce parliamentary
reforms he met inertia from none other than the Church of England. Why? because they were afraid their automatic right to 28 seats (in the House of Lords) and afraid that more democracy meant more freedom for people, ergo less power for them.

Grayling also does a good job describing the rise of political idealism. He details not just Marx and Engles, but Robert Owen - the man who coined the term 'Socialism'. Owen put forward radical ideas about the entitlement to quality of life for every living human being. His ideas would have been considered Utopian in their day but they are ideas that nowadays most reasonable people would really just take granted. But Grayling does not treat anything - including the left - with kid gloves. He details specific examples of alliances between the left and the Roman Catholic Church to stop women having the right to vote. This happened in France and South America. He suggests the left considered women more conservative and more likely to vote for their opponents. Enlightenment values are predicated on a desire to think more critically thinking and to search for accurate information. But accurate information isn't always something easy to come by. Grayling details the entry for the word 'Negro' in the 3rd edition of the acclaimed Encylopaedia Britannia (1798). This deplorably states that "negro" is a "variety of human species" which contain a range of "vices" including:"revenge, cruelty, impudence. stealing, lying". Let's be thankful we have better encyclopaedias now. But, let's learn the lesson here. Take nothing for granted and question everything. In summary, this is a great book. A huge amount covered regarding religious freedom, workers rights, universal suffrage and the abolition of slavery. Obviously not room for everything. For example Martin Luther King, Nelson Mandela and Gandhi don't get much of a mention. In fact, it's very much a Western centric view of things. To have a full understanding one also pay homage to the East. Now, obviously
not enough in one book to do that. But it's an important footnote for the reader, something they should not forget.


Aftershock: Reshaping the World Economy After the Crisis
Aftershock: Reshaping the World Economy After the Crisis
by Philippe Legrain
Edition: Paperback

12 of 12 people found the following review helpful
4.0 out of 5 stars Not bad but not complete, 1 Jan. 2011
LeGrain details the key facets of the credit crunch, the mistakes big bank banks made and what the policies are needed so that the same mistakes are not repeated which could create an even worse crisis. The arguments are straight forward and difficult to disagree with. Banks can never be considered too big to fail; structured wind downs should be favoured instead of endless bailouts; and chief decisions makers in banks must be held accountable.

This book also contains a reflection on the global economy looking into the future. This centres around the evolution of the big emerging economies (Brazil, India, China), global issues (not only financial systems but other concerns such as climate change) and how esablished Western economies should act in a new world which doesn't de facto guarentee their hegemoney. He makes several simple but pertinent points. For example, Britan once built its empire around - amongst other things - Indian Tea. But, now it is an Indian company Tata tea Tea which has acquired Tetley Tea - the principle British tea company. The internet revolution may have begun in America but even a quick look at the big players: Google, Yahoo, eBay, YouTube, PayPal shows they were co-founded by people born outside the US. But, even though immigration can nurture innovation it can also nurture protectionism. LeGrain details cases where Australia was skeptical about Chinese interests in its natural resources. In some cases this protectionism may be justified by skepticism of the lack of democracy in China; in other cases it might just be xenophobia getting the better of people - it's not always so easy to say.
But either way, the point here is that we are now unequivocally globally interconnected. One only needs to look at the US dollar reserves China has (estimated to be 2 trillion $).

'Aftershock' clearly contains plenty of interesting points, so what are the short comings? Well my principle criticism of this book is that it lacks direction. Admist a whistle stop tour of global economic facts, I was wondering what the overall central thesis was or if there was even meant to be one? Some of the facts at the end of the book could have been put at the middle or the beginning and it wouldn't have made much difference.

My second criticism would be that perhaps LeGrain is trying to cover too much. This meant some areas had a shortage of substance. For example, even though he mentions some interesting facts about photovolvic cells and the very interesting story about Justin Rowlatt (the eco warrior who turned his life upside down in an effort to reduce carbon footprint) is interesting, I couldn't just help thinking his analysis of climate change (which is such a complex issue) was a bit simplistic.

My third and final criticism is even though there's plenty of interesting material, I felt key parts of the jigsaw were still missing. For example, when detailing the crisis in Iceland he mentions interesting facts such as their interest rates rocketing to 18%. But, I didn't end up with a deep understanding of the causality here. Why didn't it go to 20%? or 15%? Similarly, even though the book aims to be analysis of global finances and there are several points about the IMF and World Bank, I felt there could have been a bit more about these institutions as their power and importance can't be underestimated. He does do a very good job of explaining economic principles such as leveraging (and its associated risks) but I think the reader would have greatly benefited if there were clear, detailed explanations of exactly how the IMF and world bank operate.


The Book of Atheist Spirituality
The Book of Atheist Spirituality
by Andre Comte-Sponville
Edition: Hardcover

2 of 2 people found the following review helpful
3.0 out of 5 stars Some parts very good; some not so good, 31 Dec. 2010
Verified Purchase(What is this?)
This book in split into three parts. Firstly, there is an analysis of what religion is and if we can live without it. This part is excellent. Compte-sponville de-constructs the various aspects of religion and raises some very valid points. For example, even though it is easy to replace some aspects of religion, for instance wedding ceremonies; it is not very easy to replace other aspects. A non religious funeral seems: 'flat, artificial and impoverished - like a poor copy of the original'.

The second part of the book details rebuttals to the classical arguments for the existence of God. These include the Ontological argument, the Problem of Evil and Pascal's Wager. Nothing too much new here. He does offer some interesting arguments to counter 'free will' suggesting that if 'concealment' of God (we don't get absolute proof) is a requirement to free will, then we are freer than God - for He may be concealed to us; but we are not to him. We are even freer than the prophets and the believers. This seems odd and turns 'free will' on its head. He does a reasonable job of explaining the other rebuttals but I think there are simpler and clearer explanations available in something like Russell's "Why I am not Christian".

The third part of the book deals with the central premise of the book: Atheist Spirituality. This is where things get problematic. What I think he is trying to say here is that the feelings of mysticism, serenity and wonder are all very possible for the atheist. But unless you live in some Christian bubble that's hardly an Eureka? So I am struggling to see the major point here. To me, it is all obvious you don't need a God to experience wonder. Instead of just admitting the obvious or telling us something new, Compte-Sponville goes to great lengths with difficult to follow prose and obscure arguments to argue why the atheist can achieve spirituality. At times things don't make much sense. For example, he says: "If everything is real, everything is necessary". That sounds like a non-sequitur to me!

The majority of his discussion regarding Atheist spirituality comes across as stuck between somewhere esoteric discourse and mumbo jumbo. Perhaps this is because the book was originally written in French and it just didn't translate very well. I don't know?

Compared to Dawkins or Hitchens, Compte-Sponville uses a kid gloves approach when approaching religion. He describes himself as a "faithful Atheist". He acknowledges his place within the specific history of the "Greco-Judeo-Christian values of the Western World". He states his respect for Pascal, Leibniz, Bach, Martin Luther King Jr. This is good, sometimes Dawkins and Hitches can be too aggressive. However, it has to be remembered that the central premise of this book isn't an argument for atheism but an argument for atheist spirituality. This should have been a interesting and thought provoking. But it was obscure, overly complicated and recondite.


Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9