Hello, I’m Massimili...

Ah, just call me Max. Clearly, my parents weren’t big on usability.

I’m a full stack engineer. React, Node, TypeScript and Rust take up most of the space in my toolbox these days, and a background that stretches from embedded systems to network architecture, with the odd foray into product land, taught me to think, if not out the box, certainly about the entire box.

I’ve been authoring and contributing to open source since 2002, and occasionally share here my “field notes” about strategies that help to be more effective as a programmer (either language-agnostic or easily transferable) and about specific tools and technologies.

Latest notes

  1. Test-driven development of NextJS API routes
    NextJS's conventions are not TDD-friendly, but with some work and a little structure we can enjoy a smooth red-green ride.
  2. How two lines of TypeScript can make a bug go from “undetected in production” to “impossible to introduce”
    Notes from 2022/11/16 DevCafe
  3. “I never did any formal design, where can I start?”
    Notes from 2022/10/21 DevCafe
  4. Emacs package quickstart with Eldev
    Notes on creating a basic package with tests and managing it with Eldev
  5. “I’ve got a React codebase, I want to introduce tests, where do I start?”
    Notes from 2022/10/21 DevCafe
  6. TDD and (vs?) testing
    Notes from 2022/10/21 DevCafe
  7. Four patterns for developer-friendly, production-grade NodeJS services
    Originally written for people onboarding a project I've been leading, to explain why services are structured the way they are, and to provide a set of reasoned guidelines
  8. Comment the code that is not there
    So your coworkers don't have to find out the hard way
  9. Mocking window.ethereum in Playwright for end-to-end dApp testing
    A short note on getting web3-mock to work in Playwright tests
  10. [draft] Structuring projects to guide and inform (for React applications)
    A project's structure speaks. Does yours say useful things?
  11. Bi-dimensional commit messages
    The useful dimensions of a change, at a glance
  12. Faster interactive development in Storybook
    Tweaking Webpack for responsiveness, or hacking Snowpack in
  13. Data that grows together, goes together
    If it's conceptually interdependent, make it programmatically interdependent
  14. Lightweight external command integration in Emacs via compilation mode
    Doing more without leaving Emacs
  15. The dangers of greedy functions
    Functions that ask for more than they need trick into writing risky code