Species that aren't closely related can look identical thanks to a
bizarre trick of evolution. A new study reveals part of the
mechanism for creating nature's unrelated twins.
In the early afternoon we went to Hook of Holland. I took Alice on
my bike and Esme took Adam on hers.
On the way back I took a photo of a landscape with bright green moss,
close to the dunes of Hook of Holland. I had already seen this
landscape on the way to the pier, but decided to take photos on the
way back.
On our way back we decided to pay a short visit to garden centre "De
Carlton" and have a look at the plants on display.
At the garden centre I took a photo of a hairy mock orange,
Philadelphus incanus, according to the
PlantSnap app on my iPhone 5.
mypy is a static type checker. This means it does not run during
the code execution, so it’s mostly useful during development, much
like tests. It relies on manual annotations in the code called type
hints, which identify the types of arguments, return types, internal
variables and member variables.
While talking about thinking about tests and testing in software
engineering recently, I’ve come to the conclusion that there are (at
least) two major ideas and goals that people have when they test or
talk about testing. This post aims to outline what I see as these
two schools, and explore some reasons engineers coming from these
different perspectives can risk talking past each other.
Machine learning is one of the hottest topics in computer science
today. And not without a reason: it has helped us do things that
couldn’t be done before like image classification, image generation
and natural language processing. But all of it boils down to a
really simple concept: you give the computer data and the computer
then finds patterns in that data. This is called “learning” or
“training”, depending on your point of view. These learnt patterns
can be extrapolated to make predictions. How? That’s what we are
looking at today.
I’ve spent a good deal of my professional life arguing against using
protobuffers. They’re clearly written by amateurs, unbelievably
ad-hoc, mired in gotchas, tricky to compile, and solve a problem
that nobody but Google really has. If these problems of protobuffers
remained quarantined in serialization abstractions, my complaints
would end there. But unfortunately, the bad design of protobuffers
is so persuasive that these problems manage to leak their way into
your code as well.
Haskell is a programming language that a
lot of people use to learn functional programming and solve
programming exercises. But not as many take the leap to use Haskell
for practical projects. To try to help to bridge this gap, I will
walk through how to create a "practical" Haskell application. This
is of course not the only way to do it and there are alternatives to
every approach I am using, but this is what I find most suitable for
a small easy-to-understand project.
I’ve taught functional programming for years now, each time
experimenting with different ways of teaching core concepts. Over
time, I’ve collected and converged on simple (but reasonably
precise) pedagogical definitions for a range of functional concepts.
In this post, I’ll share those definitions with you, in my first
ever, Glossary of Functional Programming. Enjoy!