NotDefine.dev

Defining the Undefined. Exploring system design, performance, and memory safety with Go and Rust.

void *notdefine; // Why this blog?

The Name Hack

In computer science, Undefined Behavior is the land of the unpredictable. It’s what happens when code goes off the rails and the compiler stops guaranteeing the outcome.

I chose NotDefine.dev for three main reasons:

  1. The Name Hack: The name of this site is a creative play on my own name, Nicola De Filippo. By shuffling the concepts and letters, NotDefine was born—an identity that bridges my personal roots with one of the most infamous concepts in systems programming.
  2. The Nature of Systems: Writing in Go and Rust is often about taming complexity and making deterministic what would otherwise be “undefined.” This space is dedicated to exploring how to build robust systems that leave nothing to chance.
  3. An Evolving Identity: In a world of rigid definitions, this blog is about pure exploration. It’s not just about a single language; it’s an engineering journal covering software architecture, performance, and low-level mechanics.

$ whoami

// Systems Programmer & Architect

I am a developer focused on building scalable, high-performance backends and exploring the internals of modern languages. My daily tools are Go and Rust, but my real passion lies in understanding how memory works, how data flows through a CPU, and how to design systems that are both elegant and efficient.

What you’ll find here:

  • Deep dives into Go and Rust internals.
  • Architectural patterns for distributed systems.
  • Performance optimization stories (and the bugs found along the way).
  • Notes on “Undefined Behavior” and how to avoid it.