Category Archives: Uncategorized

Notes on London flat hunting

So I’ve decided to move back to London, and yesterday I started hunting for a flat to rent. About four hours later I put down a holding deposit on a flat (ok, sort of a flat, it’s really more of a bedsit, but that’s actually what I’m looking for right now – a 6 month ish tolerable environment for as little money as I can get away with in London).

Apparently this is surprising behaviour and not at all what people are used to with the experience of London flat hunting. And there’s absolutely no doubt that I got lucky. But some of it is also that I’ve learned the tricks, and some of it is that I have flexibility available to me to solve the problem.

So I thought I’d put together some notes on what I’ve found helps in looking for a London flat.

Note that I’m very far from an expert on this (I have successfully done this three times, plus an additional two that don’t count, plus this one which I’m not counting as a success until I move in). So these are very much intended as descriptive rather than normative rules. They seem to be what I do that works. You may wish to emulate them.

Rule one: You have no time, you have no bargaining power. When you see the flat, if you want it you say “Yes I’ll take it. Show me the paperwork” right there and then. If you say “let me think about it” or “yes but” then you have said no. It is completely OK to say no and if it’s a shitty flat then you should of course do that, but London flats move so quickly that you don’t get to say yes conditionally. If you’re not walking away having put down a holding deposit you’re walking away from the flat.

And yes, this is terrible. It’s a large part of why the London housing situation is so bad. But as a renter there’s not much you can do about it.

Rule two: Flexibility about time and money will get you far. I can’t currently demonstrate a convincing income stream but I can pay for multiple months up front. This opens a lot of doors that would otherwise be closed to me. Flexibility about move-in dates is also a big deal: If you can say “I can move in at any date within this fairly large range” a lot more flats are open to you.

Obviously this rule is the very definition of financial privilege. Sorry.

Rule three: If it’s been on the market more than 24 hours it’s gone. Don’t bother. If you call up about it the letting agent will be all “sorry it’s gone but we do have this remarkably similar flat that costs about 50% more. Are you interested?”.

Rule four: Be specific about your requirements, turn them into a rightmove search (remember the 24 hours thing! You can filter by that). Look through the listings, turn on instant (not daily!) alerts for this search. You will get very used to calling up letting agents and saying “Hi I’m calling about a listing on rightmove and would like to check if it’s still available and arrange a viewing if it is”. They will often try to talk you into seeing other properties and you should let them.

Rule five: “I can do a viewing as soon as possible. Like, literally right now if you’re available. It will take me X minutes to get there. OK, so you’ve suggested a viewing at Y, can you maybe do a little earlier?”. Remember rule one: This is a race. If people are viewing before you then you’ve got a very good chance of losing the flat if it’s actually good.

Rule six: Make sure you have a hard upper bound on your monthly rent in mind because if you talk to letting agents they will try to talk you up. “I know you’ve said you’re only in the market for $X / month but I have this great flat for only $X + 200 / month. Would you like to take a look?”. It is OK to lie to letting agents about your upper bound and claim it is lower than it actually is in order to take advantage of this process.

I think that’s mostly it. It’s a shitty process and you have to be super aggressive about it, but it does seem to work.

This entry was posted in Uncategorized on by .

New release of hypothesis-pytest

Version 0.16.0 of the Hypothesis pytest plugin is out. This contains two new features kindly contributed by others:

  • Florian Bruhin added a ‘hypothesis’ marker to all tests that use @given, making it easy to select or exclude tests based on whether they use Hypothesis
  • Mikhail Stepura changed the default behaviour so that when ‘–capture=no’ the Hypothesis reporting integration is disabled and it will just print messages from Hypothesis directly.
This entry was posted in Hypothesis, Python, Uncategorized on by .

Book review: Smarter than you think, by Clive Thompson

One sentence book review: I loved this book and think you should read it. Go on, go buy it.

What, you need more than that? Oh, fine.

For me this book was a little bit too preaching to the choir, because this is a subject I think about a lot, so it was more interesting from a “how to talk to people about this sort of thing” point of view. That being said, I did learn about two really quite important things out of it:

In general neither of those are really what the book is about: They both come up in the context of how technology can affect them. The 2 sigma problem in terms of how technology in the classroom (which is, admittedly, not usually well implemented) can take a lot of the burden off teachers and thus allow them to focus more on giving one on one time to students who need them. The latter in terms of how ambient awareness tools like social media can help you become aware of the things that everyone is thinking but nobody is saying.

What this book is about is the idea that technology changes the way we think by providing us with capabilities we didn’t have, or more commonly by taking capabilities that we had and making them easier, or ubiquitous, which can change the cost benefit analysis radically. Google or wikipedia are not “new” capabilities – we could always have gone down to the local library and browsed an encyclopaedia, but by making them first easy and then, with mobile, ubiquitous, we enable new modes of thought that we would not previously have been able to achieve because we would have got stuck on the absence of some bit of information.

The author is not blind to the costs. He does talk about the problems of distraction, and the way that the tools of technology can both help as well as hurt oppressive regimes, and he is well aware that different people receive the benefits of technology to wildly differing degrees, but by and large the book is optimistic, and is a refreshing and pleasant look at the positive effects of technology on our thinking.

This entry was posted in Uncategorized on by .

A terrible/genius idea

In a conversation with Mark Jason Dominus and Pozorvlak on Twitter about GHC compile error messages I realised there was a common pattern of problem:

Compile errors are confusing, but they are confusing in predictable ways. The same error message that is completely unintuitive to a human will tend to be emitted in the same pattern of error.

Writing good error messages is hard, but this is the sort of thing which can be debugged better by a computer than a human. A simple bayesian text classifier can probably map these error messages extremely well to a diagnostic suggestion, and sometimes all you need is those suggestions to put you on the right path.

Moreover we can crowdsource gathering the data.

Here is a plan. A simple wrapper script which you can alias to any program you like and it will execute that program, passing all the arguments through.

If it ever gets a non-zero exit code it looks at the output of stderr and attempts to run it through a classifier. It then says “Hey, I think this could be one of these problems”.

If soon after it sees you run the program again with exactly the same arguments and it now gets a success, it says “Great, you fixed it! Was it one of the errors we suggested? If not, could you provide a short diagnostic?” and submits your answer back to a central service. The service then regularly builds machine learning models (one per base command) which it ships back to you on demand / semi-regularly.

You need some additional functionality to prevent well-poisoning and similar, but I think the basic concept wouldn’t be too hard to get something up and running with.

I’m not going to do it though – I’ve more than enough to do, and this doesn’t actually help with any problems I currently have regularly. If anyone wants to take the idea and run with it, please do so with my blessing.

This entry was posted in Uncategorized on by .

Making Hypothesis sustainable

You might have noticed Hypothesis is atypically good for an open source library of its age and size. There’s a very simple reason for this, and it’s not that I’m brilliant, it’s that at this point I’ve sunk about 6 months of full time work into it.

The reasons for doing so are complicated and not very relevant, but the main point is that I’m making very little money off doing so, to a degree where this is obviously not something I can continue doing indefinitely and really should have stopped months ago.

But this is ridiculous. I’ve written high quality software which at this point I’m pretty sure is collectively saving people significantly more money than paying me a full time salary would involve. If I can’t figure out a way to make money out of that, something is clearly broken (well, many things are clearly broken, but it would be nice if this weren’t one of them).

The original plan was to sell training and consulting, but either I’m not talking to the right people or this is a very hard sell (or both). So far this is looking like it will be in the category of “Provides a nice top up but isn’t even close to enough to sustain development”.

So I would like you to do two things:

Thanks in advance.

This entry was posted in Hypothesis, Python, Uncategorized on by .