Games With Brains

Rewriting Reality Since 1998

We're a North London software consultancy specialising in Ruby, Go, mission-critical software architecture and refactoring. Whilst we
do not undertake Rails development projects we can provide practical advice on structuring and refactoring your existing monolithic
Rails application into a component-based Service Oriented Architecture.

Games With Brains was founded in 1998 by Eleanor McHugh to provide
specialist knowledge in Java and Microsoft technologies for real-time environments.

In 2005 we switched our focus to Ruby, a language we'd been using for personal and
in-house projects since 2001. We have a deep knowledge of Ruby and Ellie has been giving extensive presentations on its use as a systems
programming language since 2006.

As a result of our Go advocacy an increasing amount of our activity is with companies looking to either learn the rudiments of the
language or deepen their understanding. We have a particular interest in bridging the gap for Ruby teams looking to move performance-sensitive
components of their application to this new technology.

At Games With Brains we're passionate about software and computers. Everything we do flows from this passion and we explore many
technologies outside our core specialisations to ensure that we can offer you genuinely innovative solutions. We also have a strong
dislike for wasting resources so we invest the effort up-front to really understand the problems we tackle and use an iterative,
empirical approach to solve them elegantly.

At Games With Brains we believe in the principles of iterative development:

frank and open communication between developers and stakeholders

self-organising teams

bottom-up design

short prototyping cycles

robust testing

However we also know from our own experience that methodolgy is much less important to elegant software design than understanding the problem
domain being addressed. Unlike other consultancies focused on iterative development we won't push a particular methodology or insist on changing
the way you work, instead we'll look for ways you can introduce iterative principles that make sense to you.

We can help you bring Agile values into your development processes without getting hung up on prescriptive methodologies.

training course with lectures, workshops and tutorials

£1000 per day per person

mentoring and tutorials for groups of up to three people

£375 per half day per person

conference presentation, workshop or other public appearance

£250 per hour

If you're working on a network-based application we can design your database, communications protocols and application APIs to ensure the privacy
of your users' details both at rest and in transit.

Sourcing new team members for a project can be a fraught experience, especially where unusual skill combinations are required. Recruitment firms
will find you candidates matching specified keywords then the onus is on you to figure out which of these fits your actual needs. We can apply our
technical expertise to select CVs for interesting candidates likely to suit your actual requirements, based on a deeper understanding of your
project.

Go is a deceptively simple systems programming language developed in house at Google by
Rob Pike, Ken Thompson and Robert Griesemer. It's use of garbage collection, type inference, object composition and concurrency in the
CSP style give it the feel of popular
dynamic languages but with the performance and correctness guarantees provided by static compilation.

We've been working with Go since November 2009 and have run workshops at a number of high-profile events in the UK and USA.

See training for further details of our mentoring and tutorial options.

Ruby's been one of our favourite languages since 2001 however it wasn't until 2005 that
Rails gave it sufficient recognition to be a viable choice for commercial projects.
At Games With Brains we specialise in backend server components and lightweight distributed systems using
Sinatra and HTTP. We also offer advice and support refactoring existing Rails
applications.

See training for further details of our mentoring and tutorial options.

The majority of our work is closed-source but Ellie has presented at a number
of international conferences where she's covered the use of Ruby for traditional systems programming
tasks: networking; concurrency; cryptography; DNS; and UNIX integration.

If you have a difficult Ruby problem which needs a fresh perspective or a legacy
Rails project in need of refactoring and rearchitecting then we can help.

Back in 2006 Ellie built the software prototypes for dotTel, a global domain hierarchy with unique characteristics. Subsequently we've worked on a number of innovative DNS projects
involving content publishing, parametric resolution and encrypted hierarchies using
NAPTR resources.

Software

If you're looking for an interesting cross-platform programming language to play with, check out either
Icon or its derivative Unicon. This family
of languages combine an Algol-like syntax with generators and goal-directed evaluation, making for very powerful and elegant solutions to otherwise
complex problems.

Our prefered choice of editors includes nano and
TextMate. If you've never played with emacs then you owe it to yourself to give it
a spin, though it's often overkill for simple editing tasks.

Hardware

We used be big fans of IBM Thinkpads and until summer 2013 were still using an aging
X31 running OpenBSD as our
main web and email server. It's now been mothballed but as they're tough little machines it could well see use again.

These days we mostly use Apple Macs as the build quality is excellent and
MacOS X is a nice mix of UNIX foundations with
user-friendly features. However as Apple still resolutely refuse to release a netbook
we also keep a foot in the Hackintosh scene.