Show mobile 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.

Ruby/Python: Constructing a taxonomy from an array using zip

As I mentioned in my previous blog post I’ve been hacking on a product taxonomy and I wanted to create a ‘CHILD’ relationship between a collection of categories.

For example, I had the following array and I wanted to transform it into an array of ‘SubCategory, Category’ pairs:

taxonomy = ["Cat", "SubCat", "SubSubCat"]
# I wanted this to become [("Cat", "SubCat"), ("SubCat", "SubSubCat")

In order to do this we need to zip the first 2 items with the last which I found reasonably easy to do using Python:

Blog post by Mark Needham
19 May 2013

Original Link

neo4j/cypher: Keep longest path when finding taxonomy

I’ve been playing around with modelling a product taxonomy and one thing that I wanted to do was find out the full path where a product sits under the tree.

I created a simple data set to show the problem:

CREATE (cat { name: "Cat" })
CREATE (subcat1 { name: "SubCat1" })
CREATE (subcat2 { name: "SubCat2" })
CREATE (subsubcat1 { name: "SubSubCat1" })
CREATE (product1 { name: "Product1" })
CREATE (cat)-[:CHILD]-subcat1-[:CHILD]-subsubcat1
CREATE (product1)-[:HAS_CATEGORY]-(subsubcat1)

I wanted to write a query which would return ‘product1′ and the tree ‘Cat -> SubCat1 -> SubSubCat1′ and initially wrote…

Blog post by Mark Needham
19 May 2013

Original Link

Unix: Working with parts of large files

Chris and I were looking at the neo4j log files of a client earlier in the week and wanted to do some processing of the file so we could ask the client to send us some further information.

The log file was over 10,000 lines long but the bit of the file we were interesting in was only a few hundred lines.

I usually use Vim and the ‘:set number’ when I want to refer to line numbers in a file but Chris showed me that we can achieve the same thing with e.g. ‘less -N data/log/neo4j.0.0.log’.

Blog post by Mark Needham
19 May 2013

Original Link

A/B Testing: User Experience vs Conversion

I’ve written a couple of posts over the last few months about my experiences with A/B testing and one conversation we often used to have was around user experience vs conversion rate.

Once you start running an A/B test it encourages you to focus more on the conversion rate of users in different parts of the flow and your inclination is to make changes that increase that conversion rate.

Another one of our drivers is to provide the best user experience that we can to our customers and since sometimes this means that the best thing for…

Blog post by Mark Needham
18 May 2013

Original Link

Agile Project Status Reports – Example #1

Here are some ideas for project status reports.

The 1 Pager

1-pager

On this one I am trying to communicate all the important stuff on a single page.

At the top I’ve got how we are doing for time, money and scope. To the right I put any headlines or issues. I’ve got a risk section showing the problems we are facing and how we are addressing. Then the velocity and projected date on the right.

So at a glance I should be able to see whether we are in trouble (via the red, yellow, green…

Blog post by Jonathan Rasmusson
17 May 2013

Original Link

Mocha Release 0.14.0

Release Notes

Blog post by James Mead
17 May 2013

Original Link

Agile Without Social Engineering

Blog post by Elena Yatzeck
16 May 2013

Original Link

neo4j: When the web console returns nothing…use the data browser!

In my time playing around with neo4j I’ve run into a problem a few times where I executed a query using the web console (usually accessible @ http://localhost:7474/webadmin/#/console/) and have got absolutely no response.

I noticed a similar thing today when Rickard and I were having a look at why a Lucene index query wasn’t behaving as we expected.

I setup some data in a neo4j database using neography with the following code:

require 'neography'
 
@neo = Neography::Rest.new
 
@neo.create_node_index("Id_Index", "exact", "lucene")

Blog post by Mark Needham
16 May 2013

Original Link

Lonely Beach

Lonely Beach by Christopher Johnston (fuzzylizardstudios)) on 500px.com

Blog post by Christopher Johnston
16 May 2013

Original Link

How are you using MongoDB with Java?

So, like one of my presentations, I have a question for you.  Actually, I have more than one question for you.  I'm not going to bother with survey monkey or whatever, I want to share the answers so please, answers in the comments:
  1. Are you using the Java driver for MongoDB in your application?
  2. Are you using the Java driver directly, or are you using a third party library like Morphia, Spring Data, the Scala driver, your own abstraction layer, etc?
  3. If you're using a third party library, why did you choose that over using the Java driver directly?
  4. If…

Blog post by Trisha Gee
16 May 2013

Original Link