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.

Network Extortion is what you get when network neutrality is dropped

Can someone who know depict this better than me please? Just take the OmniGraffle doc and give it another go please (and link back).

Network neutrality today (good)

Network extortion (bad)

Problems with these diagrams

The per 10,000 users fees (red and per-month - mostly on the left) does not map well to the per user/account fees (blue, monthly) on the right. Sure, you could divide by 10,000 to arrive at blue legends of 0.15c per user on the left but that’s now intangible as well as confusing.

Also ‘startup’ is just one example.

And, CDNs are not depicted. Would…

Paul Hammant's blog
23 November 2017

Original Link

Play with your words

Good night, sleep tight, don’t let the bugs bite… Do you do wordplay with your children? I lasso you… I label you… I link you… I list you… Oh, I LOVE you! Do you do word games, plays on words, puns, double entendres, spoonerisms, mixed metaphors or rhymes? I spy with my little eye, something …

Play with your wordsRead More »

pamela
21 November 2017

Original Link

The Spotify Playbook

Three years ago, I packed up my family, moved halfway around world to Stockholm, Sweden, to join a then relatively unknown music streaming service called Spotify. Since then, I have left Spotify, returned to the world of corporate IT, and am amazed at the differences in how we work. At first I chalked this up […]

JR
21 November 2017

Original Link

Memoization

In computing, memoization is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached results when required. The most common example of memoization is the implementation of a fibonacci series. Because a fibonacci series recursively calls upon itself, when calculating the series for […]

JR
19 November 2017

Original Link

Python 3: TypeError: unsupported format string passed to numpy.ndarray.__format__

This post explains how to work around a change in how Python string formatting works for numpy arrays between Python 2 and Python 3. I’ve been going through Kevin Markham‘s scikit-learn Jupyter notebooks and ran into a problem on the Cross Validation one, which was throwing this error when attempting to print the KFold example: […]

The post Python 3: TypeError: unsupported format string passed to numpy.ndarray.__format__ appeared first on Mark Needham.

Mark Needham
19 November 2017

Original Link

Test Automation Heuristic: Minimum Data


When designing automated UI tests, one thing I've learned to do over the years is to start by creating the most minimal valid records in the system. Doing this illuminates assumptions in various parts of the system that are likely not being caught in unit tests.

As I have written elsewhere, I make every effort to set up test data for UI tests by way of the system API. (Even if the "API" is raw SQL, it is still good practice.) That way when your browser hits the system to run the test, all the data it needs are right…

Chris McMahon
18 November 2017

Original Link

Kubernetes: Copy a dataset to a StatefulSet’s PersistentVolume

In this post we’ll learn how to copy an existing dataset to the PersistentVolumes used by a Neo4j cluster running on Kubernetes. Neo4j Clusters on Kubernetes This posts assumes that we’re familiar with deploying Neo4j on Kubernetes. I wrote an article on the Neo4j blog explaining this in more detail. The StatefulSet we create for […]

The post Kubernetes: Copy a dataset to a StatefulSet’s PersistentVolume appeared first on Mark Needham.

Mark Needham
18 November 2017

Original Link

现金贷,尊敬的会员,您的审核已通过-骗局

现金贷,尊敬的会员,您的审核已通过-骗局 现金贷,尊敬的会员,您的审核已通过;或者【现金贷】通过审核,钱已打进 […]

笑捧博客
18 November 2017

Original Link

Kubernetes 1.8: Using Cronjobs to take Neo4j backups

With the release of Kubernetes 1.8 Cronjobs have graduated to beta, which means we can now more easily run Neo4j backup jobs against Kubernetes clusters. Before we learn how to write a Cronjob let’s first create a local Kubernetes cluster and deploy Neo4j. Spinup Kubernetes & Helm minikube start --memory 8192 helm init && kubectl […]

The post Kubernetes 1.8: Using Cronjobs to take Neo4j backups appeared first on Mark Needham.

Mark Needham
17 November 2017

Original Link

Get out of the box!

Can you tell 5 things you do when you are feeling awesome? How do you feel, how do you deliver what you need to deliver, how do you handle a problem? Can you tell 5 things you do when you are feeling lost? When you feel that the world is not paying the right amount … Continue a ler Get out of the box!

dwildt
17 November 2017

Original Link

Are your coaching sessions engaging?

A typical coaching session agenda can sometimes sound quite boring when you describe it to someone. Generally, a session starts with a progress review of what happened since last time coaching took place, what would be the priorities to tackle in the current session, coaching those priority items and come up with a plan for what the coachee committed to work till next meeting. This process happens with the coach and client seating for one hour or sometimes even longer. Needless to say, such monotony can wary the client as well as the coach.

Being creative on running a session makes…

Pedro Pimentel
16 November 2017

Original Link

Hash Tables

A hash table is a key value lookup. It gives you a way of storing a value, against any given key, for very quick lookups. The key and value can be basically any kind of data structure. Strings are popular. But so long as the key has a hash function, it could be anything. How […]

JR
15 November 2017

Original Link

Stacks and Queues

Stacks and Queues are pretty similar data structures. The difference is in how they remove elements. A Stack is LIFO – Last In First Out. Much like a stack of books. A Queue is FIFI – First In First Out. If you are the first to line up, you are the first to come out. […]

JR
14 November 2017

Original Link

Binary Search Trees

Some notes from this excellent video by Gayle McDowell on trees. What is a binary tree? A binary tree is a data structure where by each node has no more than two child nodes. What is a binary search tree? A binary search tree is a binary tree sorted in a specific ordering property. On […]

JR
14 November 2017

Original Link

Waterproof Garden Wall Security Lamp By Microwave Radar Motion

Greeting, Penny from Miljoe Lighting want to introduce our most hot sales solar led security lamp Item MJ-1712 Feature: With a good water-proof for all weather outside,this small wall mounted Solar Lamp is quite suitable for outdoor fence wall lamp...

Obie Fernandez
14 November 2017

Original Link

The Case for Data Center Infrastructure Standardization: A Modular Approach

What keeps a data center manager up at night? Inefficient, poorly designed systems that slow deployment, hamper scalability, and increase the risk of downtime. Yet in the rush to meet fast-changing customer demand, many in the industry are creating “customized” solutions that breed inefficiency. Gartner says: “With the growing range of use cases for colocation, […]

The post The Case for Data Center Infrastructure Standardization: A Modular Approach appeared first on IO.com.

Charisse Richards
13 November 2017

Original Link

Encouraging Creativity to Blossom

I attended an event over the weekend that was run by the Society of Children’s Book Writers and Illustrators. One of the topics that came up in presentation and in conversation was creativity in children. There’s been talk recently of the job skills our children will need for a future in which some of the …

Encouraging Creativity to BlossomRead More »

pamela
13 November 2017

Original Link

Selenium Implementation Patterns

Recently on Twitter Sarah Mei and Marlena Compton started a conversation about "...projects that still use selenium..."  to which Marlena replied "My job writing selenium tests convinced me to do whatever it took to avoid it but still write tests..."  A number of people in the Selenium community commented (favorably) on the thread, but I liked Simon Stewart's reply where he said "The traditional testing pyramid has a sliver of space for e2e tests – where #selenium shines. Most of your tests should use something else."  I'd like to talk about the nature of that "sliver of space"…

Chris McMahon
11 November 2017

Original Link

Surprising Behavior With Private Methods In Ruby

Private methods in Ruby are pretty straightforward, but there are a few gotchas to be aware of.

Private Instance Methods

Private instance methods work pretty much as you would expect:

class Person
  def salutation
    "Hello from #{name}"
  end
  private

  def name
    "Bob"
  end
end

person = Person.new
person.salutation # Hello from Bob
person.name # NoMethodError: private method `name' called

Instead of using the private keyword by itself - in which case all methods following this line will be private - you can also selectively declare private methods.

class Person
  def full_name

Jaco Pretorius
2 November 2017

Original Link

Binary Heaps

A binary heap is a binary tree heap data structure used in sorting and priority queue algorithms. What is a binary tree? A binary tree is a data structure that stores it’s data in the shape of a tree. At the top you have a root node, and underneath that you have at maximum two […]

JR
10 November 2017

Original Link