Sign in

Write Rust events with ease

I recently wrote an article about writing events in Rust. I must admit I wasn’t entirely satisfied with the solution I came to. …

Building and Collapsing Expression Trees

Photo by Alex Perri on Unsplash

Since Rust has become so wildly popular and has amassed such a dedicated following, I decided to put down my beloved JS and learn Rust recently. And I must say, it’s not a journey for the faint of heart. Luckily (although misleading in some rare occasions) the compiler is your…

Photo by Weston MacKinnon on Unsplash

I’ve been playing around with Rust a lot lately. I was really inspired by a guy named Tom Leys, who used the Godot game engine’s NativeScript feature combined with the Godot C bindings for Rust to make a crazy space factory game. Seems to be in development still but looks…

Handling Impure Actions in a Pure Application

Photo by Héctor J. Rivas on Unsplash

If you’ve been studying up on Functional Programming in JS, you’ve probably heard about pure and impure functions, and side-effects. If not, I’ll quickly recap — a pure function is one that when given the same parameter any number of times, for each of those invocations it will produce the…

Monad Explained Simply

Photo by Michael Dziedzic on Unsplash

Monads are all-the-rage these days in the JS world. I’d be surprised if any serious JS developer hadn’t heard of Monads. But just in case you haven’t, I like to describe a monad as a fancy box. It’s a special box. You can’t (well, you shouldn’t be able to) see…

How I Went From House Painter to Web Developer

Photo by Dane Deaner on Unsplash

How It Started

I didn’t finish college. I was married by the time I was 21. And we had already had our first baby by then— he was my best man at the wedding. I had and have no regrets about this, it was what we both wanted to do. But it did…

Part 2: Using Middleware More Effectively

Photo by Grant Durr on Unsplash

A Comment and a Complication

My last iteration of this two-part attracted the attention of Mark Erikson, one of the gurus behind the Redux Toolkit (aka RTK), and a general Redux pro. His reddit comment combined with another scenario made me decide that my implementation regarding middleware was not robust enough.

Firstly, Mark and I…

Redux/Flux: The Bigger Picture

Photo by Grant Durr on Unsplash

I’ve been on a minimal-extremism kick lately. My goal has been:

  • Not to use outside libraries.
  • Not to use transpilation middleware (so native ES6, no babel, all import paths are relative paths, drop support for old browsers)
  • Keep it as vanilla as possible. With modern browsers you can write modern…

Rethinking How We Use VanillaJS and Native DOM

My Relationship With the DOM

I just love playing with JavaScript code that generates or manipulates the DOM. If you’re reading this and wondering, ‘what is the DOM?’, fear not. It is simply a tree of JavaScript objects that represents an HTML document.

I personally have a weird secret obsession with creating alternative ways to…

Implementing Monads in Rust

Photo by Zane Lee on Unsplash

I’ve done a lot of writing about functional programming. But mostly in JavaScript. I love the simplicity of declarations that are possible thanks to JavaScript’s dynamic typing system. It makes defining generic things very easy — a concept that is much more complicated in strongly typed languages. One generic concept…


Programming maniac, #JavaScript zealot. I'm crazy about #FunctionalProgramming and I love Rust. ETH coffee fund: 0x0c37584674e7143e03328254232102973a9cd468

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