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.

Pragmatic Programming in Java 8 with JUnit

Jeff Langr recently put out a new book Pragmatic Unit Testing in Java 8 with JUnit which I highly recommend. I’ve recently come back to Java (mostly through teaching XP courses) and wanted a refresher on some unit testing best practices. Jeff’s book didn’t disappoint. Here are some take aways and language for for me […]

JR
21 April 2015

Original Link

Links for 2015-04-20 [del.icio.us]

ID and Other Reflections
21 April 2015

Original Link

R: Numeric keys in the nested list/dictionary

Last week I described how I’ve been creating fake dictionaries in R using lists and I found myself using the same structure while solving the dice problem in Think Bayes. The dice problem is described as follows: Suppose I have a box of dice that contains a 4-sided die, a 6-sided die, an 8-sided die, […]

Mark Needham
21 April 2015

Original Link

R: non-numeric argument to binary operator

When debugging R code, given my Java background, I often find myself trying to print out the state of variables along with an appropriate piece of text like this: names = c(1,2,3,4,5,6) > print("names: " + names) Error in "names: " + names : non-numeric argument to binary operator We might try this next: > […]

Mark Needham
19 April 2015

Original Link

Faster Word Puzzles with Neo4J

When I used Neo4J to create and solve Word Morph puzzles, I brute-forced the algorithm to find and link words that differ by one letter. I was lucky – my dataset only contained four-letter words and so was small enough for my O(n2) algorithm to run in a reasonable amount of time. But what happens when I expand my dataset to include words of 4, 5 and 6 letters?

Obviously, I have to change my Cypher to only relate words that are the same length:

match (w1), (w2)
where w2.word > w1.word
  and length(w1.word) = length(w2.word)
with

Mistaeks I Hav Made
19 April 2015

Original Link

R: Removing for loops

In my last blog post I showed the translation of a likelihood function from Think Bayes into R and in my first attempt at this function I used a couple of nested for loops. likelihoods = function(names, mixes, observations) { scores = rep(1, length(names)) names(scores) = names   for(name in names) { for(observation in observations) […]

Mark Needham
18 April 2015

Original Link

Links for 2015-04-17 [del.icio.us]

  • Twitter / ?
    RT @IndiaHRLive: @Namrata2010 @Sairee @sahana2802 Join us on 21st Apr at #IndiaHRLive : #Women at work - Gender diversity http://t.co/UnOIUx4a5A from sahana2802, April 17, 2015 at 02:52PM http://twitter.com/sahana2802/status/588995988217470976

ID and Other Reflections
18 April 2015

Original Link

Classical vs Mockist testing

I’ve been looking for language to help articulate the difference between two styles of unit testing, and really like how Martin describes it in Mocks Aren’t Stubs.   Classicist Mockist Like working with real objects Prefer working with fake objects State verification Behavior verification Use mocks to test collaborations Use mocks all the time Will […]

JR
18 April 2015

Original Link

R: Think Bayes – More posterior probability calculations

As I mentioned in a post last week I’ve been reading through Think Bayes and translating some of the examples form Python to R. After my first post Antonios suggested a more idiomatic way of writing the function in R so I thought I’d give it a try to calculate the probability that combinations of […]

Mark Needham
16 April 2015

Original Link

Agile Development and Scrum Quick Reference

This is the 11″ x 17″ 2-sided Quick Reference Guide for Agile Development and Scrum that I use in classes.  Be careful. It’s scary. It has a lot of stuff packed into it. And, I won’t be surprised if you don’t agree with it all. Download it from my Dropbox

The post Agile Development and Scrum Quick Reference appeared first on Jeff Patton & Associates.

Jeff Patton
16 April 2015

Original Link

Changing from Fig to Docker Compose

My daily yaourt -Syua led me to realize that fig has been deprecated in favor of docker-compose. Switching however was just a straight renaming exercise. The fig.yml file is now docker-compose.yml, and the command is docker-compose instead of fig

Marcus Ahnve
15 April 2015

Original Link

Spark: Generating CSV files to import into Neo4j

About a year ago Ian pointed me at a Chicago Crime data set which seemed like a good fit for Neo4j and after much procrastination I’ve finally got around to importing it. The data set covers crimes committed from 2001 until now. It contains around 4 million crimes and meta data around those crimes such […]

Mark Needham
14 April 2015

Original Link

Turn that ship around

My friend Jason Yip shared with me the work book for Turn this Ship Around which comes as a highly recommended book on leadership. He also had a cool deck of cards I wanted to save to later. Here are some images for when I am ready to do so. Filed under: agile Tagged: agile, […]

JR
14 April 2015

Original Link

A lesser talked about feature of Microservices

Sam Newman published a book on Microservices. He might be the first ThoughtWorker to do so. I think there are others coming. Those guys helped define the science of course. Anyway I bought Sam’s book as I need to play catch up – I’m not even ‘on the fence’ about Microservices, and certainly don’t think a popular desciption “micro services or monolith” is fair. This article isn’t about Sam’s book, it’s about a pro-microservices thought that has been bouncing around in my head for a while.

Billing

With lots of little services, you get the ability to measure costs…

Paul Hammant's blog
14 April 2015

Original Link

ID and Other Reflections
14 April 2015

Original Link

The Apple Watch in New York

So this weekend I have the pleasure of seeing the Apple watch for the first time in two distinct iconic locations – Grand Central Station, and the flagship 5th Avenue store. Grand Central Station First off, when I first walked into Grand Central Station (or Juncture here as they call it) I didn’t even know […]

JR
13 April 2015

Original Link

Sinor 0.3.0 Released

I just released 0.3.0 of my static blogging tool Sinor.

Major new features in this release:

  • Tags support
  • Markdown can be used in archive pages
  • Improved command line API

It can be installed either by pip install sinor or by downloading it directly from Github.

Marcus Ahnve
13 April 2015

Original Link

Protected: Common Agile Practice isn’t for Startups

There is no excerpt because this is a protected post.

Jeff Patton
13 April 2015

Original Link

Testing in Microservice Architecture

As Microservice is becoming more popular and is being adopted fast, it becomes essential for test engineers and organisations to align their testing strategy with the architecture of the application. This requires change in perspective from traditional way of testing applications. 
The below article would help you understand why are we talking about it and would address your basic questions around it. 

We have planned a series of blogs around it and this is largely to set the context. 

https://lnkd.in/e66sd_g

Nishant Verma
13 April 2015

Original Link

R: Creating an object with functions to calculate conditional probability

I’ve been working through Alan Downey’s Thinking Bayes and I thought it’d be an interesting exercise to translate some of the code from Python to R. The first example is a simple one about conditional probablity and the author creates a class ‘PMF’ (Probability Mass Function) to solve the following problem: Suppose there are two […]

Mark Needham
12 April 2015

Original Link