Paul Rayner

Founder and Owner at Virtual Genius

Paul is a seasoned design coach and leadership mentor, helping teams ignite their design skills via DDD and BDD. He gets teams unstuck through intensive coaching workshops and hands-on pair programming, combined with focused one-on-one leadership mentoring. His company Virtual Genius is a software solutions provider, specializing in custom Ruby applications. Paul actively serves the community: co-authoring the upcoming Addison Wesley book, BDD with Cucumber, teaching classes in BDD and DDD, contributing to OSS, and co-leading the DDD Denver Meetup group.

Look for him speaking at user groups, on the No Fluff Just Stuff conference tour in the United States, and at local and international conferences. Paul is from Perth, Australia, but chooses to live, work and play with his amazing wife and two children in Denver. He tweets with an Australian accent at @ThePaulRayner and blogs at thepaulrayner.com



Blog

Succeeding with DDD - Documentation

Posted Tuesday, May 7, 2013

I’m often asked about what teams doing Domain-Driven Design (DDD) should do in the way of documentation.The question What types of Written Design Documents are used in DDD projects?) came up on Stack Overflow and I started to write a response, butmore »

Agile User stories and Domain-Driven Design (DDD)

Posted Friday, February 15, 2013

On Monday night at our DDD Denver meetup we ended up having a valuable and lively group discussion using a modified “Lean Coffee” format. The four questions we covered (in order) were: Where to start in developing a domain model? What is tmore »

Word Document to Asciidoc Conversion

Posted Thursday, February 14, 2013

I had content in Word documents that I needed to convert to Asciidoc for our book. Here are the steps I found to work best: Save Word doc as HTML Encode as UTF-8 Use pandoc to convert from HTML to AsciiDoc Use Sublime Text 2 search and replace (using more »

Colors when viewing folders in Terminal

Posted Thursday, February 7, 2013

Saw directory listing coloring at Golden Ruby Users Group this week, and needed to have it! LsColors LS_COLORS='di=1:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90' export LS_COLORS ls, colors and Terminamore »

Array Slicing in Ruby

Posted Thursday, February 7, 2013

I’ve found the Ruby Koans to be brilliant for exposing a learner to aspects of the language that are not obvious, or even weird, at first glance. Indexing Ruby Arrays For example, let’s look at a koan for accessing array elements: def tesmore »

Object Ids in Ruby

Posted Wednesday, February 6, 2013

In my effort to master Ruby this year, I started this morning working through Ruby Koans. I just completed these tests and was intrigued by the comment in the second koan: def test_some_system_objects_always_have_the_same_id assert_equal 0, false.objmore »

Blogging with Octopress and Github Pages

Posted Monday, February 4, 2013

Why Octopress? Here are 4 good reasons from AlBlue’s blog to consider using Octopress for a technical blog: Jekyll-based Markdown content Stylish Plugins See also Octopress Is Pretty Great, which has a great description of not only the positmore »

Book Review: Implementing Domain-Driven Design

Posted Friday, February 1, 2013

This is a review of the book Implementing Domain-Driven Design by Vaughn Vernon, based on the Safari Books Online rough cut edition. The book is also currently available for preorder on Amazon.com, with a scheduled release date of February 14, 201more »

Duplicate Entries using 'Open With' on OS X

Posted Wednesday, January 2, 2013

I noticed today on my MBP running Mountain Lion that using “Open With” (control+click on a file in Finder) showed duplicate entries for the file. I’m unsure as to what I did that caused this problem to happen, though a recent thread omore »
Read More Blog Entries »

Presentations

BDD with Cucumber Workshop (Bring A Laptop)

Behavior-Driven Development (BDD) employs the approach of specification by example. Cucumber is such an amazing BDD tool because it’s so good at mapping stories and acceptance criteria to automated functional tests. This is a hands-on workshop using Cucummore »

Introduction to Lean-Agile Software Development

Successful software development is about building the right product at the right time for your customers. This means focusing attention on the right places in the portfolio of projects and products that your company provides, and optimizing the entire valmore »

Using DDD Patterns for Supple Design

Come on a guided tour of how applying Domain-Driven Design (DDD) building block patterns can make your code cleaner, more expressive, and more amenable to change. We cover examples of DDD patterns such as entities, value objects, closure of operations anmore »

Strategic Design Using DDD

Not every part of a software system will be well-designed. How do you know where to put the time and effort to refine the design, or refactor existing code? Learn how strategic Domain-Driven Design (DDD) patterns can show you how to know which parts of yomore »

Measure for Measure – Lean Principles for Effective Metrics and Motivation

This presentation explores the nature of motivation and the place of metrics and measurement in software development, and how lean software development principles and practices shed light on motivation and metrics and how they can be used to support deep more »

Domain Modeling Using Domain-Driven Design (DDD)

This presentation seeks to provide a solid introduction to the fundamentals of DDD. Learn why modeling a complex business domain in software is so advantageous to your business and ways in which your team can go about delivering software models to give yomore »

Aggregate-Oriented Modeling with DDD and NoSQL

Many of the problems encountered in scaling, parallelizing and distributing systems that tend to be addressed in ad-hoc ways are actually deeply connected with the manner in which the business domain has been modeled. Domain-Driven Design (DDD) has rich mmore »

BDD with Cucumber

Cucumber enables a team to collaboratively create specific examples that specify what the system should do from the user's perspective. Product Owners, developers and testers collaborate together to write acceptance criteria in natural language and unobtrmore »

Leading Software Teams

Learn what it takes to move beyond mere management to inspiring leadership. Many never receive any leadership training before being thrust into a leadership role. This presentation gives you a set of frameworks and thinking tools to help you understand vamore »

Paul's NFJS Schedule

Denver, CO
Jul 16 - 19, 2013