Chris Roos by Chris Roos

Show and Tell 40

James and I were joined by Ben, Chris, Nicky, Rob and Tom for our 40th Show & Tell.

Thanks to everyone for coming and thanks to Tom for taking the photos.

Containers in Ruby

James explaining how to build a simple container in Ruby

James walked us through using Ruby to create a simple Docker-like container from scratch. Inspired by Liz Rice’s talk at Dockercon17, he’s been working on his own containers-from-scratch implementation in Ruby.

James stepped through the commits in his project in which he starts with the most basic “container” (which isn’t isolated from the rest of the system) and incrementally enhances it to isolate it from the host. James used pstree and other shell commands to demonstrate process and file system isolation as the container progressed.

James is using Fiddle (a bit like FFI) to make the necessary calls to the OS and has been interested to learn about using virtual filesystems to modify system settings, and about cgroups to limit child processes.

James’s explanation really helped demystify “containers” for me. I certainly hadn’t realised that a lot of this stuff was baked into Linux.

House prices and school catchment areas

Rob explaining his school catchment area and property website

Rob demoed a project he worked on a few years back when he was a Latte Papa (Swedish term for stay-at-home Dad :-)). The arrival of Rob’s first child meant he and his partner started thinking about schools and whether they’d need to move to increase the chances of their child getting in!

Being a software developer, it was only natural for Rob to write something to make the process easier. He’s created an Airbnb-like web interface showing properties for sale near your desired school. Selecting a school on the map plots the catchment area to make it easy to see the houses that fall within it. Rob’s using historical data to plot the catchment area because the complexity of the catchment rules means that this should give a more realistic idea of whether a particular property falls inside its boundaries. He’s used shades of green on the properties to indicate how likely you are to get a place at the school.

Rob wrote the app using CoffeeScript, used Leaflet for the maps and Turf to plot the catchment areas. Rob’s really keen to offer it as a service but hasn’t had time to do so since having his second child.

Rob mentioned AdmissionsDay as a similar service, albeit one focussed on school catchment areas and not (yet?) on properties for sale. He also showed us the Rightmove school checker but suggested that it could potentially give misleading advice based on the historical data available.

I thought it looked really polished and so I really hope Rob’s able to find some time to do something with it.

CSS Shapes

Nicky walking through her talk about CSS Shapes

Nicky ran through the very early skeleton of a talk she’s preparing to give at Frontend London about CSS Shapes; covering shape-outside, shape-inside and clip-path.

These relatively new CSS properties make it easier to generate visually appealing website by giving you more control over the flow of text on a page. They appear to offer some of the functionality that’s been present in desktop publishing packages for sometime (e.g. flowing text around an image). Nicky’s particularly keen on the use of these techniques as it means that the site remains accessible.

Nicky was interested in feedback about the talk to help guide its development before she presents it for real. There was a suggestion of starting the talk by explaining how it is possible to achieve some of these effects at the moment but that it’s very hard and may not result in an accessible site. This would lead nicely into a demo of how these new properties make it much easier.

I really appreciate that Nicky felt comfortable presenting such an early version of the talk and I hope the feedback was useful!

I haven’t really even used CSS for a year or more, let alone tried to keep up with its development. I was impressed by this new functionality that’s been added.

Machine learning

Chris describing the k-means clustering algorithm

Chris P finished up by talking a bit about the Coursera machine learning course he’s taking. He’s enjoying the course and finds that the mix of videos, text and practical exercises works really well.

He’s currently working through the section on “unsupervised learning” which, as I understand it, is about trying to find structures and patterns in data when you don’t know what it might contain. He explained a bit about the k-means algorithm and how it can be used to reduce the number of colours in an image while retaining as much information as possible. There was also some discussion of the Principal Component Analysis algorithm which is useful for distilling information. This can be helpful for visualisation as it will allow you to take data in many dimensions and compress is to 2 or 3 for display.

Chris left us with a teaser of a tool he’s built to see whether he can teach a computer to learn the 12 days of Christmas song. This is, apparently, the only practical use he’s come up with for the things he’s been learning :-)

Chris demonstrating his 12 Days of Christmas machine learning tool

I continue to be fascinated and baffled by these things although it feels as though I’m very, very slowly understanding some of it.

Show & Tell 41

We’ll be hosting our 41st Show & Tell in February. Please get in touch if you’d like to join us.

If you have any feedback on this article, please get in touch!

Historical comments can be found here.