mattdurrant.com Report : Visit Site


  • Server:Apache/2.4.33 (Unix)...
    X-Powered-By:PHP/5.3.28

    The main IP address: 79.170.40.247,Your server United Kingdom,Nottingham ISP:Heart Internet Network  TLD:com CountryCode:GB

    The description :skip to content photos wish list cv using vagrant and docker to automate local development environments a typical software project will have a team of developers, each running their own development en...

    This report updates in 06-Jul-2018

Created Date:2005-10-18
Changed Date:2015-11-08

Technical data of the mattdurrant.com


Geo IP provides you such as latitude, longitude and ISP (Internet Service Provider) etc. informations. Our GeoIP service found where is host mattdurrant.com. Currently, hosted in United Kingdom and its service provider is Heart Internet Network .

Latitude: 52.953601837158
Longitude: -1.1504700183868
Country: United Kingdom (GB)
City: Nottingham
Region: England
ISP: Heart Internet Network

the related websites

HTTP Header Analysis


HTTP Header information is a part of HTTP protocol that a user's browser sends to called Apache/2.4.33 (Unix) containing the details of what the browser wants and will accept back from the web server.

X-Powered-By:PHP/5.3.28
Transfer-Encoding:chunked
Server:Apache/2.4.33 (Unix)
Link:; rel="https://api.w.org/"
Date:Thu, 05 Jul 2018 17:12:00 GMT
Content-Type:text/html; charset=UTF-8

DNS

soa:ns.mainnameserver.com. hostmaster.mainnameserver.com. 2018032441 10800 600 2419200 3600
ns:ns.mainnameserver.com.
ns2.mainnameserver.com.
ipv4:IP:79.170.40.247
ASN:20738
OWNER:AS20738, GB
Country:GB
mx:MX preference = 10, mail exchanger = mail.mattdurrant.com.

HtmlToText

skip to content photos wish list cv using vagrant and docker to automate local development environments a typical software project will have a team of developers, each running their own development environment. then there will be several more boxes created for test, pre-production and production environments. unless they’re standardized, there’s a risk these environments can fall out-of-sync. if an over eager ops engineer installs the latest update for mysql, code that runs fine locally can suddenly start failing on production. the easiest way of ensuring the same software is on every environment is to use virtual machines. in my current project we use virtualbox to run the vm. it is configured with vagrant and docker . this gives the developer access to a long list of services, all exactly the same version which are run on our other environments. this includes: rabbitmq mariadb phpmyadmin statsd graphana …and many more. although i develop on windows, each of these services runs on the same ubunto linux distro we deploy to. each of the service is available from the host computer using port forwarding. to achieve this we have a simple vagrantfile checked into the root directory of our source code. the vagrantfile is simply a ruby file, with information about the type of box to create, and how to configure it. getting all the software up and running is as simple as opening a command prompt, navigating to a path within this directory and running: vagrant up so if a new developer joins the team, they can simply grab the latest source code and run “vagrant up”. this will spin up a new virtual machine, and upon completion each of the services is available on their typical ports. they’re ready to develop! there are plenty of primers out there for using vagrant, so we’ll focus in on how vagrant can use docker to easily install and configure the software – a process called provisioning. this is made possible using a vagrant plugin ( vagrant-docker-compose ) that let’s us provision using docker compose . the plugin could be installed manually by running the following from a command prompt: vagrant plugin install vagrant-docker-compose but to ensure each developer has the plugin installed, this can also be automated in the vagrantfile so it’ll be installed automatically the first time we try to “vagrant up”: unless vagrant.has_plugin?("vagrant-docker-compose") puts "requires vagrant plugin for docker-compose, installing..." system("vagrant plugin install vagrant-docker-compose") puts "docker-compose plugin installed, please run `vagrant up` again" exit end then within the vagrantfile, we will set the location of the docker-compose configuration file. in this case it’ll be set to “docker-compose.yml”. this file lives on the root directory alongside the vagrantfile: vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.provision :docker config.vm.provision :docker_compose, yml: "/vagrant/docker-compose.yml", run: "always" the docker-compose.yml file contains the list of all the software to be provisioned on the vm, along with the ports to make it available on. rabbitmq: image: rabbitmq:3.4.4-management container_name: rabbitmq ports: - "5672:5672" - "15672:15672" volumes: - /var/lib/rabbitmq:/var/lib/rabbitmq finally the vagrantfile forwards the ports from the host machine to the vm, to make the services available: config.vm.network "forwarded_port", guest: 5672, host: 5672 # rabbit mq config.vm.network "forwarded_port", guest: 15672, host: 15672 # rabbit mq (management console) config.vm.network "forwarded_port", guest: 3306, host: 3306 # maria db config.vm.network "forwarded_port", guest: 13306, host: 13306 # phpmyadmin in general | 627 words | comment branch by abstraction branch by abstraction: a pattern for making large-scale changes to your application incrementally on mainline. i was asked to do a small talk about a refactoring process called “branch by abstraction” at work. not knowing anything about this technique or how it related to the work i’m currently doing, i created the following notes. some of the description and the images are taken from the martin fowler explanation available here and the “remix” of that article available here what problem are we trying to solve with this technique? the scenario is that we want to undertake a large-scale refactoring on a piece of software. however, we still want to push out regular releases during the refactoring periods, so we can’t break the software whilst the refactoring is under way. at any point we want to be able to push out an new update with everything working. one solution might be to use feature branching. in this case we’d create a new branch for the refactoring, and upon completion we’d merge the code back into the trunk. this might be a viable solution, or we might decide that we don’t want to keep changes on a long-running branch, or that the merging will be significantly painful and that we’re prefer to take an approach that avoided it. this might well be the decision if the refactoring is significantly large that it takes weeks or months to complete the change. the arguments for and against branching are too big and painful to get into here. an alternative is to use “branch by abstraction”. the name is slightly misleading as no branching is involved. instead this technique describes an alternative to branching where all development work continues to be done on the trunk, which is kept in a stable state throughout. changes are instead performed by introducing abstraction. what does this mean? imagine this is the initial state of the system. we have several “clients” make use of the flawed “supplier” code: the first thing we’d do is to create an abstraction layer around the code we want to refactor. this might be a simple interface which calls into the flawed suppler code. the clients are then migrated over to use the new abstraction layer. for the sake of a simple example, imagine it is trivial to move all the refactored code behind the abstraction layer: at the point where nothing is reliant on it, the initial flawed supplier code can be deleted, along with the abstraction layer which has now fulfilled it’s purpose. so the underlying idea is to create a single abstraction of the supplier, and then to create multiple implementations of that abstraction which can exist side-by-side. we can then migrate from the old implementation to the new implementation at our own speed, until it has been replaced completely. step-by-step, the process would be ( copied directly from this article ): create an abstraction over the part of the system that you need to change. refactor the rest of the system to use the abstraction layer. create new classes in your new implementation, and have your abstraction layer delegate to the old or the new classes as required. remove the old implementation. rinse and repeat the previous two steps, shipping your system in the meantime if desired. once the old implementation has been completely replaced, you can remove the abstraction layer if you like. code which is already follows decent solid principles, especially using dependency inversion and the interface segregation principles will be easier to refactor using these techniques, as the interface makes a natural place to introduce the abstraction layer. in practice it may be too big a step to move every client behind the abstraction layer in one go. there is nothing to stop us picking one client which only makes use of a small portion of the supplier and making the change there first. this diagram shows an example of a possible first step when refactoring a more complex case: although not mentioned in the martin fowler article, it’s possible to also use feature toggles to switch between the two implementations, or to slowly roll out the new supplier to individual accounts. what are the benefits of this approach? as mentioned, the goal is to keep the code deployable at any stage. the code “works” at

URL analysis for mattdurrant.com


http://www.mattdurrant.com/using-vagrant-and-docker-to-automate-local-development-environments/#respond
http://www.mattdurrant.com/redis-on-windows-azure/#respond
http://www.mattdurrant.com/understanding-database-indexes/#respond
http://www.mattdurrant.com/#content
http://www.mattdurrant.com/using-vagrant-and-docker-to-automate-local-development-environments/
http://www.mattdurrant.com/semantic-versioning-with-rake/
http://www.mattdurrant.com/branch-by-abstraction/
http://www.mattdurrant.com/rabbitmq-messages-in-integration-tests/
http://www.mattdurrant.com/redis-on-windows-azure/
http://www.mattdurrant.com/semantic-versioning-with-rake/#respond
http://www.mattdurrant.com/park-run-graph/#comments
http://www.mattdurrant.com/category/general/
http://www.mattdurrant.com/park-run-graph/
http://www.mattdurrant.com/page/2/
http://www.mattdurrant.com/branch-by-abstraction/#respond
parkrun.org.uk
amazon.co.uk

Whois Information


Whois is a protocol that is access to registering information. You can reach when the website was registered, when it will be expire, what is contact details of the site with the following informations. In a nutshell, it includes these informations;

Domain Name: MATTDURRANT.COM
Registry Domain ID: 234271696_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.enom.com
Registrar URL: http://www.enom.com
Updated Date: 2015-11-08T15:05:46Z
Creation Date: 2005-10-18T16:04:11Z
Registry Expiry Date: 2017-10-18T16:04:11Z
Registrar: eNom, Inc.
Registrar IANA ID: 48
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS1.MAINNAMESERVER.COM
Name Server: NS2.MAINNAMESERVER.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2017-08-21T23:22:26Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.

  REGISTRAR eNom, Inc.

SERVERS

  SERVER com.whois-servers.net

  ARGS domain =mattdurrant.com

  PORT 43

  TYPE domain

DOMAIN

  NAME mattdurrant.com

  CHANGED 2015-11-08

  CREATED 2005-10-18

STATUS
clientTransferProhibited https://icann.org/epp#clientTransferProhibited

NSERVER

  NS1.MAINNAMESERVER.COM 79.170.40.2

  NS2.MAINNAMESERVER.COM 79.170.43.3

  REGISTERED yes

Go to top

Mistakes


The following list shows you to spelling mistakes possible of the internet users for the website searched .

  • www.umattdurrant.com
  • www.7mattdurrant.com
  • www.hmattdurrant.com
  • www.kmattdurrant.com
  • www.jmattdurrant.com
  • www.imattdurrant.com
  • www.8mattdurrant.com
  • www.ymattdurrant.com
  • www.mattdurrantebc.com
  • www.mattdurrantebc.com
  • www.mattdurrant3bc.com
  • www.mattdurrantwbc.com
  • www.mattdurrantsbc.com
  • www.mattdurrant#bc.com
  • www.mattdurrantdbc.com
  • www.mattdurrantfbc.com
  • www.mattdurrant&bc.com
  • www.mattdurrantrbc.com
  • www.urlw4ebc.com
  • www.mattdurrant4bc.com
  • www.mattdurrantc.com
  • www.mattdurrantbc.com
  • www.mattdurrantvc.com
  • www.mattdurrantvbc.com
  • www.mattdurrantvc.com
  • www.mattdurrant c.com
  • www.mattdurrant bc.com
  • www.mattdurrant c.com
  • www.mattdurrantgc.com
  • www.mattdurrantgbc.com
  • www.mattdurrantgc.com
  • www.mattdurrantjc.com
  • www.mattdurrantjbc.com
  • www.mattdurrantjc.com
  • www.mattdurrantnc.com
  • www.mattdurrantnbc.com
  • www.mattdurrantnc.com
  • www.mattdurranthc.com
  • www.mattdurranthbc.com
  • www.mattdurranthc.com
  • www.mattdurrant.com
  • www.mattdurrantc.com
  • www.mattdurrantx.com
  • www.mattdurrantxc.com
  • www.mattdurrantx.com
  • www.mattdurrantf.com
  • www.mattdurrantfc.com
  • www.mattdurrantf.com
  • www.mattdurrantv.com
  • www.mattdurrantvc.com
  • www.mattdurrantv.com
  • www.mattdurrantd.com
  • www.mattdurrantdc.com
  • www.mattdurrantd.com
  • www.mattdurrantcb.com
  • www.mattdurrantcom
  • www.mattdurrant..com
  • www.mattdurrant/com
  • www.mattdurrant/.com
  • www.mattdurrant./com
  • www.mattdurrantncom
  • www.mattdurrantn.com
  • www.mattdurrant.ncom
  • www.mattdurrant;com
  • www.mattdurrant;.com
  • www.mattdurrant.;com
  • www.mattdurrantlcom
  • www.mattdurrantl.com
  • www.mattdurrant.lcom
  • www.mattdurrant com
  • www.mattdurrant .com
  • www.mattdurrant. com
  • www.mattdurrant,com
  • www.mattdurrant,.com
  • www.mattdurrant.,com
  • www.mattdurrantmcom
  • www.mattdurrantm.com
  • www.mattdurrant.mcom
  • www.mattdurrant.ccom
  • www.mattdurrant.om
  • www.mattdurrant.ccom
  • www.mattdurrant.xom
  • www.mattdurrant.xcom
  • www.mattdurrant.cxom
  • www.mattdurrant.fom
  • www.mattdurrant.fcom
  • www.mattdurrant.cfom
  • www.mattdurrant.vom
  • www.mattdurrant.vcom
  • www.mattdurrant.cvom
  • www.mattdurrant.dom
  • www.mattdurrant.dcom
  • www.mattdurrant.cdom
  • www.mattdurrantc.om
  • www.mattdurrant.cm
  • www.mattdurrant.coom
  • www.mattdurrant.cpm
  • www.mattdurrant.cpom
  • www.mattdurrant.copm
  • www.mattdurrant.cim
  • www.mattdurrant.ciom
  • www.mattdurrant.coim
  • www.mattdurrant.ckm
  • www.mattdurrant.ckom
  • www.mattdurrant.cokm
  • www.mattdurrant.clm
  • www.mattdurrant.clom
  • www.mattdurrant.colm
  • www.mattdurrant.c0m
  • www.mattdurrant.c0om
  • www.mattdurrant.co0m
  • www.mattdurrant.c:m
  • www.mattdurrant.c:om
  • www.mattdurrant.co:m
  • www.mattdurrant.c9m
  • www.mattdurrant.c9om
  • www.mattdurrant.co9m
  • www.mattdurrant.ocm
  • www.mattdurrant.co
  • mattdurrant.comm
  • www.mattdurrant.con
  • www.mattdurrant.conm
  • mattdurrant.comn
  • www.mattdurrant.col
  • www.mattdurrant.colm
  • mattdurrant.coml
  • www.mattdurrant.co
  • www.mattdurrant.co m
  • mattdurrant.com
  • www.mattdurrant.cok
  • www.mattdurrant.cokm
  • mattdurrant.comk
  • www.mattdurrant.co,
  • www.mattdurrant.co,m
  • mattdurrant.com,
  • www.mattdurrant.coj
  • www.mattdurrant.cojm
  • mattdurrant.comj
  • www.mattdurrant.cmo
Show All Mistakes Hide All Mistakes