~/talk

Nulls are dead

Talkat IntelliJ IDEA Conf 2026 · 2026-09-08..09-09· [java]
slides:none on file

Migrates a Spring Boot demo app to JSpecify annotations using OpenRewrite, adds a Nullability Maven plugin that wires NullAway through ErrorProne to make nullness errors break the build, and uses IntelliJ inspections to find additional issues. Shows adding package-info with NullMarked, fixing false positives via asserts, @Contract, or careful suppressions, annotating generics with type-use @Nullable, and verifying Kotlin consumers. Migration uncovers real bugs, takes months for a large codebase, and ends with a green build.

AI-written summary · about

  1. 0:00Intro
  2. 1:09What is JSpecify?
  3. 3:21Adding JSpecify to your application
  4. 8:23Add NullAway plugin to check for nullability in the build
  5. 15:25Adding NullMarked to your code
  6. 18:38Fixing false positives
  7. 33:45Using IntelliJ IDEA to find nullability problems
  8. 38:47Using JSpecify with Kotlin
  9. 45:13Adding null checks if you don’t have any
  10. 51:36Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.