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 ArticleQuickcheck 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 ArticleStateful 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 ArticleA 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 ArticleThe 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 ArticleTerra: 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 ArticleChesterton’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 ArticleA 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 ArticleHow 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 ArticleReading 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 ArticleDifferent 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 ArticleWhat 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 ArticleHow 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 ArticleWhy 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 ArticleFallacies 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 ArticleIt’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 ArticleInterviewing: 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 ArticleSurprise! 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 ArticleTests 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 ArticleOn 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
More Pages to Explore .....