Blog

Endpoint Discovery using Microsoft LogParser

A few years ago, I was working on a project for a UK client who needed to replace or rewrite a legacy inventory management  web application written in classic ASP. The problem: no documentation, and complicated, spaghetti source code with many apparently duplicate or redundant ASP files and ASMX web service endpoints.

Finger pointing by bhollar (Flickr)

Which ASP pages were actually in use? We had to find a way to limit our application migration efforts to  only those pages which were used by the application. A colleague at the time introduced me to what must be one of the best-kept secrets in the Windows developer world: Microsoft Log Parser.

Continue reading Endpoint Discovery using Microsoft LogParser

Fault tolerance, anomaly detection, and anticipation patterns by Jon Allspaw at QConLondon 2012

Jon Allspaw (@allspaw) from Etsy talked about the role that Anomaly Detection, Fault Tolerance and Anticipation play in producing highly scalable software systems (Fault tolerance, anomaly detection, and anticipation patterns, slides [PDF, 5MB]).

As head of technical operations at Etsy, whose web traffic is pretty substantial, Jon focused on resilience in software systems: what it is, and how to achieve it.

QConLondon 2012 blog posts
See all QConLondon 2012 blog posts…

Continue reading Fault tolerance, anomaly detection, and anticipation patterns by Jon Allspaw at QConLondon 2012

Breaking the Monolith by Stefan Tilkov at QConLondon 2012

Stefan Tilkov (@stilkov) from innoQ gave an excellent talk on the importance of a “system-of-systems approach” to software architecture (Breaking the Monolith, slides [PDF, 1MB]). [Update: the video is now online here: http://www.infoq.com/presentations/Breaking-the-Monolith]

In essence, he argued for a distinction between micro-architecture (the design of the individual [sub]system) and macro architecture (the design of interacting systems).

QConLondon 2012 blog posts
See all QConLondon 2012 blog posts…

Continue reading Breaking the Monolith by Stefan Tilkov at QConLondon 2012

Talk: a Sitecore-based multilingual website (Arabic and English) for Virgin Mobile & Qtel – Dreamcore EU 2011

I presented at the Sitecore partner & developer conference DreamcoreEU in 2011; I spoke about implementing a Sitecore-based multilingual website (Arabic and English) for Virgin Mobile & Qtel [PDF].

DreamcoreEU 2011 logo

I gave a particular emphasis to multilingual concerns and planning for effective web operations:

DreamcoreEU-2012_Multilingual

DreamcoreEU-2012_Operations-4

DreamcoreEU-2011_SOM

(Terrible moiré effect due to stripy shirt – I now have a plain one 🙂 )

To quote from the DreamcoreEU 2011 site:

Going global is much more than just making a site multilingual. If your web properties span the globe, you need to know the best techniques for architecting your Sitecore solution to support a global presence. This session will feature an inside-look at how Virgin Mobile took their brand into to the Middle East. ). The session will cover:

  • Why Sitecore is a first-class WCMS for multi-lingual, left-to-right and right-to-left websites
  • Planning for and implementing right-to-left (RTL) languages in your Sitecore website
  • Using Sitecore’s content modeling to implement product information management (PIM) features
  • Getting your Sitecore content strategy right
  • Developing, deploying and testing multi-server Sitecore installations effectively

In particular, I spoke about how internet technology consultants Priocept had led the effort to roll out the entire system within six months and the challenges we overcame in order to do that, emphasising the need to deploy to Production as early as possible and test with real data, networks and configurations.

Five Interview Questions for Hiring DevOps Staff

Over the past seven or eight years I have developed a list of five key interview questions for recruiting staff to software development teams. These five questions have come to stand out as being highly indicative of the candidate’s aptitude for approaching software in [what is now called] a “DevOps” manner, namely, seeing software as the running, evolving system in the Production environment.

Continue reading Five Interview Questions for Hiring DevOps Staff