<html><head>
<meta content="text/html; charset=windows-1252" 
http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000">Completely agree with most
 of those points, Graham. Writing scenarios in isolation & skipping 
'discovery' is not a good idea....and removes the benefits of BDD. If 
writing scenarios isn't adding any value, and it's much easier to use 
other formats....of course that's a no-brainer.<br>
<br>
The one part I don't think I follow is why tests written with cucumber 
are necessarily difficult to refactor. As already mentioned, your 
cucumber tests can just be 99% pure ruby code much like tests you write 
with any other framework. Why do you not consider cucumber a 'proper' 
testing framework?<br>
<br>
I also (incidentally) agree that the 'As a...I want to..' format isn't 
the only way to write user stories. I've seen a lot of people go into 
robot mode and churn out stories in that format for the sake of it; a 
recommended read that touches on this is Gozko Adzic's book '50 quick 
ideas to improve your user stories' <a class="moz-txt-link-freetext" href="https://leanpub.com/50quickideas">https://leanpub.com/50quickideas</a><br>
<br>
Whatever the testing framework used, I'd definitely recommend going 
through the steps of capturing user stories/backlog items, refining 
through conversations and analysis, agreeing a specification 
collaboratively & testing against that specification. I think it's 
possible to use cucumber for that last step, RSpec, other frameworks, or
 to test manually. Like you say, many ways to skin a cat....<br>
<br>
<br>
Will<br>
<br>
<blockquote style="border: 0px none;" 
cite="mid:01DB4E70-A314-4764-8DA5-747B96D81794@effectif.com" type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="graham@effectif.com" photoname="Graham Ashton" 
src="cid:part1.06090100.02040904@theappbusiness.com" 
name="postbox-contact.jpg" height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:graham@effectif.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Graham Ashton</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">28 July 2014 
14:26</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div><!----><br>I saw Liz Keogh
 give a talk at at Nordevcon this year, entitled “10 years of Doing 
Behaviour-Driven Development All Wrong”.<br><br>She (along with Dan 
North) was one of the core developers of jBehave, which is where the 
ideas that lead to Gherkin and Cucumber first saw the light of day.<br><br>Liz
 told us that she and Dan both came (independently) to the same 
conclusion relatively recently: Writing scenarios is useful, but 
automating them is a big mistake.<br><br>That’s quite a statement.<br><br>The
 point of writing scenarios was to enable “discovery”. To drive 
conversations with stakeholders that would uncover what a product really
 ought to do, and to do it early before time is spent committing to your
 ideas in code.<br><br>With Cucumber, what they’ve observed in the wild 
is developers sitting down and writing Gherkin in relative isolation. By
 writing scenarios on their own, Liz has observed developers to be:<br><br>1.
 Skipping the discovery step, and writing scenarios that don’t reflect 
the actual requirements.<br><br>2. Committing to these mistakes early 
(code is a commitment).<br><br>3. Using a framework that makes it 
particularly difficult to refactor that code later (i.e. automating 
Gherkin is a bigger commitment to a bad plan than writing conventional 
tests would have been).<br><br>4. Confident (falsely) that they’re 
solving the right problem, because they’re using BDD.<br><br>In other 
words (these are direct quotes) “BDD is building software that matters” 
and “Gherkin is the worst thing to happen to BDD”.<br><br>My notes also 
contain the telling line “BDD gave people the illusion that you could 
specify everything with scenarios”.<br><br>In this talk Liz provided the
 first feasible explanation for something that has had me nonplussed for
 years: Why did so many bright people, for whom I have a lot of respect,
 continue to use and promote Cucumber, while I found it to be an utter 
waste of time (and therefore money)?<br><br>Maybe scenarios gave them 
confidence that they were solving the right problem, a feeling that 
they’d otherwise been missing?<br><br>I do my “discovery" long before I 
get near an editor. I sit down with stakeholders, sketch things on 
paper, ask lots of questions and do everything I can to find out where 
their expectations don’t tally with mine. Then I write story cards (not 
in the limiting “As a potato...” form - in proper English, like a grown 
up) that describe *why* we’re building what we’re building. I if I can’t
 explain the why, I haven’t asked enough questions.<br><br>If I were to 
sit down and write scenarios having had those conversations, they’d have
 nothing left to teach me. Scenarios and Cucumber consequently feel like
 dead weight *to me*.<br><br>If you don’t enjoy working the way I’ve 
just described I can imagine that writing scenarios could be a useful 
way to trigger discussions that would save a lot of time. Once you’ve 
had those discussions, there’s no reason to waste time using them as a 
basis for integration tests - I feel that job is better left to a proper
 testing framework.<br><br>The only solid conclusion I can draw from all
 these differing opinions is that there’s more than one way to skin a 
cat!<br><br><br></div></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="anthony.charles.green@gmail.com" photoname="Anthony 
Green" src="cid:part2.04090207.07000006@theappbusiness.com" 
name="compose-unknown-contact.jpg" height="25px" width="25px"></div>   <div
 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" 
href="mailto:anthony.charles.green@gmail.com" style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Anthony Green</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">28 July 2014 
10:27</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div>The moment you think of 
Cucumber as a programming tool rather than a mind hack you're deep into 
the weeds.<br><br>Cultural transference is analogue and copying is 
lossy. 'TDD/BDD: That's Not What We Meant' <br><br>Later arrivals have 
mainly tertiary sources.<br><br>Early adopters at the cultural core of 
BDD today push forward into new areas. Dan North with 'accelerated 
agile'  Liz Keogh and Chris Matts with 'Cynefin'.<br><br><br><br><br><br><br><br><br>_______________________________________________<br>Chat
 mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>Archives: 
<a class="moz-txt-link-freetext" href="http://lists.lrug.org/pipermail/chat-lrug.org">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>Manage your 
subscription: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/options.cgi/chat-lrug.org">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>List 
info: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br></div></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="tom@codon.com" photoname="Tom Stuart" 
src="cid:part3.05080004.05030404@theappbusiness.com" 
name="postbox-contact.jpg" height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:tom@codon.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Tom Stuart</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">28 July 2014 
09:30</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div><!----><br>To clarify, the
 `feature`/`scenario` syntax (actually just aliases for `describe`/`it`)
 is a feature of Capybara: 
<a class="moz-txt-link-freetext" href="https://github.com/jnicklas/capybara/blob/304e2fb/lib/capybara/rspec/features.rb#L11-L12">https://github.com/jnicklas/capybara/blob/304e2fb/lib/capybara/rspec/features.rb#L11-L12</a><br><br>What
 rspec-rails calls “feature specs” are vanilla RSpec example groups with
 standard Rails spec helpers and Capybara setup included. If you don’t 
want to use Capybara (or indeed Rails), there’s no reason to use feature
 specs (or indeed rspec-rails) at all.<br><br>If all you want is to be 
able to write `feature`/`scenario` instead of `describe`/`it`, just put 
`config.alias_example_group_to :feature` and `config.alias_example_to 
:scenario` in your spec_helper.<br><br>(Or use Cucumber! :D)<br><br>Cheers,<br>-Tom<br>_______________________________________________<br>Chat
 mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>Archives: 
<a class="moz-txt-link-freetext" href="http://lists.lrug.org/pipermail/chat-lrug.org">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>Manage your 
subscription: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/options.cgi/chat-lrug.org">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>List 
info: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br></div></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="william@theappbusiness.com" photoname="Will" 
src="cid:part4.04090904.05090502@theappbusiness.com" 
name="postbox-contact.jpg" height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:william@theappbusiness.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Will</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">26 July 2014 
15:51</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">
<meta http-equiv="Content-Type" content="text/html; 
charset=windows-1252">
I've had very similar 
conversations with quite a lot of Ruby developers on this topic. I agree
 with the sentiment that cucumber can work well, and I'd advocate the 
approaches suggested.<br>
<br>
But the majority of Ruby developers, I've either interviewed or worked 
with, much prefer RSpec. Of all the arguments against I've heard, these 
are the typical ones (some of these already mentioned on this thread):<br>
<br>
1). cucumber is slow<br>
<br>
99% of the time what they are referring to turns out to be the 
implementation of tests being slow not the framework itself<br>
<br>
2). cucumber is bloated<br>
<br>
probably a fair criticism. RSpec isn't compact either but there has been
 acknowledgement of this problem from cucumber contributors 
(<a moz-do-not-send="true" 
href="http://blog.mattwynne.net/2012/04/26/a-vision-for-cucumber-2-0/" 
class="moz-txt-link-freetext">http://blog.mattwynne.net/2012/04/26/a-vision-for-cucumber-2-0/</a>
 and 
<a moz-do-not-send="true" 
href="https://groups.google.com/forum/#%21msg/cukes/a6KmuoWiCJE/M_s7uIgNDW0J"
 class="moz-txt-link-freetext">https://groups.google.com/forum/#!msg/cukes/a6KmuoWiCJE/M_s7uIgNDW0J</a>).
 
It seems like something that is there to be addressed though & on 
the roadmap, although it will take some time.<br>
<br>
3). product owners never end up reading or contributing to cucumber 
tests, so why bother with gherkin<br>
<br>
even if this is the case, there's value in clearly specifying the key 
features of any application using domain language. This way any new 
developer or other team member can grasp this without knowing the code. 
>From my experience, it is possible to get product owners 
contributing, 
even it takes a bit of work to make it easy for them. With initiatives 
like <a moz-do-not-send="true" href="https://cucumber.pro/" 
class="moz-txt-link-freetext">https://cucumber.pro/</a> and <a 
moz-do-not-send="true" href="https://www.relishapp.com/" 
class="moz-txt-link-freetext">https://www.relishapp.com/</a>, who knows 
it 
might get easier.<br>
<br>
The patterns for RSpec discussed improve readability, and are something 
I'd go for if working on feature/request specs, but (in my opinion) it's
 still not quite up there with a plain text scenario. You can also use a
 DSL provided by libraries like turnip, which gives you the opportunity 
to use a gherkin syntax in RSpec though.<br>
<br>
4). why have two test frameworks?<br>
<br>
if you keep your test logic in pure ruby code like people have 
mentioned, you can: <br>
- share helpers across RSpec and cucumber relatively easily (if you want
 to); <br>
- establish some common standards and patterns; <br>
- have test code that any ruby developer can read, in both suites. <br>
<br>
It can be useful to separate acceptance/end-to-end tests and lower-level
 unit & component tests e.g. if the acceptance tests need different 
setup such as background workers running, search indexes populated, etc.
 Doing this for all tests might be unnecessarily slow your lower-level 
test down if those are all you need to run. Depends on the codebase 
& the team, I guess.<br>
<br>
You can use RSpec metadata and request types to separate these concerns 
too; it's a bit more fiddly.<br>
<br>
 5). regexes and step definitions are much less readable than method 
calls with parameters<br>
<br>
something picked up on already, and something I can understand. But as 
people have pointed out, there are patterns you can apply that make this
 less of an issue. The ideas in turnip around improving this are 
definitely interesting though.<br>
<br>
<br>
Aside from all these points, a couple of other relevant things I've come
 across on the topic:<br>
<br>
<ul>
  <li><a moz-do-not-send="true" 
href="http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3" 
class="moz-txt-link-freetext">http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3</a>
 - a 
blog post from a core RSpec contributor with this quote: </li>
</ul>
<br>
"RSpec originated in a time before the existence of Cucumber/Gherkin, 
and one of its early goals was to express things in natural language 
that a project stakeholder could understand. In those early days, an 
expression like team.should have(9).players made sense for the goals of 
the project. Since then, Cucumber/Gherkin have emerged as a better 
alternative for stakeholder-focused tests, and RSpec is rarely used for 
that purpose today."<br>
<br>
RSpec uses cucumber to produce exectuable specs for its own codebase 
(<a moz-do-not-send="true" href="https://relishapp.com/rspec" 
class="moz-txt-link-freetext">https://relishapp.com/rspec</a>); could be
 a sign that it'll have more 
focus on supporting testing at the unit & component level going 
forward?<br>
<br>
<ul>
  <li><a moz-do-not-send="true" 
href="http://blog.mattwynne.net/2012/04/26/a-vision-for-cucumber-2-0/" 
class="moz-txt-link-freetext">http://blog.mattwynne.net/2012/04/26/a-vision-for-cucumber-2-0/</a>
 - a
 blog post from a core cucumber contributor</li>
</ul>
<br>
This references the original developer of Turnip, saying 'Using RSpec as
 the runner for Turnip hasn’t worked out so well.' Would love to know 
more about why and whether this is still the case.<br>
<br>
<ul>
  <li>For some reason you have to add capybara to your gemfile to use 
the feature/scenario syntax in RSpec feature specs. I work on a lot of 
APIs, so really don't need capybara as a dependency.</li>
</ul>
<ul>
  <li>In Cucumber, I don't think the approach of adding modules to the 
World object is clean way to reuse code. It makes them accessible in all
 step definitions without namespacing. It does seem to be the most 
documented approach though. I generally leave my ruby code in the 
support folder and just access it within the step definitions using the 
fully-qualified names.</li>
</ul>
<br>
Both frameworks have their pros & cons. Personally, I prefer 
Cucumber over RSpec feature & request specs. as has no doubt come 
across. But, the overwhelming resistance to cucumber within the 
community is difficult to ignore. For now, I remain unconvinced by a lot
 of the arguments against Cucumber. <br>
<br>
I should say though, both are great libraries & I'm definitely very 
grateful to their contributors!<br>
<br>
<br>
<br>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div 
style="margin:0px"><font color="#444444"><b>Will Thomas<br>
</b></font></div>
</div>

<div 
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;margin:0px">
<span style="letter-spacing:0px"><font color="#444444"><br></font></span></div>

<div 
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;margin:0px"><font
 color="#444444"><span style="letter-spacing:0px">The App Business</span><br>
</font></div>

<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div 
style="font-size:medium;word-wrap:break-word"><div 
style="word-wrap:break-word"><div style="word-wrap:break-word"><div 
style="word-wrap:break-word">
<div style="word-wrap:break-word"><div style="word-wrap:break-word"><div
 style="word-wrap:break-word"><div style="margin:0px"><div 
style="font-size:12px;margin:0px"><div style="margin:0px"><div 
style="margin:0px"><div style="margin:0px">
<div style="margin:0px"><div style="margin:0px"><div style="margin:0px"><div
 style="margin:0px"><span style="letter-spacing:0px"><font 
color="#444444"><span style="display: inline; font-size: inherit; 
padding: 0pt; color: rgb(68,
 68, 68);" class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt; 
text-decoration: underline; color: rgb(68, 68, 68);" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date">20-24</span></span></span></span>
 Broadwick Street</font></span></div><div style="margin:0px"><span 
style="letter-spacing:0px"><font color="#444444">London W1F <span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date">8HT</span></span></span></span></font></span></div>
<div style="margin:0px"><span style="letter-spacing:0px"><a 
moz-do-not-send="true" style="color:rgb(34,34,34)" value="+442036579785"><font
 color="#444444"><span style="display: inline; font-size: inherit; 
padding: 0pt;" class="__postbox-detected-content 
__postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date">+44</span></span></span></span>
 203 657 9785</font></a></span></div><div style="margin:0px"><a 
moz-do-not-send="true" target="_blank" 
href="http://www.theappbusiness.com/"><font color="#ff4400">www.theappbusiness.com</font></a></div>
<div style="margin:0px"><span style="letter-spacing:0px"><font 
color="#444444"><br></font></span></div><div style="margin:0px"><a 
moz-do-not-send="true" target="_blank" 
href="http://www.theappbusiness.com/careers/"><font color="#ff4400">Join
 the team: we're now 75+ strong and growing fast</font></a></div>
</div><div><div style="margin:0px"><div style="margin:0px"><a 
moz-do-not-send="true" target="_blank" 
href="http://www.thedrum.com/digital-census/2013"><font color="#ff4400">The
 Drum Census 2013: ranked UK No.1 with <span style="display: inline; 
font-size: inherit; padding: 0pt;" class="__postbox-detected-content 
__postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date"><span 
style="display: inline; font-size: inherit; padding: 0pt;" 
class="__postbox-detected-content __postbox-detected-date" 
__postbox-detected-content="__postbox-detected-date">1-50</span></span>
 staff</font></a></div></div>
</div><div><font color="#444444"><br></font></div><div><font 
color="#444444">Check out our latest thinking in our </font><a 
moz-do-not-send="true" target="_blank" 
href="http://www.theappbusiness.com/journal/"><font color="#ff4400">journal</font></a><font
 color="#444444"> and follow us 
on: </font></div>
<div style="margin:0px"><div style="margin:0px"><a 
moz-do-not-send="true" target="_blank" 
href="http://twitter.com/theappbusiness"><font color="#ff4400">Twitter</font></a><font
 color="#444444"> • </font><a moz-do-not-send="true" target="_blank" 
href="http://www.linkedin.com/company/the-app-business"><font 
color="#ff4400">LinkedIn</font></a><font color="#444444"> • </font><a 
moz-do-not-send="true" target="_blank" 
href="http://www.google.com/+TheappbusinessTAB"><font color="#ff4400">Google+</font></a><font
 color="#444444"> • </font><a moz-do-not-send="true" target="_blank" 
href="http://dribbble.com/theappbusiness"><font color="#ff4400">Dribbble</font></a><font
 color="#444444"> • </font><a moz-do-not-send="true" target="_blank" 
href="http://instagram.com/theappbusiness"><font color="#ff4400">Instagram</font></a><font
 color="#444444"> • </font><a moz-do-not-send="true" target="_blank" 
href="http://www.facebook.com/theappbusiness"><font color="#ff4400">Facebook</font></a></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><font
 color="#444444" size="1"><br></font></div><div 
style="word-wrap:break-word"><font color="#444444" size="1"><br></font></div>
<div style="word-wrap:break-word"><font color="#444444" size="1">The App
 Business Limited is a company registered in England and Wales</font></div><div
 style="word-wrap:break-word"><font color="#444444" size="1">Registered 
number: 01897720</font></div></div>
 <br>
<br>

<br>

  </div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="pbattley@gmail.com" photoname="Paul Battley" 
src="cid:part5.00020705.06040501@theappbusiness.com" 
name="postbox-contact.jpg" height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:pbattley@gmail.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Paul Battley</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">26 July 2014 
14:17</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div><!----><br>Brilliant! 
Somehow I never realised that. Despite having a version of<br>vim-cucumber
 *that actually supports jumping*, I was absolutely sure<br>that it 
wasn't possible. And absolutely wrong.<br><br>Paul.<br>_______________________________________________<br>Chat
 mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>Archives: 
<a class="moz-txt-link-freetext" href="http://lists.lrug.org/pipermail/chat-lrug.org">http://lists.lrug.org/pipermail/chat-lrug.org</a><br>Manage your 
subscription: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/options.cgi/chat-lrug.org">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br>List 
info: <a class="moz-txt-link-freetext" href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br></div></div>
</blockquote>
<br>
<div class="moz-signature"><br>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div 
style="margin:0px"><font color="#444444"><b>Will Thomas<br>
</b></font></div><div style="margin:0px"><span 
style="letter-spacing:0px"><font color="#444444">Senior Engineer<br>
</font></span></div>
</div>
<div 
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;margin:0px">
<span style="letter-spacing:0px"><font color="#444444"><br></font></span></div>
<div 
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;margin:0px"><font
 color="#444444"><span style="letter-spacing:0px">The App Business</span><br>
</font></div>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px"><div 
style="font-size:medium;word-wrap:break-word"><div 
style="word-wrap:break-word"><div style="word-wrap:break-word"><div 
style="word-wrap:break-word">
<div style="word-wrap:break-word"><div style="word-wrap:break-word"><div
 style="word-wrap:break-word"><div style="margin:0px"><div 
style="font-size:12px;margin:0px"><div style="margin:0px"><div 
style="margin:0px"><div style="margin:0px">
<div style="margin:0px"><div style="margin:0px"><div style="margin:0px"><div
 style="margin:0px"><span style="letter-spacing:0px"><font 
color="#444444"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt; color: rgb(68,
 68, 68);"><span __postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt; 
text-decoration: underline; color: rgb(68, 68, 68);"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">20-24</span></span></span></span>
 Broadwick Street</font></span></div><div style="margin:0px"><span 
style="letter-spacing:0px"><font color="#444444">London W1F <span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">8HT</span></span></span></span></font></span></div>
<div style="margin:0px"><span style="letter-spacing:0px"><a 
value="+442036579785" style="color:rgb(34,34,34)"><font color="#444444"><span
 __postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">+44</span></span></span></span>
 203 657 9785</font></a></span></div><div style="margin:0px"><a 
href="http://www.theappbusiness.com/" target="_blank"><font 
color="#ff4400">www.theappbusiness.com</font></a></div>
<div style="margin:0px"><span style="letter-spacing:0px"><font 
color="#444444"><br></font></span></div><div style="margin:0px"><a 
href="http://www.theappbusiness.com/careers/" target="_blank"><font 
color="#ff4400">Join the team: we're now 75+ strong and growing fast</font></a></div>
</div><div><div style="margin:0px"><div style="margin:0px"><a 
href="http://www.thedrum.com/digital-census/2013" target="_blank"><font 
color="#ff4400">The Drum Census 2013: ranked UK No.1 with <span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">1-50</span></span>
 staff</font></a></div></div>
</div><div><font color="#444444"><br></font></div><div><font 
color="#444444">Check out our latest thinking in our </font><a 
href="http://www.theappbusiness.com/journal/" target="_blank"><font 
color="#ff4400">journal</font></a><font color="#444444"> and follow us 
on: </font></div>
<div style="margin:0px"><div style="margin:0px"><a 
href="http://twitter.com/theappbusiness" target="_blank"><font 
color="#ff4400">Twitter</font></a><font color="#444444"> • </font><a 
href="http://www.linkedin.com/company/the-app-business" target="_blank"><font
 color="#ff4400">LinkedIn</font></a><font color="#444444"> • </font><a 
href="http://www.google.com/+TheappbusinessTAB" target="_blank"><font 
color="#ff4400">Google+</font></a><font color="#444444"> • </font><a 
href="http://dribbble.com/theappbusiness" target="_blank"><font 
color="#ff4400">Dribbble</font></a><font color="#444444"> • </font><a 
href="http://instagram.com/theappbusiness" target="_blank"><font 
color="#ff4400">Instagram</font></a><font color="#444444"> • </font><a 
href="http://www.facebook.com/theappbusiness" target="_blank"><font 
color="#ff4400">Facebook</font></a></div>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div><font
 color="#444444" size="1"><br></font></div><div 
style="word-wrap:break-word"><font color="#444444" size="1"><br></font></div>
<div style="word-wrap:break-word"><font color="#444444" size="1">The App
 Business Limited is a company registered in England and Wales</font></div><div
 style="word-wrap:break-word"><font color="#444444" size="1">Registered 
number: 01897720</font></div>
<div style="word-wrap:break-word"><font color="#444444" size="1">Office 
location: <span __postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">20-24</span></span></span></span>
 Broadwick Street, London, United Kingdom, W1F <span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;"><span 
__postbox-detected-content="__postbox-detected-date" 
class="__postbox-detected-content __postbox-detected-date" 
style="display: inline; font-size: inherit; padding: 0pt;">8HT</span></span></span></span></font></div></div>
</div>
</body></html>