Race Conditions

One commit at a time

  • Colour Search Engine Design: Designing for Colour Comparison

    This is a series of notes on colour search design based on my experiences desgining search interfaces for the lipstick search engine lipcolourmatch.com. I will link other parts of the series here as they become available. Simple yet flexible: the design of the query page The initial design of the lipcolourmatch.com search interface drew heavy inspiration from the relative minimalism of the Google search engine front page, which has a graphic, a search box and a few buttons as the main features.

    Read more…
  • How to Build a Lipcolour Search Engine with Python

    This is a sort-of transcript (written from memory a few weeks after the event, so some of the details may be different) of a talk I gave at the PyLadies Stockholm Meetup in Late October. The meetup was organised in co-operation with H&MxAI analytics department. Slide 1 Hello everyone and thank you for giving me the opportunity to give a talk at PyLadies Stockholm. Today, I’m going to talk a bit about how and why I decided to build a search engine for lipcolours.

    Read more…
  • Newsletter

    Hello friends and readers, a quick update: I am starting a newsletter that will feature writing from both this blog and thoughtwisps. If you are interested in subscribing, please visit the TinyLetter subscription page. Thank you!

  • The Paperclip Maximizer Is Already Here And It Looks Like Tech Companies Working with ICE

    I, for one, might welcome our AI overlords. (If they come pre-programmed with a cute British accent and can make me a cuppa when I’m too lazy to get out of bed on time.) Except they are already here and they don’t need any more welcoming. We’ve embraced them whoheartedly, cheered them on at conferences and stock exchanges, and even embraced a kind of neofeudal allegiance by donning clothing embroidered with their logos.

    Read more…
  • Virtual Name Based Hosting and Kubernetes Ingress

    Someone on Twitter (if only Twitter search wasn’t as bad as it is, I’d be able to link to tweet here) recently said that one of the best tech career advice they had never followed was making it a rule to write a low-key, lightweight blogpost immediately after learning how to do a new thing. This hit close to home, since I’m guilty of starting many of these lightweight blogposts and then leaving them half done in the drafts folder forever.

    Read more…
  • Has the AI ethics debate forgotten human flourishing?

    It seems that everyone these days is doing or at least talking about AI ethics or one of the closely related areas of transparency, fairness or interpretability (as an aside: although the field of machine learning model interpretability has been around for a while it has experienced a resurgence of interest due to the introduction of the General Data Protection Regulation (GDPR) in EU and the right to explanation, which it is said to confer to data subjects).

    Read more…
  • Experimenting With the Affiliate Business Model for Tech Microbusinesses

    In our day and age, how does one make money from a niche search technology? This was a question I started thinking about last April when I was writing code for a colour similarity search engine for colour cosmetics. After I launched the demo version of lipcolourmatch.com, there was a flurry of traffic and I thought there might be an avenue to try and turn this into a business.

    Read more…
  • Migrating a Service to HTTPS on GKE

    Writer’s note: Part of this blogpost was completed in October 2019 while renewing the certificates. These are rough notes, so please exercise care when doing any changes to your Kubernetes configs. Warning: some of the resources referenced in this blog post are paid resources on Google Cloud, so please exercise care! Migrating lipcolourmatch.com from HTTP to HTTPS has been on my to-do list on a long time. I made a few attempts on the project previously, but always gave up, because the bits and pieces in the Google Cloud Docs were scattered around and there was no clear, newbie-friendly walkthrough that I could use.

    Read more…
  • Just an Engineer and Technomyopia

    Published on Monday, 29th April, 2019. I initially started writing these notes last July after seeing Dr Kate Crawford speak at the Royal Society on bias in machine learning. Unfortunately, I never had a chance to finish this blog post before moving out of London and in the chaos of packing up my belongings, I’ve misplaced the notes that I took from the session. Thus there is no hope of me going in and revising this text until (if ever) I find my notes.

    Read more…
  • Team Antipatterns: Conflicting Priorities

    A side-channel attack on developer productivity. I’ve been around the tech industry block a few times now, first as a QA engineer, then a data engineer, then a software engineer and afterwards as an independent software contractor and consulting business owner. Although all of this has happened in the span of a bit over four years, I’ve learnt a lot about the different kinds of teams that develop software. In this “Team Antipatterns” series, I’d like to make notes and highlight some (perhaps obvious) things that I’ve encountered during my time in tech.

    Read more…