Skip to content

Hey, I'm Michael. I write about software engineering, AI, consulting, and the tools changing how we build things. I also tinker with robotics, firmware, and whatever I'm learning.

Recent Posts

  • A Toy Django REST API with an Admin Panel

    Posted on:

    A TypeScript dev takes a short trip back to Python — setting up a modern Django project, building a tiny REST API, and rediscovering how nice it is to get so much functionality, including an admin panel, for free.

  • The Subtle Trap of ISO Date Strings in JavaScript

    Posted on:

    If you’re building any kind of real application, sooner or later you’ll be wrangling dates and times. And the moment your users live in different time zones, things get… interesting.

  • Sticky header with dynamic shadow using tailwind

    Posted on:

    Explore the process of adding a dynamic shadow to a sticky header in Tailwind CSS. This tutorial provides a step-by-step guide to ensuring the shadow appears only when the header is fixed at the top.

  • Conditional Rendering in React with a Switch Component

    Posted on:

    I would like to create a straightforward switch component in React to control which elements are rendered. During the process, I will touch upon generating a React project boilerplate with Vite, delve into TypeScript typing (especially for the 'children' property), and explore the usage of dot notation for React components.

  • Angular Forms Validation: Part III - Async Validators gotchas

    Posted on:

    I am about to continue sharing my expertise on Angular's Forms Validation. In this forthcoming article, we will examine common pitfalls and challenges that arise when utilizing async validators.

  • Angular Forms Validation: Part II - FormGroup Validation

    Posted on:

    I've recently begun documenting my experiences with Angular development, particularly focusing on the topic of validation. Today, I want to dive into FormGroup validation and the validation of dependent controls.