Language, discrimination and software development

I recently noticed myself using gendered language to talk about computer things where gender was irrelevant.  This got me thinking about language, and prejudice and discrimination, more broadly.  Beyond the obvious, decency-related reasons, being more open to how people are different from you could help you do your job in IT. Gendered magic The trigger … Continue reading Language, discrimination and software development

Organising technical documents for a good user experience

I was doing some technical writing at work recently, and I realised that I had automatically and unconsciously used a particular structure for the document.  It’s not something that geeks like me are always taught – I know it only because my Dad used to help people improve their technical writing.  So, in case it’s … Continue reading Organising technical documents for a good user experience

Covariance and contravariance, part 3: Covariance in interfaces

This article is the third in a series on covariance and contravariance: Covariance in arraysContravariance in interfacesCovariance in interfaces In the previous article I showed how an interface could be contravariant, meaning it is expecting a smaller type for something you pass it. In this article I will show how an interface can be covariant, … Continue reading Covariance and contravariance, part 3: Covariance in interfaces