<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6596419263794831936</id><updated>2011-12-09T22:21:13.910Z</updated><category term='linux'/><category term='avfc'/><category term='linux-ha'/><category term='kubuntu'/><category term='pacemaker'/><category term='apple'/><category term='random'/><category term='microsoft'/><category term='windows'/><category term='hosting'/><category term='ubuntu'/><category term='football'/><category term='musings'/><category term='cars'/><category term='kde'/><category term='service delivery'/><category term='aston villa'/><title type='text'>WMD Zone</title><subtitle type='html'>Random musings from a random IT person. 
Linux, High-Availability, Resilience, Load-Balancing, Hosting, Data Centres, Financial Services Hosting, MySQL, DBA, High-Throughput Web Services.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-860181093285360789</id><published>2011-12-09T22:18:00.001Z</published><updated>2011-12-09T22:21:13.931Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='aston villa'/><category scheme='http://www.blogger.com/atom/ns#' term='football'/><category scheme='http://www.blogger.com/atom/ns#' term='avfc'/><title type='text'>Martin O'Neill Revisited</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;I've never posted Football related stuff to this blog before, but I need somewhere to respond to a post made about Aston Villa, and this is my main blog.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The post in question is &lt;a href="http://vilr.tumblr.com/post/13839922556/martin-o-neill-sunderland-aston-villa" target="_blank"&gt;this one&lt;/a&gt;&amp;nbsp;on Aston Villa Underground. I've never visited the blog before so I don't know about the normal standard of content, but unfortunately it wasn't a great start. I'll reproduce in full and respond to each section at a time. The post is about Martin O'Neill and was centred around him not being the standard of Football manager he gets credit for.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a class="h2 title" href="http://vilr.tumblr.com/post/13839922556/martin-o-neill-sunderland-aston-villa" style="background-color: #cccccc; color: #d00000; font-size: 36px; font-weight: bold; letter-spacing: -1px; line-height: 34px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Martin O’Neill: The Truth #avfc #safc&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;strong style="background-color: #cccccc;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Poor old Sunderland. &amp;nbsp;First Aston Villa take Darren Bent off their hands and then they have the genuine misfortune of signing away a three year contract to Martin O’Neill. &amp;nbsp;Times must be very hard indeed up north, where money is tight, the logical step being to appoint a manager of MON’s calibre, famed for his ability to bring top 6 finishes on a shoestring.&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Or rather not.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Sarcasm and banter aside, there is a purpose to this much pondered piece. &amp;nbsp;And that is to awaken Sunderland fans to the fact that they have not pulled off a coup. &amp;nbsp;Further, it should also serve to remind Villa fans that everything wasn’t all so rosy under O’Neill.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Actually, it pretty much was. There was some discontent about the decision to prioritise chasing the Champions League spot over a Europa League game by playing a mostly reserve side in Moscow, one I and many others fully agreed with at the time, but aside from that I can't remember anything outside of exciting times chasing the big boys with the big money.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Indeed, his actions, inability to take the team forward, astonishing waste of vast sums of the clubs/Randy Lerners fortune, brought our historic and beloved club to its knees.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Wow. Where to start with this one. Inability to take the team forward? So constantly improving season on season isn't taking the team forward? As for the astonishing waste of Lerners [&lt;i&gt;sic&lt;/i&gt;] fortune, well to any reasonable person, there was no waste and thus it wasn't astonishing. The vast majority of players bought improved the team and helped Villa to climb the table, challenge for the Champions League spots and to challenge for cups. I can see that by this end of this rebuttal I'm going to have to make a list of players bought by O'Neill and their sale price. Taking that business into context with the overhaul required of the squad, I think it'll become apparent that it was mostly shrewd business.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;Need I mark one Emile Heskey as the principle evidence to those whom dissent? &amp;nbsp;Heskey, the purchase made to drive Villa’s Champions League ambitions? &amp;nbsp;The prosecution rests.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Need I mark any of Ashley Young, Stewart Downing, James Milner as principle evidence to the contrary? I'm not even sure what the point is here, but Emile Heskey was bought for £3.5m from Wigan while still playing as England's no.9. John Carew had become interested in other parts of life outside of Football and was regularly injured and there's nothing to suggest that Lerner would allow any more than £3.5m at the time. In fact, a quote I remember a quote from the time (but which I'm unable to find now) about that January transfer window was along the lines of "The chairman would like to run the club a little more within its means" when he was asked about the January kitty. We'd also spent quite a bit of money in the summer on Carlos Cuellar (SFW player of the year), James Milner (now plying his trade at the richest club in the world), Luke Young (Middlesbrough fans' favourite and aptly named 'Mr Reliable'), Brad Friedel, Curtis Davies, Steve Sidwell and Nicky Shorey. The latter 3 were less successful than the others in the long run, but each had a pedigree which made them good buys at the time. Curtis Davies performed so well for Villa so as to receive an England call-up and was being talked about as a realistic replacement for Rio Ferdinand, Steve Sidwell was the best player at Reading a few seasons previous which led to Chelsea buying him, and Nicky Shorey has had England call-ups and is now playing well for West Bromwich Albion.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;I have the utmost respect for Sunderland fans. &amp;nbsp;But beware of Martin O’Neill. &amp;nbsp;He possesses a rhetoric that is deceptive, has built a faux brand of&amp;nbsp;trustworthiness,&amp;nbsp;impassioned&amp;nbsp;loyalty and every other sentence will remind you how “&lt;a href="http://www.google.co.uk/search?gcx=w&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=oneill+delighted#sclient=psy-ab&amp;amp;hl=en&amp;amp;safe=off&amp;amp;source=hp&amp;amp;q=martin+o'neill+delighted&amp;amp;pbx=1&amp;amp;oq=martin+o'neill+delighted&amp;amp;aq=f&amp;amp;aqi=g-v1&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=2114l2829l1l3072l7l6l0l0l0l3l181l739l2.4l6l0&amp;amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;amp;fp=8522b9db9c00da34&amp;amp;biw=1280&amp;amp;bih=709" style="color: #0f6f9f; text-decoration: none;" target="_blank"&gt;delighted&lt;/a&gt;” he is. &amp;nbsp;Did I mention how humble he is? &amp;nbsp;He’ll be sure to mention that as well.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;But nothing that ever goes wrong will ever be his fault. &amp;nbsp;&lt;em&gt;Ever.&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;So he's slightly eccentric? Is that what we're accusing him of here? As for the suggestion that he shifts blame away from himself, I can honestly say I've never thought he was anything other than honest and respectful.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Man motivator? &amp;nbsp;Rejuvenater&amp;nbsp;of players? &amp;nbsp;Quite the opposite - O’Neill will ostracise and overlook the very players he has bought if they don’t immediately buy into the philosophy and pray at the O’Neill altar. &amp;nbsp;And whilst erratic dressing room harmony is less than desirable to any team wanting to progress, it is also detrimental to the balance sheet to harbour numerous expensive “misfits” along the way. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;More subterfuge. Surely it's in his best interest to make players he has bought a success at the club he manages? Why would he ostracise or overlook them without good reason? There are always reports of managers losing the dressing room, and with O'Neill coming from the Clough school of Football, I wouldn't doubt he would demand respect from his players. Having a massive interest in Criminology probably helps with the psychology, too.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Nigel Reo-Coker, Luke Moore, Stephen Warnock, Stephen Ireland, Steve Sidwell, Gary Cahill, Thomas Sorenson, Moustapha Salifou, Shaun Maloney…but this is not a game of lists.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;A list looks an impressive way to back up a theory, but let's examine them, shall we?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Reo-Coker - Got into a 'contretemps' with the manager. Allegedly rolling around the floor. A player challenged the manager and the manager responded. After this the player was sent to the reserves for a few weeks. I'm not sure what was wrong with that. Any show of weakness would have the players exerting more authority, not a good situation.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Luke Moore - Err, what? Not a very good player who was sold on very early because he wasn't good enough.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Stephen Warnock - A dip in form resulted in him being dropped. Again not sure on the problem here.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Stephen Ireland - Really? The author must be really angry to blame Martin O'Neill for shutting out a player who was at Manchester City at the time.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Steve Sidwell - Did a job, not the most expensive buy. When we had better options, he was on the bench. That's how Football works. Simple enough for most people to grasp, but to some people, anything can be used to criticise.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Gary Cahill - Was behind the excellent (at the time) pairing of Curtis Davies and Martin Laursen. Was too impatient to wait for his chance so went to Bolton. Had he stayed I'm very confident he would be England's first choice centre back by now, rather than getting bit parts.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Thomas Sorensen - To be replaced with Brad Friedel. Or isn't the manager allowed to improve the team?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Moustapha Salifou - This is getting to the point where I'm not sure what the author is actually complaining about. If a player costs little, shows promise and is worth a punt, then when they aren't in the first team when they don't perform. Then when they aren't in the first team, apparently the manager is at fault for leaving them out? How does that work?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Shaun Maloney - Got homesick.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The myth of working to a budget was the biggest fallacy blown out of the water by O’Neill’s Aston Villa project. &amp;nbsp;Whilst developing an exciting counter attacking team, there was never a move to add the personalities or personas that would take the squad to the next level. &amp;nbsp;This was not about achieving success; O’Neill didn’t want to have the limelight shifted to a bigger star. &amp;nbsp;In short, he must be the big fish. &amp;nbsp;This is the same man that swapped Gary Cahill for Zat Knight afterall - he probably can’t wait to work with Titus Bramble.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;I've never seen it claimed that Martin O'Neill was supposed to be working on a budget. O'Neill made quite a public move for Wesley Sneijder at one point, but the player decided to stay at Real. The claims above are blatantly false due to the big money deals for Downing and Milner, and the lack of a £20-30m next-level player surely should be the fault of the chairman, if someone decides it's a criticism at all.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Now, there can be the argument that the Alex Ferguson’s of this world have consistently maintained this ruthless approach - as in instances where Beckham’s influence extended beyond that of the managers he was shipped out. &amp;nbsp;But in reality Ferguson has managed the worlds best players, to great and repeated successes. &amp;nbsp;Rooney, Giggs, Stam, Keane, Yorke, Ronaldo and co. &amp;nbsp;The difference is that Ferguson is a winner and O’Neill wants to give the perception that he is on the same par.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Everyone wants to be successful as a manager. O'Neill has never claimed more success than he has earned. What's the point being made?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;And thus O’Neill is a victim of his own hype - because quite simply he isn’t that good. &amp;nbsp;A procurer of success? &amp;nbsp;Or more accurately a perennial failure and nearly man? &amp;nbsp;He won’t be bringing up the effort of qualifying for the Europa League before&lt;a href="http://www.guardian.co.uk/football/2010/aug/10/aston-villa-martin-oneill-manager" style="color: #0f6f9f; text-decoration: none;" target="_blank"&gt;fielding a team of kids&lt;/a&gt;&amp;nbsp;in Moscow having already beaten Ajax. &amp;nbsp;Tricky thing reality checking on you like that. &amp;nbsp;But in all seriousness, such failure was and is inexcusable for a man who holds himself in such high esteem. &amp;nbsp;He did all he has promised Sunderland with Villa, before abandoning it, along with all sense and reason.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Ad nauseam..&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;And under the notion of “value for money” Villa fans were under the impression for his entire tenure that we could only attract/afford the Heskey’s of this world; that we must focus and develop the Ashley Young’s and feel hard done to when they just missed out - or were sold on to our rivals. &amp;nbsp;The belief still holds true for some that they had their heads turned by bigger things - well of course they did, with no reasonable prospect of O’Neill being capable of managing the team to anything higher or willing to add the faces who could make it happen. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;The very idea we were operating to a limited “budget”. &amp;nbsp;This was utter rubbish - there&amp;nbsp;&lt;em&gt;were&amp;nbsp;&lt;/em&gt;ample funds, it was just that Martin casually overlooked that he had personally frittered it away on utter dross (Curtis Davies, Nicky Shorey, Habib Beye, James Collins…but less of these lists, facts don’t sit well afterall).&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Those players were not dross, as shown above. And he didn't personally fritter it away, players were bought and sold with the chairman's consent. As shown time and again, if a 'next-level' player is to be tempted to Birmingham to a current mid-table club like Villa, they will only come for massive wages. So to get these players we need to pay them a lot in wages. But it's O'Neill's fault for paying too much in wages. He really couldn't win, could he?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Which is why Villa’s purchase of Darren Bent in January 2011 underlines O’Neill’s failure. &amp;nbsp;And it’s glaring. &amp;nbsp;Yes, it was a vital £24m purchase as Villa lurched in the 2010/11 campaign - but it evidenced that the funds were there - and either he couldn’t be trusted (think Heskey) or he was a coward. &amp;nbsp;Either notion will suffice.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Really no. Bent was purely purchased to save Villa from being relegated. The chairman correctly realised it was better to spend £18m on Bent, being able to mostly recoup it later, rather than being relegated. Under normal circumstances, those funds wouldn't have been released. It wasn't simply that the manager wouldn't spend the money (although if he had, it would have been another stick to beat him with).&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;It underlines how close Villa were - and how O’Neill’s&amp;nbsp;stubbornness&amp;nbsp;and inability to produce results at the very highest level, where key decisions matter, were the root cause and obstacle. &amp;nbsp;Villa needed the Bent goals to elevate the squad in 2009 - but O’Neill’s refusal to make the big call, take on the potential ego of a star player and risk his own reputation should tell anyone all they need to know. &amp;nbsp;We needed Bent - what&amp;nbsp;&lt;a href="http://www.telegraph.co.uk/sport/football/teams/aston-villa/4013574/Martin-ONeill-weighs-up-January-move-for-Tottenhams-Darren-Bent.html" style="color: #0f6f9f; text-decoration: none;" target="_blank"&gt;O’Neill chose&lt;/a&gt;&amp;nbsp;was Heskey. &amp;nbsp;And he didn’t join Sunderland for £24m I recall (&lt;a href="http://www.mirrorfootball.co.uk/news/15m-Darren-Bent-off-to-Sunderland-as-Peter-Crouch-joins-Tottenham-article97977.html" style="color: #0f6f9f; text-decoration: none;" target="_blank"&gt;£15m&lt;/a&gt;).&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;This whole premise of O'Neill choosing to buy Heskey over Bent falls down when the evidence shows that funds weren't available.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Sympathisers will refer to how the cheque book was taken from him at the point he needed backing - we will never know&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;But the whole argument above relies on that. Now the author is revising the theory. It was apparently definitely, absolutely, positively, that we had the money, but O'Neill wouldn't spend it, because he was afraid of a bigger star than him, but now it's changed to we will never know. So I've read all of this for nothing?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;And with that, I can't be bothered to refute any more. The rest is just more of the same diatribe, same tired, bigoted, contradictory arguments banded around by Villa fans who are still bitter about O'Neill walking out on the club 5 days before the season starts. No-one outside of the group involved and the tribunal knows what actually happened, but interestingly O'Neill won the tribunal..&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="background-color: #cccccc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Welcome back Martin; we’ll look forward to seeing you on the 21st April 2012.&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; color: #202020; font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;I don't doubt that he'll leave the happier.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-860181093285360789?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/860181093285360789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2011/12/martin-oneill-revisited.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/860181093285360789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/860181093285360789'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2011/12/martin-oneill-revisited.html' title='Martin O&apos;Neill Revisited'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-2157572489058446241</id><published>2011-09-26T20:41:00.000+01:00</published><updated>2011-09-26T20:41:03.997+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Returning to Windows: Part I</title><content type='html'>This series will run through how I've moved from being a full-time Linux desktop user to using Windows full-time. First up, a little about me.&lt;br /&gt;&lt;br /&gt;I've been in the IT industry professionally for about 15 years, but I've always had something to do with computers. I started at around 7 learning BASIC and writing a few programs on my &lt;a href="http://www.computermuseum.li/Testpage/SONY-Computers.htm"&gt;Sony Hit-Bit MSX&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.computermuseum.li/Testpage/SonyHITBIT-HB-75AS-MSX.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://www.computermuseum.li/Testpage/SonyHITBIT-HB-75AS-MSX.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(MSX is a whole other topic for another post, so I won't go into detail here.)&amp;nbsp;&lt;/div&gt;&lt;br /&gt;After that I worked in Technical Support for a UK computer manufacturer before moving into R&amp;amp;D and finally into Linux system administration. During my time in R&amp;amp;D I had a lot to do with Microsoft and Windows in particular, developing PC builds and configurations around Windows from ME to Media Centre. I got to know them very well and didn't like the way either Microsoft, or Windows, worked.&lt;br /&gt;&lt;br /&gt;So I changed my home desktop computers to Linux. Mandrake Linux at first as it was extremely user-friendly and attractive. It may look a little dated now, but against Windows 98 it was amazing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.bitbenderforums.com/users/grogan/screenshots/mandrake7kde.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://www.bitbenderforums.com/users/grogan/screenshots/mandrake7kde.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I then moved onto Ubuntu as of Breezy Badger (5.10, released April 2005) and continued to make my protest against the Microsoft wheel corruption racket that I'd experienced when dealing with them.&lt;br /&gt;&lt;br /&gt;So fast forward until now. Ubuntu was fantastic at the start, it promised so much, but as of Natty Narwhal (11.04) it's delivered so little. When I first started I always needed a decent video editor for my family videos. &lt;a href="http://www.kdenlive.org/"&gt;KDEnlive&lt;/a&gt;, &lt;a href="http://cinelerra.org/"&gt;Cinellera&lt;/a&gt;&amp;nbsp;and later &lt;a href="http://www.pitivi.org/"&gt;PiTiVi&lt;/a&gt;&amp;nbsp;were video editors which were always halfway there, threatening to become the all-purpose easy editing suite that Windows Movie Maker had become. But 5 years later, it hasn't happened for one reason or another. A few weeks ago I simply couldn't hold out any longer, I installed Windows 7 on my main computer, stopped being a martyr and took the easy life again. My experiences since then have been mixed, but now I'm in the position where I can provide the fairly rare insight of an experienced Linux user discovering the pitfalls of being a newbie Windows user. In all honesty, I know what to expect, it's not that different to where I left it, but I still have a fresh view on most of it.&lt;br /&gt;&lt;br /&gt;The next part of this series will be how the installation differed to what I'm used to. How easy is Windows 7 to set up and get ready to use compared to Ubuntu?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-2157572489058446241?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/2157572489058446241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2011/09/returning-to-windows-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2157572489058446241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2157572489058446241'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2011/09/returning-to-windows-part-i.html' title='Returning to Windows: Part I'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-2590420608948070595</id><published>2011-08-01T14:08:00.000+01:00</published><updated>2011-08-01T14:08:50.414+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random'/><category scheme='http://www.blogger.com/atom/ns#' term='musings'/><title type='text'>On the Origin of Cars and Human Beings</title><content type='html'>From my moderately recent uptake of running to attempt a Marathon in October it's struck me just how incredibly close the mechanics of motor vehicle engines are to the mechanics of Humans. A Heart Surgeon recently described to me that opening up the chest cavity and looking inside as "it's just mechanics". That got me thinking about just how right he is. Perhaps it's no accident that the two are so close in the way they work either; we've now had just over 100 years' of enhancement and refinement of car engines, so the natural process should follow the best formula for working with physics, proving that evolution is the ultimately the best judge. I'll try and explain how I think the two things match each other, and how they differ. By comparing them we can actually have a good guess about how cars will 'evolve' in the future, by looking at how the Human Body is better than an internal combustion engine.&lt;br /&gt;&lt;br /&gt;Combustion&lt;br /&gt;When exercising, you draw air into your lungs to react with food in your stomach, to be carried around the blood stream to your muscles. To help this process work, you need water. Without water you effectively dry up and grind to a halt. It's very easy to perceive this happening when you're dehydrating while exercising; you feel muscles tighten, your blood thickens and saliva turns very thick. This is very similar to how an engine will draw air in to the combustion chambers (lungs), combine the air with fuel (food) and use the chemical reaction to create energy. Also very similar is how lubrication is required. The engine requires oil to lubricate the workings otherwise it will dry up in the same way as your muscles and joints will dry up without water.&lt;br /&gt;&lt;br /&gt;So the way the car engine produces energy is very similar to how we produce energy. What else is similar?&lt;br /&gt;&lt;br /&gt;Tuning&lt;br /&gt;When trying to get more performance out of your engine, it's a simple principle. More air and fuel in equals more energy generated. It's also remarkably similar with the human body. You exercise to increase your aerobic and anaerobic threshold by increasing the size of the energy pathways to your muscles. You exercise to make your heart and lungs more efficient to be able to make better use of the oxygen you can draw in and more efficient at using the energy. This is the equivalent of boring out your engine by making the cylinders bigger and holding more air, and increasing your engine's volumetric efficiency by allowing as much air to be drawn in on every stroke (breath) as possible by porting, polishing and general head work.&lt;br /&gt;You can increase the fuel pump size, the fuel line size, the fuel regulator and the injectors / carburettor. This is the same principle as the size of your veins increasing to allow more fuel for your muscles to be carried. Most tuners will be familiar with the term 'Italian Tune-up' where giving an engine a blast will remove old deposits and scale and effectively allow your engine to perform better. The exact same thing happens with your body.&lt;br /&gt;&lt;br /&gt;The Future&lt;br /&gt;I firmly believe that any advances in the technology of the internal combustion engine have so closely imitated the mechanics of the human body that it's a fairly easy conclusion to come to that future advances will go down the same route. Where can we expect to see engine technology go next, if it does mimic human biology?&lt;br /&gt;&lt;br /&gt;Well, the body's ability to self-heal and adapt to load is a great advantage. It makes it able to last, literally, a lifetime. As you ask your body to do more and more demanding things, your physique and attributes change to allow greater abilities at these tasks. Some modern cars have the ability to change the air and fuelling pattern depending on how it learns your driving style, so we can see some of that already. Even some technologies such as variable valve timing are also evidence that this is starting to happen, so I think we'll see engines able to adapt better to different driving conditions, demands and styles in future. We may also see more advancements in the way that engines are able to heal themselves by making use of modern materials.&lt;br /&gt;&lt;br /&gt;It's no surprise that engines and the human body closely model each other, as both are intended to do the same thing; convert chemical energy into kinetic energy and deal with any associated wear and tear in the course of things. The human body has had quite a head start, but we're pushing transportation devices forward faster than evolution could manage, to the point where we could very well merge.&lt;br /&gt;&lt;br /&gt;Can you see this trend continuing? Where will it go?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-2590420608948070595?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/2590420608948070595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2011/08/on-origin-of-cars-and-human-beings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2590420608948070595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2590420608948070595'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2011/08/on-origin-of-cars-and-human-beings.html' title='On the Origin of Cars and Human Beings'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-5276178842551516799</id><published>2011-02-09T09:59:00.002Z</published><updated>2011-02-09T16:51:54.939Z</updated><title type='text'>Making BASH Scripts HA Compatible - Daemonising BASH</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Quite a few times on our clusters we've needed to make a cron job, or a shell script HA compatible. We'd like the cluster to be able to start and stop it, so it can failover with other resources if required.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;It's actually a lot easier than it seems. The easiest way is making a while true loop with a sleep in the middle, then in each iteration check the current time against the run time of the script. It's kind of replacing cron, but needs must.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This is how I did it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;"&gt;Stage 1 - Make a standard LSB compatible init script carcass&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#!/bin/sh &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# description: Start or stop your res name&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;### BEGIN INIT INFO &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Provides: your_res_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Required-Start: $network $syslog &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Required-Stop: $network &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Default-Start: 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Default-Stop: 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Description: Start or stop your res name &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;### END INIT INFO &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;RUNFILE="/var/run/your_res_name"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NAME="YourResName"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;case "$1" in&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;'start')&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CHECKSTATUS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ "$RUNNING" ] &amp;amp;&amp;amp; echo "$0 is already running" &amp;amp;&amp;amp; exit 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo $"Starting $0"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;touch $RUNFILE&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MAINLOOP &amp;amp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;'stop')&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ -f "$RUNFILE" ] &amp;amp;&amp;amp; rm $RUNFILE&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pkill -f "$NAME "&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo "$NAME"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;'restart')&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$0 stop&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sleep 5&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$0 start&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;'status')&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CHECKSTATUS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[ "$RUNNING" ] &amp;amp;&amp;amp; echo "$NAME is running" &amp;amp;&amp;amp; exit 0 || echo "$NAME is stopped" &amp;amp;&amp;amp; exit 3;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;*)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo $"Usage: $0 {start|stop}"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;echo&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exit 1;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;esac&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;There's no CHECKSTATUS or MAINLOOP functions yet, we need to add those next.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;"&gt;MAINLOOP&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;You need a while true ; do ; done loop to sit there running through the stuff you want to check and then to do stuff at the appropriate times.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;RUNTIME="000300" # 00:30:00&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;MAINLOOP() {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;LOG="/var/log/$NAME.log"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;while true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;do&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;# Check for permission to run.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;[ ! -f "$RUNFILE" ] &amp;amp;&amp;amp; exit 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;# Check if we've already run today&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if [ ! -f "$OUTPUTFILE" ]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;# Or if we're still running&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;NUMPROCS=`pgrep -f "$NAME " | wc -l`&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if [ $NUMPROCS -lt 1 ]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;THETIME=`date +%H%M%S` # Get a numerically comparable time.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if [ $THETIME -gt $RUNTIME ]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;echo -e "\nApparently $THETIME is greater than $RUNTIME so it's time to do our thang" &amp;gt;&amp;gt; $LOG&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;echo -e "------------------------" &amp;gt;&amp;gt; $LOG&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;echo -e "\n*** Starting process.***\nThe time : $THETIME" &amp;gt;&amp;gt; $LOG&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;echo -e "\nNumber of existing processes : $NUMPROCS" &amp;gt;&amp;gt; $LOG&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;echo -e "\nLet's GO!\n" &amp;gt;&amp;gt; $LOG&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;RUN_OUTPUT&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sleep 1m&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: large;"&gt;CHECKSTATUS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;You can just use something simple like check for the run file and the background process running on this&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;CHECKSTATUS () {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;if [ -f "$RUNFILE" ]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if [ `pgrep -f "mi_data_extract start" | wc -l` -gt 0 ]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;RUNNING="yes"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;unset $RUNNING&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;That's pretty much it. Check each operation of the init script with echoing out the return code from every state. e.g.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res start ; echo $? # from stopped, should be 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res start ; echo $? # from started, should be 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res stop ; echo $? # from started, should be 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res stop ; echo $? # from stopped, should be 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res status ; echo $? # from started, should be 0&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/etc/init.d/your_res status ; echo $? # from stopped, should be 3&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Once this is done, you can just add it to the cluster as a primitive LSB resource, add a monitor on it and let the cluster take care of your script.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-5276178842551516799?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/5276178842551516799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2011/02/making-bash-scripts-ha-compatible.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/5276178842551516799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/5276178842551516799'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2011/02/making-bash-scripts-ha-compatible.html' title='Making BASH Scripts HA Compatible - Daemonising BASH'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-8038393316149101241</id><published>2010-03-11T12:07:00.003Z</published><updated>2010-03-11T13:23:21.615Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Time For Ubuntu to Fork Evolution</title><content type='html'>No one can deny the current face of Linux to the masses is Ubuntu. It’s massively more popular than any other distro which makes it the flagship for breaking existing market strangleholds.&lt;br /&gt;&lt;br /&gt;Take the Enterprise server OS market for instance, a traditionally strong area for Linux anyway, Canonical (the controlling company of Ubuntu) have rightly seen where they need to position themselves to gain the advantage with Server OS’s and have gone down the Cloud route with Ubuntu Enterprise Cloud. Also - beefing up the support options and the packaging to at least align themselves with the normal market leaders Suse and Red Hat helps to gain further server adoption by to using the momentum of all the other Ubuntu areas and user allegiances.&lt;br /&gt;&lt;br /&gt;The personal desktop / netbook area is the next to be tackled. Obviously Ubuntu has been trundling along as the best choice for the tiny personal Linux desktop market for a while but it has needed to really stand-out to do battle with Windows and the latest player (rising on the back of the i[Pod|Phone] wave) Mac OS. Again Canonical have pulled the rabbit out of the hat and pointed Ubuntu desktop in exactly the right direction – Social Networking. With Ubuntu Lucid having fully integrated Social Networking and chat they’ve shown they know how people actually use their computers. 9 times out of 10 someone is turning their computer on to participate in Facebook or make Tweets on Twitter, or for the Old-Skoolers chat on MSN. To make the desktop OS actually part of this is exactly the best way to position it and ensures it’s already ahead of the opposition when they realise they need to do the same thing.&lt;br /&gt;&lt;br /&gt;Finally, there’s an area that Ubuntu is very weak on and it’s where efforts need to be concentrated next - The Enterprise Desktop.&lt;br /&gt;Novell have previously tried to leverage that market but did it all wrong. They didn’t understand that there is just one killer feature (just as with integrated desktop social networking) that needs to be in there which is Exchange support. Outlook and to a lesser extent Office keeps Windows XP / 7 firmly planted on the Enterprise desktop purely because of its ability to work perfectly with Exchange. Businesses now (rightly or wrongly) revolve around shared mail, contacts, calendaring and scheduling, and Exchange shows no signs of being supplanted yet as the default choice for this functionaility.&lt;br /&gt;&lt;br /&gt;With all this in mind I present my recommendation for Ubuntu: Fork Evolution.&lt;br /&gt;&lt;br /&gt;Evolution has some good MAPI functionality but for every step forward, it takes 2 steps back. The functionality is very buggy but at the same time is almost there and some real concerted structured development would see it work very nicely and be a drop in replacement for Outlook.&lt;br /&gt;Also, Evolution needs all of this Social Networking goodness that is present in the me menu in Lucid to be integrated into Evolution too. One place for all messaging/contacts/calendaring with Social Networking in there too and we’re getting very close to a framework that supports the multitude of communication mediums we use today.&lt;br /&gt;&lt;br /&gt;So in my mind, Ubuntu and Canonical can move one major step forward by leveraging Evolution. Make it fit the new Ubuntu desktop ethos better and make it work properly with Exchange. Once you do that, world domination for FOSS will follow.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-8038393316149101241?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/8038393316149101241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2010/03/time-for-ubuntu-to-port-evolution.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/8038393316149101241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/8038393316149101241'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2010/03/time-for-ubuntu-to-port-evolution.html' title='Time For Ubuntu to Fork Evolution'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-7244306987878192794</id><published>2010-03-09T17:36:00.003Z</published><updated>2010-03-09T17:38:19.947Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='service delivery'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='hosting'/><title type='text'>The Future of Web Services / The Plight of the Infrastructure Techie</title><content type='html'>The landscape for Internet Infrastructure is changing, and it may be quite scary for techies..&lt;br /&gt;&lt;br /&gt;Currently, we have quite a supply-chain in web service hosting. We do everything ourselves and that means lots of skill-sets in various places such as:&lt;br /&gt;&lt;br /&gt;Linux/Windows SysAdmin&lt;br /&gt;Networking SysAdmin&lt;br /&gt;HA/Load-Balancing Specialists&lt;br /&gt;DBAs&lt;br /&gt;Developers&lt;br /&gt;Management&lt;br /&gt;&lt;br /&gt;Typically, management instruct developers to do something and this something needs to be consulted on from conception to delivery. The developer needs to make it in such a way that the DBA and SysAdmins are happy that it will scale and perform. If it’s business critical the HA people get involved and ensure development is geared around being resilient too. The whole thing creates an infrastructure ecosystem of staff because it’s all very DIY so lots of diverse skills are required.&lt;br /&gt;&lt;br /&gt;What happens when all of that is someone elses problem, without the disadvantage of outsourcing costs?&lt;br /&gt;&lt;br /&gt;Using Cloud Computing you can build web applications to be self-aware. All of the nasty stuff that you used to have to worry about is gone:&lt;br /&gt;&lt;br /&gt;Scaling – Amazon Elastic Compute lets you boot loads of instances of your pre-configured application OS images (read-only) manually or automatically. Because the booting of extra instances is web service controlled your app can decide if it needs more power or not.&lt;br /&gt;&lt;br /&gt;Load-balancing – Single IP endpoints now control this. No more multiple servers with non-ARPing interfaces and virtual IPs. Amazon Elastic Load Balancing distributes load depending on instance issues, load metrics etc. OR you can plug it into Amazon Cloudwatch which monitors certain metrics and load-balance depending on that.&lt;br /&gt;&lt;br /&gt;Hardware – It’s all virtual innit? It’s no longer our problem.&lt;br /&gt;&lt;br /&gt;Database Scaling and Capacity – Apps just abstract DB API’s these days anyway. All apps ever do is ask the connector to pull data out into an object or insert data in, or do stuff with the data that’s there. If all you ever see is an interface into a limitless space of data then all you have to worry about is what you do with the data. Amazon SimpleDB does this for you.&lt;br /&gt;&lt;br /&gt;Shared data storage – Amazon Elastic Block Storage behave like a SAN where you can have data sat on a filesystem to be accessed by apps on multiple instances. Again, any problems with this are someone else’s. All I care about is accessing my data.&lt;br /&gt;&lt;br /&gt;Data mining – If you have lots of data to interrogate you can use Amazon MapReduce to process it.&lt;br /&gt;&lt;br /&gt;There are lots of other ways you can use elastic cloud computing to remove a LOT of current infrastructure costs and concerns, eventually leading you to just have to worry about the application. Once you get to that stage you can just concentrate on making it work and doing it right. For a business, it’s a non-decision – or at least it should be. Without all the associated costs of infrastructure and infrastructure people a business can save obscene amounts of money and be a lot more efficient to boot. So why aren’t they?&lt;br /&gt;&lt;br /&gt;Well, businesses are just scared of anything new. Elastic computing has to continue to innovate and provide something all-in-one and pre-packaged that it makes a lot more sense (not just a bit more sense) to migrate. Also business don’t like the idea of their data being somewhere they can’t control. That mindset just has to change, and it will as more and more large enterprises get on the cloud application bandwagon and start using tools such as Google Calendar / Mail / Contacts for company business. SLA’s give some peace of mind to directors but not quite yet enough.&lt;br /&gt;&lt;br /&gt;But once the scales start tipping, the only people safe are developers.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-7244306987878192794?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/7244306987878192794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2010/03/future-of-web-services-plight-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/7244306987878192794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/7244306987878192794'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2010/03/future-of-web-services-plight-of.html' title='The Future of Web Services / The Plight of the Infrastructure Techie'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-4530927027565598355</id><published>2010-01-19T12:23:00.002Z</published><updated>2010-01-19T12:30:05.278Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cars'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Printing, And How It's Like Cars</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DKika2VA5Ys/S1WhyCdA7RI/AAAAAAAAI84/OA2ysu6g2IE/s1600-h/carprinter.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DKika2VA5Ys/S1WhyCdA7RI/AAAAAAAAI84/OA2ysu6g2IE/s200/carprinter.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Printers are like the car industry. Stay with me. I'll explain.&lt;br /&gt;&lt;br /&gt;Back in the day, printers were tough as old boots. They supported either Postscript or PCL. That was fine, there were 2 standards and most printers supported either.&lt;br /&gt;&lt;br /&gt;Then, along came Microsoft with WDM and the ability to use drivers to offload the printers processing into software. Suddenly people like Epson could build cheap mass-produced shit like the Stylus C20 USB printers etc. that didn't have a hope of supporting a standard like PCL or PS. 1-0 to Microsoft, as with their WDM drivers for modems, they played their market advantage to ensure that only people running Windows could use software printers (winprinters).&lt;br /&gt;&lt;br /&gt;HP were caught a little on the hop. They suddenly had to play catchup and started doing this winprinter rubbish too. They did, but at the expense of their quality and their reputation in the marketplace. Eventually HP came back around to supporting PCL and Postscript in almost all of their printers and now they're back on top.&lt;br /&gt;&lt;br /&gt;Compare to the car industry in the UK - Ford and Vauxhall have always been the mainstream cheap brands, they got good at shaving costs without compromising too much in reliability. Suddenly people like VAG, BMW etc. had to lower prices to compete but they weren't used to doing things on the cheap so the stuff they produced was often poor quality in the late 90's / early 2000's and the Ford and Vauxhall stuff was actually more reliable. It's only today that the higher marques have been able to compete on price and also quality with the cheaper stuff.&lt;br /&gt;&lt;br /&gt;'til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-4530927027565598355?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/4530927027565598355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2010/01/printing-and-how-its-like-cars.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/4530927027565598355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/4530927027565598355'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2010/01/printing-and-how-its-like-cars.html' title='Printing, And How It&apos;s Like Cars'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DKika2VA5Ys/S1WhyCdA7RI/AAAAAAAAI84/OA2ysu6g2IE/s72-c/carprinter.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-8331883950967605725</id><published>2009-12-23T16:36:00.001Z</published><updated>2009-12-24T08:49:59.702Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>3d Compositing Using ATi HD 3400 R600 on Ubuntu</title><content type='html'>I've been using Kubuntu with KDE4 for quite a while now and I've gotten used to kwin compositing so much I'm a little lost without it.&lt;br /&gt;&lt;br /&gt;I gained a new Toshiba Satellite laptop with a dodgy implementation of an ATi R600 chip in there which is only currently supported by the open-source Radeon X driver for 2d. The binary fglrx driver doesn't work at all on this laptop so I'm stuck with the X driver.&lt;br /&gt;&lt;br /&gt;To get 3d working you currently need to live on the bleeding edge (until Lucid) and install the latest Ubuntu 2.6.32 kernel and add the xorg-edgers PPA.&lt;br /&gt;&lt;br /&gt;For the kernel go to http://kernel.ubuntu.com/~kernel-ppa/mainline/ and download the latest 2.6.32 kernel, source and headers for your architecture. Install them using &lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;dpkg - i *2.6.32*deb&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Then add the xorg-edgers PPA by putting &lt;/span&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ppa:xorg-edgers/ppa&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;in your Software Sources. Reload and Do all updates. Reboot and you should have composite X. Ensure everything to do with fglrx has been removed though.&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-8331883950967605725?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/8331883950967605725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/12/3d-compositing-using-ati-hd-3400-r600.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/8331883950967605725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/8331883950967605725'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/12/3d-compositing-using-ati-hd-3400-r600.html' title='3d Compositing Using ATi HD 3400 R600 on Ubuntu'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-351184931910089461</id><published>2009-12-23T13:49:00.001Z</published><updated>2009-12-23T14:58:52.028Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Apple are scared of Linux</title><content type='html'>It's the only explanation I can think of when trying to work out why, after many years of Linux gaining ordinary user popularity, Apple continue to refuse to allow Linux users to use iPods.&lt;br /&gt;&lt;br /&gt;I'm a Linux user. I can't afford a Mac (and TBH don't really see the need, it's Linux with all the disadvantages but none of the advantages) and I don't want Windows. I use Kubuntu on my work laptop, Kubuntu on my home desktop and Ubuntu on my old home laptop. If I got given an iPod, or I had an iPhone I couldn't register it. Sure I could take it somewhere with a Windows PC and plug it in to register it but that's not the easiest task for me these days. I don't really have access to any Windows PCs where I can use the Internet and plug random things into them.&lt;br /&gt;&lt;br /&gt;After that how do I sync my music? You have to use iTunes and there's no Linux version, even though Mac OS X is based on Unix and Apple obviously had to spend a lot of time and money on making a Windows version. Surely it wouldn't be that difficult to make a Linux version of iTunes?&lt;br /&gt;&lt;br /&gt;The answer to all this is simple - Apple see Linux and probably more specifically Ubuntu as a direct competitor to the traction Mac OS X is getting against Windows. Windows is dropping market share and currently Apple is using all the marketing it can to ensure it picks up the slack. With Ubuntu available for free on standard PC hardware and with arguably more power Apple should be worried. But while Apple continue to take this stance against Linux I'm afraid I can't use any of their products. They exclude me. Android doesn't...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-351184931910089461?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/351184931910089461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/12/apple-are-scared-of-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/351184931910089461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/351184931910089461'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/12/apple-are-scared-of-linux.html' title='Apple are scared of Linux'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-5098844549585306205</id><published>2009-12-04T08:56:00.001Z</published><updated>2009-12-04T09:05:17.245Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>I'm KDE 4, and Windows 7 Was My Idea...</title><content type='html'>27 October 2007, KDE 4.0 is released:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DKika2VA5Ys/SxjOeGf_ySI/AAAAAAAAI3k/M_3P7qS3fNg/s1600-h/kde4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DKika2VA5Ys/SxjOeGf_ySI/AAAAAAAAI3k/M_3P7qS3fNg/s400/kde4.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;22 October 2009, Windows 7 is released:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DKika2VA5Ys/SxjOnwlEEMI/AAAAAAAAI3s/iefTf3FqACs/s1600-h/win7.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DKika2VA5Ys/SxjOnwlEEMI/AAAAAAAAI3s/iefTf3FqACs/s400/win7.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft: Innovation in action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-5098844549585306205?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/5098844549585306205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/12/im-kde-4-and-windows-7-was-my-idea.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/5098844549585306205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/5098844549585306205'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/12/im-kde-4-and-windows-7-was-my-idea.html' title='I&apos;m KDE 4, and Windows 7 Was My Idea...'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DKika2VA5Ys/SxjOeGf_ySI/AAAAAAAAI3k/M_3P7qS3fNg/s72-c/kde4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-1938503547241055621</id><published>2009-11-16T17:12:00.001Z</published><updated>2009-12-04T09:04:22.192Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='service delivery'/><title type='text'>The Only Service Providers Metric That Matters: M.P.F.U.</title><content type='html'>When thinking about live migrations, changing stuff around that could affect anyone who uses your services etc. there is only one term you need to be the aware of - the MPFU, or the Mean Potential for Fuck Up.&lt;br /&gt;&lt;br /&gt;It's a way of measuring your safe level of risk. The more higher risk procedures you undertake, the higher the MPFU goes. Then to lower it you need to partake in lower risk procedures.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-1938503547241055621?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/1938503547241055621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/11/only-service-providers-metric-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/1938503547241055621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/1938503547241055621'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/11/only-service-providers-metric-that.html' title='The Only Service Providers Metric That Matters: M.P.F.U.'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-2071396082756345124</id><published>2009-11-14T22:29:00.002Z</published><updated>2009-12-04T09:19:28.469Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pacemaker'/><category scheme='http://www.blogger.com/atom/ns#' term='linux-ha'/><title type='text'>Linux HA Pt 2: Explained and Examples</title><content type='html'>It's probably right that at this time we look at a little bit of history of Linux-HA. Development of Linux-HA had been going along well based around the &lt;a href="http://www.linux-ha.org/"&gt;old Linux-HA web site&lt;/a&gt;&amp;nbsp;primarily focussed on a package called heartbeat. Heartbeat was responsible for ensuring a cluster of servers (referred to from here as nodes) had quorum. It would then operate services such as Apache, MySQL etc. depending on the state of the cluster. The old format of the configuration for making something like Apache highly-available would be like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;/etc/ha.d/ha.cf:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;node ha1 ha2 # Refers to the hosts required to be in the cluster&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;bcast eth0 # The type of network communication chosen&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;/etc/ha.d/haresources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;ha1 192.168.1.100 httpd # ha1 is the preferred node, using a virtual (floating) IP address of 192.168.1.100 and control the httpd service.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This is where we must introduce the concept of OCF scripts. These are enhanced startup scripts much like standard Linux init scripts. They are used to start, stop and give status of a resource (cluster term for a service). Heartbeat would try to use OCF scripts first and if it couldn't find them it would try to use the init script of the specified name.&lt;br /&gt;&lt;br /&gt;These were the bad old days, it was all rather limited but it did what it said. Now we have Pacemaker.&lt;br /&gt;&lt;br /&gt;Fast forward to now and Heartbeat has been pushed aside by OpenAIS and Pacemaker. 2 separate pieces of software work together to give you a cluster with lots more features than before. OpenAIS does the low-level cluster messaging layer and provides Pacemaker with information on the state of the cluster. Pacemaker is a replacement for the later Cluster Resource Manager of Heartbeat and does everything else required - start and stop resources, decide on policy and make decisions of where and how to run resources, fence off misbehaving nodes etc.&lt;br /&gt;&lt;br /&gt;The configuration format of Pacemaker has evolved to the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;# crm configure show&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;node ha1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;node ha2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;primitive MySQL ocf:heartbeat:mysql \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;params user="root" binary="/usr/bin/mysqld_safe" pid="/var/run/mysqld/mysqld.pid" socket="/var/run/mysqld/mysqld.sock" \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;op monitor interval="1m" timeout="20s" \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;primitive Virtual-IP ocf:heartbeat:IPaddr2 \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;params ip="192.168.1.100" broadcast="192.168.1.255" cidr_netmask="24" \&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;op monitor interval="1m" timeout="10s" \&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;The node entries at the top aren't really required. They are dynamically set by the cluster from what OpenAIS will tell it. The primitive MySQL refers to a standard resource called MySQL (arbitrary name), then it's of type OCF (another valid entry here is LSB, which refers to a standard init script), provided by heartbeat (most of the OCF resource agents are originally taken from Heartbeat) and it's called mysql. You can see how this relates to the filesystem like so:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;root@ha1:~# ls /usr/lib64/ocf/resource.d/heartbeat/mysql*&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;/usr/lib64/ocf/resource.d/heartbeat/mysql &amp;nbsp;/usr/lib64/ocf/resource.d/heartbeat/mysql-proxy&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;So in the OCF RA's provided by Heartbeat related to MySQL we have mysql and mysql-proxy.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;Next we have another primitive resource named Virtual-IP. This is another OCF RA provided by Heartbeat named IPaddr2. IPaddr2 will add and remove IP addresses and move them around the cluster as you specify. It's just a shell script that does quite a lot. Have a look at how it works if you feel so inclined:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;root@ha1:~# vi /usr/lib64/ocf/resource.d/heartbeat/IPaddr2&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New',Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;The parameters we pass to it are fairly easy to understand. The next line which is op monitor is telling the cluster to add a monitor operation which asks the resource agent every 1 minute if the IP address is functioning correctly and will wait 10 seconds before giving up and flagging a failure.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With the features Pacemaker now provides it's very easy to set up clusters with many nodes limited only by your imagination. By default a resource can run on any node but only on 1 node. We can tell the cluster to run the resource anywhere and then take advantage of Linux Virtual Server load-balancing. I'll post how to do that next time.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-2071396082756345124?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/2071396082756345124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/11/linux-ha-pt-2-explained-and-examples.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2071396082756345124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/2071396082756345124'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/11/linux-ha-pt-2-explained-and-examples.html' title='Linux HA Pt 2: Explained and Examples'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6596419263794831936.post-9179046848310974152</id><published>2009-11-13T14:21:00.002Z</published><updated>2009-12-04T09:19:40.533Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pacemaker'/><category scheme='http://www.blogger.com/atom/ns#' term='linux-ha'/><title type='text'>Linux HA: About to Explode?</title><content type='html'>HA or High-Availability is a term used to refer to making your services more available than they currently are. If you have a web site on a server you can reasonably expect 99% uptime, making it highly available means upgrading that uptime from 99% to 99.9%. Linux-HA is now easier than ever to implement, I'll describe how and why here.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Every business that depends on their applications will either be running some form of HA or be waiting for the poo to hit the fan. This is a given, people expect reliability these days and any computer system downtime - whether it be a database, a web site, an intranet etc. - is bad news. Many technology providers have their own form of HA and this can take many forms including boxes that sit in front of servers, application level HA or network level HA.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;Microsoft provide a form of HA in their .net/SQL stack but push it to the application to provide the failover capabilities. This is done by putting a 'Failover partner' in the web.config of a .net web site connecting to SQL server then setting SQL server to do database mirroring. While this is fine in the closed-loop of Microsoft development, it doesn't allow any freedom to pick and choose your stack, and it's also relying on the application being still there so you will still need a method of making your front end web site more available. To use differing vendors and technologies in your application you need to push the High-Availability to the network level and not the application level, something that you can't do easily with Microsoft technologies.&lt;br /&gt;&lt;br /&gt;Linux therefore has a decent advantage over Microsoft in this particular segment. Added to the advantages that the traditional (but now loosely termed) LAMP stack gives you it can be a very cheap, efficient solution to use HA technologies with Linux. The only issue up until now has been that it's been very difficult to pick up and learn, documentation was confusing and required a good understanding of what you were looking at. That's all changed very recently with the advent of Pacemaker and the excellent &lt;a href="http://www.clusterlabs.org/"&gt;clusterlabs&lt;/a&gt; web site. It still subscribes to the Linux nuts n bolts DIY route but now it's a whole lot easier and you have good support while doing it.&lt;br /&gt;&lt;br /&gt;Next post I'll show how to do it, what you can do and show you where to go from here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6596419263794831936-9179046848310974152?l=wmdzone.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wmdzone.blogspot.com/feeds/9179046848310974152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wmdzone.blogspot.com/2009/11/linux-ha-about-to-explode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/9179046848310974152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6596419263794831936/posts/default/9179046848310974152'/><link rel='alternate' type='text/html' href='http://wmdzone.blogspot.com/2009/11/linux-ha-about-to-explode.html' title='Linux HA: About to Explode?'/><author><name>Derek</name><uri>http://www.blogger.com/profile/04232411879217119925</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
