Algebraic Data Types

Algebraic data types are the fundamental building blocks of programs in ML-style languages like Haskell and OCaml. Since they play such an important role in these languages, it is well worth understanding how they work and where they come from—at first, the design may feel a bit arbitrary, but in reality it flows naturally from a reasonable starting point.

More

Eloquent JavaScript

This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, and a paper version is being worked on.

More

Crossing Streams: a Love Letter to Go's io.Reader

An io.Reader is a stream of bytes. The urge to inspect them is strong. When you have a good idea on what you will get out of a Reader, but want to verify its output, ioutil.ReadAll holds a powerful allure. This isn’t necessarily a bad thing to do; after all, ReadAll exists because of this need. But it’s a bad way to program.

More

How to Speed Up Your Website?

If you are serious about ranking high on search engines, you should pay attention to your site’s speed. A long loading time can be very detrimental to your ranking because it stands in the way of providing a great user experience to your visitors.

More