Not too long ago, my friends and I were trying to find a waterfall in rural northern Vietnam. We set off with our bikes, some offline Google maps and a decent GPS signal. The paved road shortly became a gravel path, which then turned into a goat track. Determined to find the waterfall, we ditched the bikes and continued on foot. We followed the map until it pointed us off the edge of a cliff. Instead of following the map off the cliff, I decided it was time to put the phone away. …


For the last year, I have had a little blue elephant staring wishfully at me from my book shelf. Recently, it got to a point where I couldn’t let those beautiful eyes stare any longer. I decided to read Learn You a Haskell for Great Good.

This post is going to cover a few takeaways I got from the book. Heads up — these takeaways are going to be very much through the lens of a Javascript developer.

Thought #1: Haskell’s type system and Flow are similar

When I picked up this book, I thought this was going to be like comparing apples to oranges. To my surprise, Haskell’s…


Fetching data, showing loading states and rendering responses are traditionally all responsibilities of the React developer. Announced at JSConf Iceland, the new “Suspense” feature moves many of these responsibilities into React itself.

My first reaction to this announcement was one of irrational fear-of-change.

“These are things a developer can already do, why does React need to provide them?”

Emotional knee-jerks aside, my curiosity remained. Needing to know how Suspense works, I decided to see how closely I could recreate it in React 16.2.

Oh the suspense

First, a refresher on how suspense is used.

The CharacterList component renders a list of Star…

Pete Gleeson

Friend of the front-end @Atlassian

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store