menu

Alumni blogs

Lots of our people have lots of opinions. Here are just a few of them

ThoughtWorks embraces the individuality of the people in the organization and hence the opinions expressed in the blogs may contradict each other and also may not represent the opinions of ThoughtWorks.

A Little Tense

Following on from my last blog post about deriving Gherkin from conversations, I wanted to share some tips on tenses. This is beginner stuff, but it turns out there are a lot of beginners out there! It also isn’t gospel, so if you’re doing something different, it’s probably OK.

Contexts have happened in the past

When I phrase a context, I often put it in the past tense:

Given Fred bought a microwave

Sometimes the past has set up something which is ongoing in the present, but it’s not an action as much as a continuation. So we’ll either use the…

Blog post by Elizabeth Keogh
2 September 2014

Original Link

Meryl Strip, The Guru

As the workschedule goes around the clock I have little time to collect thoughts. Its more of a time of doing. Yet, I bumped into this quote from Meryl Strip. Captures the feeling, doesn’t it?

“I no longer have patience for certain things, not because I’ve become arrogant, but simply because I reached a point in my life where I do not want to waste more time with what displeases me or hurts me. I have no patience for cynicism, excessive criticism and demands of any nature. I lost the will to please those who do not like me, to…

Blog post by Maria Ocampo
2 September 2014

Original Link

Getting the generic signature of a Java 8 lambda

Posted to StackOverflow

This is currently possible to solve but only in a pretty hackie way, but let me first explain a few things:

When you write a lambda, the compiler inserts a dynamic invoke instruction pointing to the LambdaMetafactory and a private static synthetic method with the body of the lambda. The synthetic method and the method handle in the constant pool both contain the generic type (if the lambda uses the type or is explicit as in your examples).

Now at runtime the LambdaMetaFactory is called and a class is generated using ASM that implements the functional interface…

Blog post by Daniel Worthington-Bodart
1 September 2014

Original Link

Deriving Gherkin from Real Conversations

The “Given, When, Then” format was originally developed by Dan North and Chris Matts, way back in 2004. It was originally intended as a way of describing class behaviour using something that didn’t involve testing. It was a way of having useful conversations about code. It turned into a way of having conversations about entire systems, with examples of how those systems behave. It was always meant to be readable by people who didn’t code (Chris Matts being a business analyst at the time) but it was never quite how people actually spoke.

In this post I want to look at…

Blog post by Elizabeth Keogh
1 September 2014

Original Link

Seleção Musical de agosto/2014 #SomDoDia

Essa foi a seleção musical (#SomDoDia) que rolou no mês de agosto! Clássicos, sucessos, tem para todos os gostos!

04/agosto Red Hot Chili Peppers – Tell Me Baby

05/agosto John Mellencamp – Cherry Bomb

06/agosto John Mellencamp – Small Town

07/agosto John Mellencamp – Now More Than Ever

08/agosto John Cougar – Ain’t Even Done With The Night (Live 1981)

09/agosto John Mellencamp – Authority Song

10/agosto John Mellencamp – Jack & Diane

11/agosto
Traveling Wilburys – Handle With Care

12/agosto
Tom Petty And The Heartbreakers – Mary Jane’s Last Dance

13/agosto
R.E.M. – The One I Love

Blog post by Daniel Wildt
31 August 2014

Original Link

Making it work

LutherTitleScreen.png
"LutherTitleScreen" by BBC's YouTube channel (http://www.youtube.com/watch?v=m_Qg1pQSOa0). Licensed under Fair use of copyrighted material in the context of Luther (TV series)">Fair use via Wikipedia.

I was watching Luther and came across this line by Detective Superintendent Rose Teller: 'I ignored all the signs because I was so busy making it work'

We are pushed this progressive approach certainly by the society and the education system (first hand experience) and possibly by evolution (probably out of my depth here).

We are always so busy trying to 'make it work'.

But sometimes it just does not…

Blog post by Ozgur Tumer
31 August 2014

Original Link

R: ggplot – Cumulative frequency graphs

In my continued playing around with ggplot I wanted to create a chart showing the cumulative growth of the number of members of the Neo4j London meetup group.

My initial data frame looked like this:

> head(meetupMembers)
  joinTimestamp            joinDate  monthYear quarterYear       week dayMonthYear
1  1.376572e+12 2013-08-15 13:13:40 2013-08-01  2013-07-01 2013-08-15   2013-08-15
2  1.379491e+12 2013-09-18 07:55:11 2013-09-01  2013-07-01 2013-09-12   2013-09-18
3  1.349454e+12 2012-10-05 16:28:04 2012-10-01  2012-10-01 2012-10-04   2012-10-05
4  1.383127e+12 2013-10-30 09:59:03 2013-10-01  2013-10-01 2013-10-24   2013-10-30
5  1.372239e+12 2013-06-26 09:27:40 2013-06-01  2013-04-01 2013-06-20   2013-06-26
6  1.330295e+12 2012-02-26 22:27:00 2012-02-01  2012-01-01 2012-02-23   2012-02-26

The first step was to transform the data…

Blog post by Mark Needham
31 August 2014

Original Link

Overcoming Java 8 streams

Java 8 streams provide functional and LINQ-like features in a fluent API. But streams are not without drawbacks:

  • Referenced methods and lambdas cannot throw checked exceptions
  • Controlling the threads used, especially for parallel streams, is awkward
  • Streams are not designed for extension

Overcoming these drawbacks requires a "look-a-like" API. For example, implementing java.util.stream.Stream does not help: none of the existing methods throw checked exceptions, and none of the existing stream factory helpers would return your implementation with new methods.

So I wrote my own, copying the existing stream API, updating the methods to throw checked exceptions:

hm.binkley.util.stream.CheckedStream ('develop' branch for…

Blog post by Brian Oxley
31 August 2014

Original Link

No one has it all figured out

One thing I didn’t realize until I reached my 40’s is that no one has it all figured out.
Everyone’s is pretty much making it up as they go.

That CEO you admire.
That entrepreneur you wish you could emulate.
That gifted artist.

None of them have it all figured out.

It’s not that they’re faking it.
It’s more like they are figuring it out as they go.

This can be scary.
To realize their is no playbook.
There is no top ten list.
There is no pre-ordained pass to life or success (whatever that is).

It can also be…

Blog post by Jonathan Rasmusson
30 August 2014

Original Link

Joining Spotify

spotify-logo-primary-vertical-light-background-rgb
Well, after a whirlwind summer, I can proudly announce I have joined Spotify as an Agile Coach here in Stockholm Sweden. I just completed my first week, and before entering bootcamp I wanted to share some thoughts, observations, and comments from week one.

Surface observations

Spotify, for those of you who don’t know, is a music streaming company founded in 2006 which today has about 40M active users and 10M paying customers.

The best way to think about what they do is to imagine having access to all of iTunes for free. You don’t download the songs. They are…

Blog post by Jonathan Rasmusson
29 August 2014

Original Link