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.

Important Conference Updates [SeConf, FunctionalConf, AgilePune, AgileDC...]

A quick update on upcoming conferences:

  1. Selenium Conf 2014 – 4th Annual Selenium Conference. Draft program schedule is now available at Also you’ll notice that the registration for the 4-pre-conference workshops are also open now. We’ve limited seats, grab them now at
  2. Functional Conf 2014 – 1st Functional Programming Conference in India. Draft program schedule is now available at Last few smart registration seats are left. Grab them at
  3. Agile Pune 2014 – July 31st is the last day to submit your proposal for the conference. We have already received 27 proposal. You can view them at  Also last…

Blog post by Naresh Jain
28 July 2014

Original Link

R: ggplot – Plotting back to back charts using facet_wrap

Earlier in the week I showed a way to plot back to back charts using R’s ggplot library but looking back on the code it felt like it was a bit hacky to ‘glue’ two charts together using a grid.

I wanted to find a better way.

To recap, I came up with the following charts showing the RSVPs to Neo4j London meetup events using this code:

2014 07 20 17 42 40

The first thing we need to do to simplify chart generation is to return ‘yes’ and ‘no’ responses in the same cypher query, like so:


The query is a bit because…

Blog post by Mark Needham
25 July 2014

Original Link

7 Myths About Great Résumés

When friends find out I work in recruitment they often have a lot of questions.  They might ask for funny stories, the strangest applications I've seen, but it's never that long until I'm asked if I'll look at their own resume.  Sad though it may seem, I don't mind doing this, actually I quite enjoy it.  Almost every time I've done this I hear the same justifications for formatting, length, and content come up again and again.

I'm sure that this advice is always given with the best of intentions to those seeking jobs.  It's folksy, friendly and given in

Blog post by Matthew Buckland
25 July 2014

Original Link

Java: Determining the status of data import using kill signals

A few weeks ago I was working on the initial import of ~ 60 million bits of data into Neo4j and we kept running into a problem where the import process just seemed to freeze and nothing else was imported.

It was very difficult to tell what was happening inside the process – taking a thread dump merely informed us that it was attempting to process one line of a CSV line and was somehow unable to do so.

One way to help debug this would have been to print out every single line of the CSV as we processed…

Blog post by Mark Needham
23 July 2014

Original Link

Introducing setlista

The problem I usually go to a concert, come back home and want to listen again to the gigs songs. Or, I get invited to a gig of a band I don’t know and I want to check out the music they have played live before. The solution Tired of copying and pasting songs names […]

Blog post by Antonio Terreno
23 July 2014

Original Link

A ferramenta mais fácil do mundo. Será?

Dizer que se é a ferramenta mais fácil do mundo, para qualquer que seja o uso, é algo perigoso sempre. Simplesmente pela expectativa gerada no seu público alvo. Pode ser um tiro no pé. Se a ferramenta realmente for boa, serão reviews ampliados por todo o lado. Se ela não cumprir o objetivo, já era também.

Mas qual é o ponto todo?

Quer dizer, fale bem ou mal, mas fale, me ajude a ir por aí.Um produto precisa ter consciência de encontrar e buscar o seu público alvo. Não vai existir unanimidade.

E em não se procurando unanimidade, se 30% das pessoas…

Blog post by Daniel Wildt
23 July 2014

Original Link

iMessage Not Delivered

If you get this error message on your childs iPad try the following:

Goto Settings -> General -> Date & Time

And turn on ‘Set Automatically’. If it’s already on turn it off and on again.
If you are still stuck go

Settings -> Messages and logout and log back in again.

For some reason this has fixed my kids iPad problems multiple times.

Links that help

Filed under: creativity Tagged: apple, imessage

Blog post by Jonathan Rasmusson
21 July 2014

Original Link

Where did I download that file from?

Assuming you used Chrome and a modern Linux file system…

$ attr -g xdg.origin.url Downloads/google-chrome-stable_current_x86_64.rpm
Attribute "xdg.origin.url" had a 74 byte value for /home/dan/Downloads/google-chrome-stable_current_x86_64.rpm:

Blog post by Daniel Worthington-Bodart
21 July 2014

Original Link

R: ggplot – Plotting back to back bar charts

I’ve been playing around with R’s ggplot library to explore the Neo4j London meetup and the next thing I wanted to do was plot back to back bar charts showing ‘yes’ and ‘no’ RSVPs.

I’d already done the ‘yes’ bar chart using the following code:

query = "MATCH (e:Event)
2014 07 20 01 15 39

The next step was to create a similar thing for people who’d RSVP’d ‘no’ having originally RSVP’d ‘yes’ i.e. people who dropped out:

query = "MATCH (e:Event)
2014 07 20 17 25 03

As expected if people are going to drop out they do so a day or two before the event happens. By including the need…

Blog post by Mark Needham
20 July 2014

Original Link

Neo4j 2.1.2: Finding where I am in a linked list

I was recently asked how to calculate the position of a node in a linked list and realised that as the list increases in size this is one of the occasions when we should write an unmanaged extension rather than using cypher.

I wrote a quick bit of code to create a linked list with 10,000 elements in it:

public class Chains 
    public static void main(String[] args)
        String simpleChains = "/tmp/longchains";
        populate( simpleChains, 10000 );
    private static void populate( String path, int chainSize )
        GraphDatabaseService db 

Blog post by Mark Needham
20 July 2014

Original Link