“Invention is a solo event. Innovation is almost always a team sport.” – Larry Marshall, CEO CSIRO
This is just one of the stellar quotes that came out of the seventh annual Tech23 event on 17 November in Sydney. The event celebrates Australian innovation by connecting investors, and entrepreneurs from across enterprise, government, university and industry sectors.
23 young companies with high growth potential and technical expertise pitched their stories and problems they’re tackling, with industry experts responding with both insights and advice. But outside of the presentations themselves, one of the most important parts of the event constantly reinforced throughout the day is the connections and collaboration between brilliant people from all walks of the innovation ecosystem. Continue reading
In August we held our 2nd ever community and charity based Hack Day at REA: Hack it Forward.
More than 110 people in our Melbourne and Xi’an offices spent two days hacking for social causes, non-profit organisations and helping people in need. This year we partnered with more fantastic groups including:
Yet another wonderful event with 25 projects being tackled in 48 hours by smart, passionate people.
Best of all we captured it all in this little video. Enjoy 🙂
Hark! What is this Jest you speak of?
Think of it as several layers of improvement stuck on top of Jasmine. Some of the neat features Jest provides are:
- Automatically finds tests to run in your project
- Has in built support for fake DOM APIs, such as jsdom, that you can run from the command line
- You can test asynchronous code more easily using inbuilt mocked timer functions
- Tests are run in parallel so they go faster! Vroom vroom.
But the big drawcard is Jest’s automatic mocking of CommonJS dependencies using the require() function. Instead of specifying all the dependencies you want mocked, you do the opposite. For the subject under test, you just use jest.dontMock().
Quality assurance does not merely belong to testers but rather belongs to the whole team, so we need to empower everyone on the team with basic testing mind sets in a way that is memorable and enjoyable. Introducing the “Six QA Hats” – a mind-map with six different branches, each of which represents a dimension of focus on testing. The the “Six QA Hats” could help us effectively brainstorm and organise our next major testing activities. Continue reading
In this article I look at several different ways to use Elasticsearch to implement autosuggest.
Most of us make use of some sort of autosuggest functionality several times per day to the point of barely even noticing it. Autosuggest functionality can help a user fill form input fields by prompting them with likely completions and even alternatives to the text they are typing as they type it. In what follows, I will use the the term “autocomplete” in the strict sense of completing what the user has typed so far, and “autosuggest” in the wider sense of suggesting not just completions, but also alternatives that the user may have intended.
On a Friday a few weeks ago, we deployed a set of minor changes to one of our Rails apps. That evening, our servers started alerting on memory usage (> 95%). Our initial attempts to remedy this situation by reducing the Puma worker count on each EC2 instance didn’t help, and the memory usage remained uncomfortably high through the weekend. On Monday, we popped open NewRelic and had a look in the Ruby VM section. Indeed, both the Ruby heap and memory usage of each web worker process had begun a fairly sharp climb when we deployed on Friday, after being totally flat previously:
However, over the same period of time, the number of objects allocated in each request remained fairly static:
If our requests aren’t creating more objects, but there are more and more objects in memory over time, some of them must be escaping garbage collection somehow. Continue reading