Your current filters are…
by Tom Wright
Learn about sensory substitution devices and the specific design problems involved with their development.
by Dan Haywood
You need to build a new system, and because its functionality will be reused by other systems, you decide to adopt a RESTful approach. But because you also need to deliver some business value, you then start to use that API... In this talk Dan reviews a years' worth of developing and consuming a RESTful API developed with strict TDD and agile principles. We debate HATEOAS vs templated URLs, what sort of media types to expose, how we tested the app. We also discuss whether and how to hide the domain model, not to mention whether the domain model we ended up with was actually any good. But we punt into the long grass the question of how to document the RESTful API. And then, we wonder if said API really is RESTful, and if it is isn't, whether that mattered. What would it take to make it truly RESTful, what would it be worth the cost? And, we consider what is it within REST that makes it hard to get it right first time around. Drawing on his experience of domain-driven design, Dan then proposes an alternative approach, adopting a DDD style first and then looking to expose the domain classes via a generalized RESTful API. What are the objections to doing this, and do they hold up? What are the benefits, what are the compromises, can, indeed, such a generalized API, in fact, be specified? And if it can, might it be a way to build RESTful systems in the future?
The finalists of the Code Ken Side Projects competition will have 10 minutes each to present their projects. After which time the audience will decide on the project winner. Find out more about the competition.
by Richard Marr
Working with the modern web increasingly means working with asynchronous behaviour and real-time data, but it doesn't have to be hard. This session will introduce Node.js and show a few of the tools you can use to create your own real-time apps.
Over the last 3 years at LMAX we've been building a high performance financial exchange. A task that has brought a lot of interesting challenges. Our most interesting discovery is that the software industry is rife with mythology and folklore when it comes to performance. In an effort to bring back science and rational thought to software development, this talk will attempt to dispel the common myths that we have encountered. It will be a deep dive into a number of areas of software development including distributed systems, concurrency and parallelism, I/O, algorithms, garbage collection, and memory efficiency.