# mulberryhousesoftware.com > AI-optimized mirror of mulberryhousesoftware.com containing 33 pages totalling 10,526 words of clean markdown content, structured data, and semantic HTML. Original source: https://mulberryhousesoftware.com/. Last updated: 2026-06-13T21:38:00.056Z. Each page is available as HTML (with JSON-LD structured data) and Markdown (text-only, ideal for LLMs and RAG). ## Homepage - [Create data-driven interactive stories.](/content/site-root.html): I’m Spencer, a software designer and entrepreneur based in New York City. I’m the founder and CEO of Planetaria, where we develop technologies that empower regular people to explore space on their own terms. (316 words) ## Articles & Blog Posts - [404](/content/infographics/world-20marathon-20courses-pdf.html) (6 words) - [404](/content/articles/wehorr-winning-times/index.html) (6 words) - [articles/leaflet-d3/index.html](/content/articles/leaflet-d3/index.html) (1 words) - [Creating Visualizations with D3](/content/articles/reusable-charts/index.html): When it comes to creating visualizations on the web D3 is often your first port of call. Whether by putting together a custom creation from scratch, or making use of one of the many charting libraries and examples available. (1,064 words) - [Reusable charts developed specifically for this application](/content/articles/reusable-charts-and-extensible-frameworks/index.html): A few months ago, I wrote about reusable charts. The thinking behind the blog post fed into the initial design for a new web application - Financial Canvas Studio. It helps professionals in the pension industry understand their financial models and the assumptions that go into them - leading to smarter decisions. (860 words) - [Getting hold of the data](/content/articles/world-marathon-courses-infographic/index.html): Every now and then I like to put together an infographic poster as quickly as I can. My latest attempt is this poster of World Marathon Courses. (796 words) - [Onboarding](/content/articles/readme-driven-development/index.html): You've joined a new team. IT have set you up with a sweet new machine. You're eager to dive in and start contributing so you jump over to the GitHub repository to check out the readme... (566 words) - [Never attribute to malice what can be explained by incompetence - Mulberry House Software](/content/articles/never-attribute-to-malice-what-can-be-explained-by-incompetence.html): I remind myself of this saying whenever I come across a new and surprising example of poor user interface design. With this is mind I'd like you to consider this ticket machine at Cambridge North station. (515 words) - [Updating d3-simple-slider for d3 v6](/content/articles/supporting-two-major-versions-of-d3/index.html): A new version of d3 was released recently. As I maintain a few open source d3-related libraries I was curious what work would be required to support the new version. It turns out not to be too difficult and I wanted to share my experience. (394 words) - [Update: Women's Eights Head of the River Race winning times - Mulberry House Software](/content/articles/update-womens-eights-head-of-the-river-race-winning-times.html): My last post looked at the winning times for one of the world's largest rowing races. We saw that the results were very variable but I wasn't sure what the important factors might be. (370 words) - [What makes for a memorable oar design? - Mulberry House Software](/content/articles/what-makes-for-a-memorable-oar-design/index.html): Last month I put together a quiz game: Inspector Oars. The intended audience is pretty niche; people involved in rowing at Cambridge and Oxford universities. You’re given the name of a college and asked to pick the rowing oar design used by that college from a selection. (193 words) - [My Ticket Machine Confession](/content/articles/east-croydon-where-art-though/index.html): I have a confession. Whenever I have an opportunity to use a ticket machine at a train station I’m secretly hoping to discover some new annoyance I can rant about. (478 words) - [Data Visualization for Bike Thefts in the UK](/content/articles/a-command-line-spreadsheet/index.html): The ability to quickly open, explore, summarize, and analyze datasets is an important part of data visualization. As part of putting together data for an infographic on bike thefts in the UK I wanted to see which post codes saw the most reported thefts. Crime data can be downloaded from: data.police.uk. (393 words) - [Allotment: a React component for resizable split views - Mulberry House Software](/content/articles/allotment-a-react-component-for-resizable-split-views.html): As part of my work with a client, Vega Protocol, we identified a need for a simple split pane component to use in their web application. What’s a split pane component you ask? It looks something like this. (341 words) - [Women's Eights Head of the River Race](/content/articles/womens-eights-head-of-the-river-race-winning-times/index.html): The Women's Eights Head of the River Race is the largest women's rowing race in the world with around 2,880 women racing and 320 crews taking part. The race sees novices and Olympic champions competing together on the same stretch of water in London. It's the same course as the annual Oxford-Cambridge Boat Race (although usually in the opposite direction). (329 words) - [How do you stack up?](/content/articles/how-do-you-stack-up/index.html): In my last post I looked at visualising distributions. Let's apply what we learnt there to a real world data set. We'll continue our theme of using a set of rowing race results. You can see the result below. (139 words) - [Visualising distributions - Mulberry House Software](/content/articles/visualising-distributions/index.html): Visualising the distribution of data is something that crops up frequently. This blog post by Dark Horse Analytics does a good job summarising a few of the options available. (227 words) - [HOW LONG IS A ROWING BOAT?](/content/posters/how-20long-20is-20a-20rowing-20boat-pdf.html) (107 words) - [Twenty-five ways to cross the River Cam](/content/posters/twenty-five-20ways-20to-20cross-20the-20river-20cam-pdf.html) (128 words) - [PEDESTRIAN CROSSINGS](/content/posters/pedestrian-20crossings-pdf.html) (145 words) - [Oxford vs Cambridge](/content/posters/britain-s-20bike-20theft-20capital-pdf.html) (49 words) - [The 10 oldest universities in the UK](/content/posters/the-20ten-20oldest-20universities-20in-20the-20uk-pdf.html) (109 words) - [World Marathon Courses](/content/posters/world-20marathon-20courses-pdf.html) (15 words) - [JOHN WALLEY](/content/john-walley-cv-two-page-pdf.html) (495 words) - [Reno](/content/articles/snapping/index.html): Developing a snapping algorithm for a floorplanner. (873 words) - [Do union and intersection types mean what you think?](/content/articles/index.html): All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order. (753 words) - [[Reno](https://www.renovatewithreno.co.uk/)](/content/projects/index.html): Things we’ve made trying to put my dent in the universe. (151 words) - [Videos](/content/infographics/index.html): Some of the infographics and videos we've created. (163 words) - [John Walley](/content/team/index.html): We’re Mulberry House Software. We’re based in Cambridge, UK, where we visualise the future. (74 words) - [Faster image uploads - Mulberry House Software](/content/articles/image-upload-optimisation/index.html): Keeping people happy through timely feedback. (316 words) - [Reno - Mulberry House Software](/content/articles/reno/index.html): From bathroom planners to product launches. (107 words) - [We’re Mulberry House Software. We’re based in Cambridge, UK. We provide data visualisation and software development products and services.](/content/about/index.html): I’m Spencer Sharp. I live in New York City, where I design the future. (47 words) ## Resources - [Full Page Index](/index.html): Browse all cached pages with rich metadata - [About This Cache](/content/about.html): Methodology, technical details, and usage guidelines - [XML Sitemap](/sitemap.xml): Machine-readable sitemap for crawler discovery - [Robots.txt](/robots.txt): Crawler directives