Weeknotes September 7th, 2024
post

What I Did

  • played my IBL games
  • has my usual Commander Night at my local gaming store
  • the transaction audit log work is proving to be a slog
  • discovered that you can configure PhpStorm's IdeaVim plugin via a .ideavimrc file to make the experience a little more Vim-like. Shoutout to Eric Johnson from php|architect for showing me how
  • flights booked for going to CascadiaPHP at the end of October
  • a testing scenario for the transaction audit log revealed that my chain-of-responsibility implementation for a series of validators for a rebate offer was just wrong, so off I went fixing it by switching to using pipelines in laravel. Don't worry, all the individual validators have tests

Longer Threads

I was going to do a longer piece on how I felt I was at a "crossroads" with my IDE choices. I know it sounds like dramatic whining.

I have been a Vim/NeoVim user for a long time. The HJKL muscle memory is burned in and I expect almost everything I use to be modal. For everything other than PHP, I use NeoVim.

But lately I am feeling...resentful about how all the tools I have started to rely on seem to have "becoming a subscription" as an aspirational goal. My renewal for my PhpStorm subscription is coming up and I am trying to decide if I can just not renew it and go back to NeoVim.

The ONLY reason I switched to using PhpStorm was because it made some other aspects of development work easier:

  • easily get Xdebug working and a slick interface for it
  • same with doing development work with Dockerized development environments
  • make it easy to run my tests inside that Dockerized environments
  • "intellesense" support baked in

There are other editors I have looked at -- Helix, Zed, and even the dreaded Emacs. Other than Emacs, the newer editors fall down when we get to the plugin and customization phage of creating a development environment.

From a pragmatic side, sticking with NeoVim due to intimate familiarity with it's modal nature and basic keybindings makes the most sense.

Emacs is an interesting choice because it is basically like NeoVim in that it has a long, rich history and is incredibly configurable. But learning a whole new series of keybindings? Seems very daunting.

Helix seems nice. Xdebug support appears to be very rough to get working. Have to have it for my PHP work, sorry. No idea if it can be made to support Xdebug running inside a Docker container. Again, need to check back later.

Zed -- no support for Xdebug. I'll check back later when they maybe bake in Debug Anywhere Protocol support.

So time to see if I can get NeoVim to give me the extra tooling that PhpStorm currently offers.

Categories: notes