Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The New Turing Omnibus Show & Tell
Clone this wiki locally
We began the meeting with an especially large glut of snacks with a vaguely festive theme (though Tom was disappointed not to find accidentally vegan mince pies in Tesco) and decided to work chronologically through our meetings since our last retrospective, showing off any software we'd built along the way.
We started with Search Trees but unfortunately Jamie's visual implementation is no longer available and Paul struggled to remember his implementation in Ruby and his associated misadventures with persistent data structures.
We then moved onto Random Numbers and enjoyed rediscovering a visualisation of the logistic function that a few members of the club had built together to explore its chaotic behaviour. We put Geckoboard's AirPlay to the test by sharing Kevin's amazing visualisation of pseudo-randomness.
Mathematical Research came next and had some of the most memorable implementations as it featured the Mandelbrot set:
- Tom's visualisation of the orbits of numbers in the algorithm
- Tom's visualisation of the Mandelbrot set
- Tom's visualisation of Julia sets
- Chris' visualisation of the Mandelbrot set with variable number of iterations
We marvelled at yet more canvas wizardry from Chris with his visualisation of genetic algorithms solving the Travelling Salesperson problem.
Having seen Sentient develop over the course of the year, it was time to revisit a meeting (and one of our most popular at that) all about it: Satisfiability. We marvelled at Chris' visualisation of Sentient's execution model and only mildly teased him about implementing so much layout logic in canvas, "if only the browser had some way to draw boxes with text in".
Paul demonstrated and explained a pagination technique he'd developed with the help of the club for use at his day job to optimise for users accessing pages at the beginning and end of very large ranges, e.g. to over 1 million pages.
Inspired in no small part by the amount of Silicon Valley he was watching at the time, this "middle-out" pagination works by flipping the order, limit and offset of database queries around a central pivot in a range of rows. This is based on the assumption that the first page of a result set ordered in one direction (e.g. by score and primary key ascending) is the same as the last page ordered in the opposite direction (e.g. by score and primary key descending). The club was instrumental in helping calculate the right limit and offset: specifically translating a page number which will always be incrementing into a limit and offset that might be coming from either end of the result set.
Chris then demonstrated a parser he'd written to work with a text-based file format using the Parslet gem.
Finally, Tom demonstrated the latest version of his Lambda Calculus workshop which is now a React, browser-based application rather than being a command line tool as it was when he ran the meeting for the club.
We decided to take a break over the Christmas holidays and return in the new year to start a new topic as voting for The New Turing Omnibus seemed to reveal that we were done with the book.
Thanks to Leo and Geckoboard for hosting, to Tom for driving and his photographs, Chris for demoing his parser, everyone who built things over the past year and to all those who contributed to the festive cornucopia of snacks we enjoyed.