Validation to encode our business rules. It’s a different way of thinking. It uses the Scalaz library.
More discussion on Hacker News, and the Clojure, Haskell, Rust and Programming subs on Reddit.
Over the last few years of maintaining code old and new at REA, it has become abundantly clear that the neglect and misuse of type-systems has had a sharply negative impact on our codebases. Here we address the concrete causes and consequences, and propose concrete and achievable solutions.
Types at REA
Every week, AWS credentials leak into the wild and are used to mine bitcoins or worse.
In April 2014, DrawQuest closed down after a security breach in which their Amazon Web Services credentials were used to create hundreds of EC2 instances, probably for mining bitcoins. DrawQuest decided they could no longer trust that their core data wasn’t compromised, and closed their doors.
Wouldn’t it be great if there was a tool that could help prevent this sort of thing happening? Well, now there is — enter Credulous.
Our IT teams have been working in a distributed agile way for about 3 years now, we’re really pleased with the results. Distributed working is a challenge, so I’d like share what’s worked for us, I’m confident these can be repeated in many other organisations.
Here’s the basic set up:
We have 2 delivery centres. Centre #1 is at our headquarters in Melbourne. That’s our largest centre with many cross functional teams, each team here including IT delivery, IT operations, product managers, sales and other business folk. Centre #2 is in China, it is owned and operated by our partner ThoughtWorks, with a focus on software delivery but increasingly other functions too.
CartoDB is a mapping and visualisation platform we are using at REA to help us analyse and visualise our data. If you want to read more about how to set up a local CartoDB environment read here.
When you create a CartoDB account you can access the CartoDB dashboard which allows you to perform a stack of administrative functions such as loading data and creating visualisations. Continue reading