var redirects = new Object;
redirects['rss.xml'] = '/feed/';
redirects['node/2']  = '/simple-remoting-with-spring/';
redirects['node/3']  = '/database-access-with-hibernate-and-spring/';
redirects['node/4']  = '/custom-annotation-configuration-for-spring-remoting/';
redirects['node/8']  = '/extending-springs-jdbctestutilstests/';
redirects['node/9']  = '/self-validaing-domain-objects/';
redirects['node/10'] = '/custom-annotation-configuration-for-spring-remoting-part-two/';
redirects['node/11'] = '/self-validaing-domain-objects-part-two/';
redirects['node/12'] = '/exploring-springs-autowired-annotation/';
redirects['node/13'] = '/extending-stopwatchs-mathiness/';
redirects['node/14'] = '/dependency-injection-hold-the-mayo/';
redirects['node/15'] = '/a-simple-embedded-jetty-server/';
redirects['node/16'] = '/barebones-spring-mvc/core/';
redirects['node/17'] = '/hello-guice/';
redirects['node/18'] = '/guice-with-a-spring-twist/';
redirects['node/19'] = '/comparing-guice-with-spring-javaconfig/';
redirects['node/20'] = '/method-logging-with-spring-aop/';
redirects['node/21'] = '/jsr-330-compliance-with-spring/';
redirects['node/22'] = '/wrangling-the-class-path-with-download-extensions/';
redirects['node/24'] = '/krypto/';
redirects['node/25'] = '/a-contract-first-web-service-with-spring-ws/';
redirects['node/26'] = '/securing-communications-with-ssh-tunneling/';
redirects['node/27'] = '/a-secure-restful-web-service/';
redirects['node/28'] = '/secure-coding-at-starbucks-with-ssh/';
redirects['node/29'] = '/data-at-rest-encryption-with-jasypt-and-hibernate/';
redirects['node/30'] = '/a-self-contained-runnable-web-application/';
redirects['node/31'] = '/testing-web-applications-with-jetty/';
redirects['node/32'] = '/file-encryption-and-decryption-with-openssl/';
redirects['node/33'] = '/declaring-a-ceasefire-between-eclipse-and-gtk/';
redirects['node/36'] = '/simple-performance-testing-with-spring/';
redirects['node/37'] = '/jcode/';
redirects['node/39'] = '/barebones-spring-mvc/annotation-configuration/';
redirects['node/40'] = '/barebones-spring-mvc/form-validation/';
redirects['node/41'] = '/barebones-spring-mvc/rich-client-validation/';
redirects['node/42'] = '/barebones-spring-mvc/security/';
redirects['node/46'] = '/barebones-spring-mvc/';
redirects['node/48'] = '/barebones-spring-mvc/database-integration/';
redirects['node/50'] = '/barebones-spring-mvc/restful-web-services/';
redirects['node/51'] = '/barebones-spring-mvc/externalization-and-internationalization/';
redirects['node/53'] = '/barebones-spring-mvc/';
redirects['node/54'] = '/scoped-bean-dependencies/';
redirects['node/56'] = '/tail-recursion-in-scala/';
redirects['node/57'] = '/estimating-pi-with-akka/';
redirects['node/58'] = '/remote-actor-class-loading-with-akka/';
redirects['node/59'] = '/web-based-akka-management-and-monitoring/';
redirects['node/60'] = '/screen-resolution-comparator/';
redirects['node/61'] = '/mimicking-twitter-using-an-akka-based-event-driven-architecture/';
redirects['node/62'] = '/tracking-laptop-battery-degradation/';
redirects['node/63'] = '/actor-based-continuations-with-akka-and-swarm/';
redirects['node/64'] = '/consuming-the-twitter-api-in-scala-with-scribe/';
redirects['node/65'] = '/asynchronous-console-io-with-scala-continuations/';
redirects['node/66'] = '/monadic-continuations-in-scala/';
redirects['node/70'] = '/why-mocks-matter/';
redirects['node/71'] = '/scoped-dependencies-in-single-jar-sbt-projects/';
redirects['node/72'] = '/the-builder-pattern-in-scala/';
redirects['node/73'] = '/swarm/';
redirects['node/74'] = '/asynchronous-network-io-with-scala-continuations/';

for (var key in redirects) {
  if (window.location.pathname == '/'  + key ||
      window.location.search == '?q=/' + key ||
      window.location.search == '?q='  + key) {
    window.location = 'http://earldouglas.com' + redirects[key];
  }
}

var regex = /\/barebones-spring-mvc-part-.-.*/
if (regex.test(window.location.pathname)) {
  var section = window.location.pathname.substr(29);
  window.location = 'http://earldouglas.com/barebones-spring-mvc/' + section;
}


