Articles, code experiments and other non-work things.
A CodePen experimenting with displaying many rows of content in an innovative way.
Uses CSS Grid with transforms and ::before and ::after selectors to add a 3D effect to a list of images.
A horizontal brick layout using CSS Grid and vertical-lr writing mode to maintain a up->down then left->right dense packing.
Not a layout that would be recommended for desktop but works nicely as a horizontally scrolling mobile/tablet layout.
An experiment in overlaying CSS Grids to create an isometric layout. Three grids are skewed and rotated to provide an isometric framework
Content is positioned on the 3 grids to give an overlapping 3D effect.
A CSS Grid layout using perspective and Y-rotation to give a 3D effect.
A morphing grid experiment using CSS Grid to provide the grid and dynamically changing the "grid-template-columns" and "grid-template-rows" attributes based on the mouse position.
Based on a Flash experiment by Yugo Nakamura
A CSS Grid layout experiment on CodePen using CSS Grid and CSS transformations and perspective.
The layout is based on the famous 1924 poster by Alexander Rodchenko for the Gosizdat publishing house.
An experiment on CodePen combining CSS Grid and SVG animation using D3.js.
The tessellated lizard tiles are based on a painting by M. C. Escher.
A CSS Grid layout on CodePen with a diagonal grid that fills exactly the browser window and orders the items appropriately.
CSS Grid makes laying out content in a grid much easier and does a good job of Masonry style layouts as long as you are able to specify the size of each grid item in advance.
The dilligent and learned maesters at the excellent Game of Thrones wiki have documented everything you could ever need to know about Game of Thrones. This includes every character who has appeared in the show. From Daenerys Tagaryen to Othell Yarwyck to "Dwarf Hunter 2". If they speak a line or even if they are just an interesting corpse they will be on the site.
Having spent a few months experimenting with CSS Grid layout I had a collection of CodePens that I thought were interesting and demonstrated techniques I hadn't seen elsewhere.
With this in mind I wrote a Medium post listing some of these new techniques and layouts and included links to the CodePen examples.
I wrote a post on Medium explaining this approach and providing examples of various iterations of the final solution.
Having started using CSS Grid I was interested in exploring its ability to lay out different size content blocks into a densely packed grid. For this I used all the characters from Game of Thrones that I had gathered for a data vis project.
Mike Bostock's D3.js library makes use of SVG, HTML5 and CSS standards to create interactive data visualisations for the web. He has hundreds of examples of amazing visualisations created using this library.
I had been using the library to make some data visualisations of my own and as part of this I wanted to create a simple and reusable world map template. The idea was that I would be able to use this standard map as a base for future visualisations so it should be possible to customise it very easily.
An old article describing how I added my latest Instagram photos to my personal site using my own look and feel despite Instagram not really supporting this.
Article describes scraping Instagram for my most recent content, saving the images locally and then implementing a Masonry layout using AngularJS
To play the Game of Thrones you will need allies. But when those allies are Petyr Baelish, Roose Bolton or Alliser Thorne you will also need stab proof armour.
This map shows all the major houses and institutions of the Game of Thrones world with the many, many allegiances and connections to the hundreds of characters in the show.
The animation shows details of all 926 matches played so far as the map updates to show which teams have held or challenged for the title.
A data visualisation to show the distance travelled by each Premier League footballer to get to their current club. It shows the distance from the player's birthplace and the clubs they have been at along the way both individually and totalled for each club.
See which clubs cast their nets the furthest and which rely on the largest number of journeymen.
The Unofficial Football World Championships is a project by Paul Brown that tracks the World Champions of football as if the title were decided in the same way as boxing, i.e a team remains champions until they lose a game.
My data visualisation shows all of the 918 "title decider" games that have been played so far showing how the title has jumped from nation to nation and continent to continent.
A selection of data visualisations from the 2016 Summer Olympics.
Data was either manually collected from wikipedia or scraped in real time from the BBC medal table and then stored in MySQL and formatted to CSV or JSON files.
The visualisations were built using D3.js and JQuery using some of Mike Bostock's excellent examples as a starting point.
Fans of Game of Thrones know that Valar Morghulis (all men must die) but when over 200 named characters have already gone to meet The Seven (or The Old Gods, or The Drowned God, or The Lord of Light, or The Many-Faced God of Death, or the Great Stallion, etc...) then it gets hard to keep track of the tragedy.
Fortunately Maester Barefoot has created a comprehensive record of all these deaths, whether violent, very violent or extremely violent.
Ski VR is a quick VR demo built for Google Cardboard but also playable without a headset.
Slide gracefully down the mountain between trees and alpine chalets in a Virtual Reality winter wonderland.
Color Hex is a mobile puzzle game for Android and iOS built and published uing the Unity platform.
The player must try and match patterns by mixing colours together on a hexagonal grid. As the patterns get more complicated the puzzle becomes more difficult.
There are 2 play modes with a combined total of 222 levels.
The site the Public Whip aggregates the data on how MPs in the UK parliament vote. They then group this by similar votes to provide an insight into how much each MP supports a particular policy.
The site did not provide a tool to enable users to easily compare MPs and see their relative support for each issue.
Demo search engine of sneakers collating and comparing sneakers from a number of eCommerce sites.
Regularly spiders a number of sites and compares prices where identical sneakers appear on multiple sites.
More and more people are posting photos on their social web blogs. But most of them are not very good photographers. Or have poorly made cameras. The colours come out funny, the edges are all crackly and often some of the image is out of focus.
I have developed an app to restore these poor quality photographs: Winstagram!
A random choice of blue bon-mot is substituted every time you click the "Tuckerise" button so click away. However, be warned. He is a very very rude man and if you don't like naughty words you probably won't like this.