{ Articles }

By-products of working on real projects.

Rethinking best developer practices

2/19/2024

Stoic Driven Development

1/25/2024

Puzzle Classic "Baba is You" recreated in JavaScript - Behind the Code

2/23/2023

Namespaces are just fine

6/13/2022

Code reviews - Are you checking for this?

2/2/2022

Reverse-engineering Cuphead's film-grain effect - Behind the Code

1/22/2022

Comparing strings - What can go wrong #unicode

10/19/2021

Cross-Site Scripting (XSS) and is your SPA really safe from it?

3/18/2021

Secure Cookies in 5 steps

2/11/2021

CSRF tokens for SPAs

2/1/2021

Demystifying CORS, CSRF tokens, SameSite & Clickjacking - Web Security

1/25/2021

How to test time-dependent code in JavaScript

10/30/2020

Git aliases for increased productivity

10/12/2020

Build Adonis/Vue apps without an API

9/13/2020

Isomorphic handling of promises in libraries like react.js, vue.js, angular, svelte etc.

9/13/2020

Publish to NPM automatically with GitHub Actions

8/14/2020

GitHub Actions: Setting up Test Coverage for a JS/TS/Node project

8/13/2020

GitHub Actions: Setting up CI for a JS/TS/Node project

8/12/2020

Clean URL slugs: The Good, the Bad, and the Ugly

8/2/2020

Your flexbox is actually not centered

7/19/2020

1 year with React Hooks - Biggest lesson learned

7/15/2020

Vue 3 just got me from interested to excited

7/5/2020

Good bye API layer. Uniting frontend and backend

5/30/2020

Tailwind CSS - from skeptic to practiced

5/18/2020

Detecting the end of a fluent API chain in JavaScript

5/14/2020

My webdev related finds for Apr/May 2020

5/8/2020

Introducing learning by vueing

4/27/2020

Breaking free from the request and argument drilling with AsyncHooks

4/6/2020

You may not need vuex. Here are some alternatives

3/23/2020

Add Tailwind CSS to a vuetify project

3/8/2020

Document your thoughts

3/5/2020

Adonis.js - Advanced factories

2/10/2020

Getting things done when you don't have the time

1/27/2020

How TypeScript over babel greatly simplifies creating libraries

12/27/2019

Vue.js - Cleaning up components

12/17/2019

TDD course with AdonisJs - 9. Cleaning up after ourselves

12/12/2019

"git nah" and more handy Git aliases

12/1/2019

TDD course with AdonisJs - 8. Third party APIs, ioc and custom validators

11/7/2019

TDD course with AdonisJs - 7. Moderators

10/6/2019

Tips on naming boolean variables - Cleaner Code

10/3/2019

TDD course with AdonisJs - 6. Validation

9/28/2019

TDD course with AdonisJs - 5. Middlewares

9/21/2019

TDD course with AdonisJs - 4. Using the auth middleware

9/14/2019

TDD course with AdonisJs - 3. Model factories & DB transactions

9/9/2019

TDD course with AdonisJs - 2. Our first test

9/7/2019

TDD course with AdonisJs - 1. Let's build a reddit clone

9/7/2019

Simple libraries do not guarantee simplicity

8/19/2019

Testing made easy with AdonisJs

8/19/2019

A case against component libraries

7/14/2019

tap tap tap

6/30/2019

Utility-first CSS - You have to try it first!

6/18/2019

React Hooks for Vue developers

6/10/2019

Common MySQL traps

6/9/2019

Automatic Dependency Injection in JavaScript

6/1/2019

Demystifying Dependency Injection, Inversion of Control, Service Containers and Service Providers

5/19/2019

IIFEs in JavaScript and how to avoid this common mistake

5/19/2019

Undo changes in Git - Cheat sheet

4/28/2019

Refactoring search queries in Adonis.js

4/25/2019

Implementing SSR into a Laravel/Vue app

4/6/2019

Extending arrays using proxies in JavaScript

4/1/2019

Subclassing arrays in JavaScript

3/31/2019

Explaining shallow / deep copying through acronyms

3/27/2019

Array methods and iterables - Stepping up your JavaScript game

3/20/2019

Vue vs Traditional HTML - Reusability & Components - Beginner's Guide

3/9/2019

What babel-polyfill doesn't include

2/17/2019

Vue vs Traditional CSS - Beginner's Guide

1/28/2019

Avoiding fat controllers in Adonis.js

1/19/2019

Vue vs Vanilla JavaScript - Beginner's Guide

12/25/2018

Build fullstack Javascript apps with Adonis and Vue

10/8/2018