## English as she is spoke

:: language

I sometimes make the mistake of reading the letters pages of newspapers.

## Macros in Racket, part three: checking boolean operators

::

I wanted to see if I could write a mildly complicated macro in Racket without becoming too confused. I can, although I am not sure it is terribly idiomatic.

This is the third part of a series on writing macros in Racket for someone used to Common Lisp, although it is mostly independent of the previous parts. The previous parts are part one & part two.

## The weakest passwords you can get away with

::

Or: why password strength checkers are useless.

## Melting the Antarctic ice sheet

::

How long might this take, in the worst case?

## Greenspunning

::

Three approaches to solving problems on computers.

## Black body planet

::

A model of the planets as black bodies is surprisingly accurate, except in one interesting case1.

## Fog computing

::

Fog computing is like cloud computing except that no-one can see what you are doing.

## Covariance and contravariance

::

Physicists seem still to be taught about tensors as being, essentially, multidimensional arrays with special transformation rules which must be learned by rote. So I wrote a document which tries to present a more useful approach.

## Contracts

::

Do not eat the free lunch: it has probably been poisoned.