Skip to main content
Robin Winslow

Robin Winslow

22 posts

Regex basics

An overview of regex and how to use it, from a few different angles. Including appropriate warnings like ‘avoid regex’.

Design and Web team summary – 20th July 2020

The web team here at Canonical run two week iterations. Here are some of the highlights of our completed work from this iteration. Meet the team I am from a small island of Colombia in the Caribbean although I grew up in Barcelona, where I went to University to study Industrial Design Engineering. After my

Design and Web team summary – 17 January 2020

The second iteration of this year is the last one before our mid-cycle sprint next week. Here’s a short summary of the work the squads in the Web & Design team completed in the last 2-week iteration. Web, Ubuntu and Brand squad Web is the squad that develop and maintain most of the brochure websites

Design and Web team summary – 22 November 2019

This was a fairly busy two weeks for the Web & design team at Canonical.  Here are some of the highlights of our completed work. Web squad Web is the squad that develop and maintain most of the brochure websites across the Canonical. Takeovers and engage pages This iteration we built two webinars with engage

Avoiding dropped connections in nginx containers with “STOPSIGNAL SIGQUIT”

(Also published on my blog at robinwinslow.uk) Update: The default used in the official nginx docker image was changed from SIGTERM to SIGQUIT in November 2020, so this should no longer be an issue for Docker or Kubernetes users. nginx is a very popular web server. It may have just become the most popular web

Design and Web team summary – 16 August 2019

This iteration was the Web & design team’s first iteration of the second half of our roadmap cycle, after returning from the mid-cycle roadmap sprint in Toronto 2 weeks ago. Priorities have moved around a bit since before the cycle, and we made a good start on the new priorities for the next 3 months. 

Our new team practices site, and the democratic repository behind it

A month ago, we published our web and design team practices website, from the repository that we’ve been building up for nearly two years now. I’ll try to explain why I am so proud of it. Why practices? A strong team needs agreed standards and principles, to help anchor discussions and illuminate common goals. When

How to manage your Git history: Tips for keeping your commits tidy

One of the things we’re currently working on in the web and design team is a page about writing Git commit messages for our team practices website (I hope to write more about the practices website itself in the coming days). As part of that discussion, we jotted down some quick tips for managing commit

Design and Web team summary – 20 April 2018

Welcome to the latest work and updates from the design and web team. We manage all web projects across Canonical – from www.ubuntu.com to the Juju GUI we help to bring beauty and consistency to all the web projects. MAAS Table consistency and improvements MAAS UI contains a lot of data in tables, posing an interesting design challenge. We

Command-line usability: A terminal user’s thought process

I’ve been thinking about the usability of command-line terminals a lot recently. Command-line interfaces remain mystifying to many people. Usability hobbyists seem as inclined to ask why the terminal exists, as how to optimise it. I’ve also had it suggested to me that the discipline of User Experience (UX) has little to offer the Command-

Simplifying local development: The ./run executable

Canonical’s webteam manage over 18 websites as well as many supporting projects and frameworks. These projects are built with any combination of Python, Ruby, NodeJS, Go, PostgreSQL, MongoDB or OpenStack Swift. We have 9 full-time developers – half the number of websites we have. And naturally some of our projects get a lot of time

Our open source websites

Nowadays free software is everywhere – from browsers to encryption software to operating systems. Even so, it is still relatively rare for the code behind websites and services to be opened up. Stepping into the open Three years ago we started to move our website projects to Github, and we also took this opportunity to

Keynotes from my first PyCon – friendly and inspiring

Last weekend I went to my first Pycon, my second conference in a fortnight. The conference runs from Friday to Monday, with 3 days of talks followed by one day of “sprints”, which is basically a hack day. PyCon has a code of conduct to discourage any form of othering: Happily, PyCon UK is a

Python learnings from PyCon

The weekend before last, I went to PyCon UK 2015. I already wrote about the keynotes, which were more abstract. Here I’m going to talk about the other talks I saw, which were generally more technical or at least had more to do with Python. Summary The talks I saw covered a whole range of

Prepare for when Ubuntu freezes

I routinely have at least 20 tabs open in Chrome, 10 files open in Atom (my editor of choice) and I’m often running virtual machines as well. This means my poor little X1 Carbon often runs out of memory, at which point Ubuntu completely freezes up, preventing me from doing anything at all. Just a

Django behind a proxy: Fixing absolute URLs

I recently tried to setup OpenID for one of our sites to support authentication with login.ubuntu.com, and it took me much longer than I’d anticipated because our site is behind a reverse-proxy. My problem I was trying to setup OpenID with the django-openid-auth plugin. Normally our sites don’t include absolute links (https://example.com/

  1. Previous page
  2. 1
  3. 2
  4. Next page