Quantcast
Channel: programming – David R. MacIver
Browsing all 81 articles
Browse latest View live

An interview question

This isn’t a question I’ve ever used to interview people, but it’s not dissimilar from the coding test we’ve got very good results from at Aframe (the problem is not at all similar, but the setup is...

View Article



Quickcheck style testing in python with hypothesis

So I’ve been tinkering a bit more with hypothesis. I would now cautiously label it “probably not too broken and I’m unlikely to completely change the API”. The version number is currently 0.0.4 though,...

View Article

Stateful testing with hypothesis

The idea of stateful testing is that it is “quickcheck for mutable data structures”. The way it works is that rather than trying to produce arguments which falsify an example, we instead try and...

View Article

A possible more principled approach to generation and simplification in...

Currently the way generation and simplification in hypothesis work are very ad hoc and undisciplined. The API is spread across various places, and the actual behaviour is very under-specified. There...

View Article

The horror lurking at the heart of the new hypothesis

I’ve just merged a branch with a redesign of the hypothesis core into master. All the tests are passing, and I’m much happier with the new design than I was with the old one. It takes the idea of the...

View Article


Image may be NSFW.
Clik here to view.

Terra: A brief review

A link that’s gone past me a few times recently is to Terra, which is “a new low-level system programming language that is designed to interoperate seamlessly with the Lua programming language”. It...

View Article

Image may be NSFW.
Clik here to view.

Chesterton’s patch

I encountered the notion of “Chesterton’s Fence” this morning via Ozy Frantz. In the matter of reforming things, as distinct from deforming them, there is one plain and simple principle; a principle...

View Article

A case study in bad error messages

Consider the Python. I’ve been writing a lot of it recently. It’s mostly quite nice, but there are some quirks I rather dislike. You may have noticed, but I have strong opinions on error reporting....

View Article


How learning Scala made me a better programmer

People will often tell you how learning functional programming / C / their current favourite language paradigm will make you a better programmer even if you don’t actually use it. I mean, yes, I...

View Article


Reading code by asking questions

Peter Seibel wrote a piece about code reading recently. It’s a good piece which meshes well with my experience of code reading, and it got me thinking about how I do it. I think there are three basic...

View Article

Different types of overheads in software projects

I mentioned this concept on Twitter in a conversation with Miles Sabin and Eiríkr Åsheim last night, and it occurred to me I’ve never written up this idea. I call it my quadratic theory of software...

View Article

What is good code?

A long long time ago, in an office building a couple of miles away, I was asked this question in an interview. I’m not sure how much they cared about the answer, but mine was more glib than it was...

View Article

How hard can it be?

There are two types of people in the world: People who assume jobs they haven’t done and don’t understand are hard People who assume jobs they haven’t done and don’t understand are easy People who try...

View Article


Why mathematics makes you better at programming (and so does everything else)

There’s been a bunch of discussion on whether mathematics is programming, whether you need to learn mathematics to program, etc. on Twitter recently. Some of it has been quite heated. So naturally I...

View Article

Fallacies programmers believe about credit cards

Actually I only have one: The person trying to use this credit card wants to pay in the currency of the country they are currently in I have encountered this as a problem multiple times recently: I...

View Article


It’s OK for your open source library to be a bit shitty

(Content note: I normally try to keep my natural level of profanity slightly under control on this blog. I won’t be doing that in this post) The major reason I wrote Hypothesis is to destroy shitty...

View Article

Interviewing: Test, don’t sample

Do you ask for a code sample when interviewing someone? Don’t. It’s a terrible idea. It creates stress and doesn’t give you any useful answers. Seeing code they’ve written is obviously good and useful,...

View Article


Surprise! Feminism.

So yesterday’s article on it being OK to write shitty open source has had thirty thousand views. Most of these came from it hanging out at the top of r/programming for nearly 24 hours. Which… wow....

View Article

Tests are a license to delete

I’ve spent the majority of my career working on systems that can loosely be described as “Take any instance of this poorly specified and extremely messy type of data found in the wild and transform it...

View Article

On Haskell, Ruby, and Cards Against Humanity

I really hate Cards Against Humanity. I don’t particularly hate it for the obvious reasons of middle class white kids sitting around a table giggling at how transgressive they are being with their...

View Article
Browsing all 81 articles
Browse latest View live




Latest Images