Skip to main content
Micah Svenson

Micah Svenson

Software Engineer and Mountain Biking Enthusiast

Recent

Brewing Up a Java Setup For Neovim

·5 mins

I love neovim. I’ve used it happily for Python, JavaScript, and other languages, but when I started working on Java projects, I discovered a neovim niche. The overlap between Java devs and neovim enthusiasts is apparently pretty slim. There weren’t nearly as many resources for configuring a solid Java setup as there are for Python, Go, or TypeScript. Instead, I found one too many unsatisfying Reddit posts where someone asked how to set up Java in neovim and most answers boiled down to “I tried, but just ended up going back to IntelliJ.” It took some time, but I’ve got a functional setup now. It’s not perfect, but I’ve been using it for full-time Java development for months, with only attaching a debugger being a subpar experience. Here’s what I wish I’d had when I started.

Attribute vs. Property in Python

·2 mins

Normally, when I talk about classes as it relates to programming I use the word property to describe a piece of state stored on a class, which represents a characteristic or feature. For example, in the following python Celsius class, I would call temperature a property of that class.

My Neovim Configuration and Cheatsheet

·9 mins

Update 01-2025 - I switched to using the LazyVim distro and it really has all the bells and whistles while remaining fast and configurable. I will eventually come back and update this page with my LazyVim experience.