entr(1); Run arbitrary commands when files change.

Eric Radman sent along a plug for a utility he is working on called entr(1).  The desciption is “Run arbitrary commands when files change.”  The site for it has several nifty examples – run make when *.c files change, or convert Markdown files to HTML as soon as they are modified.  The really nice thing about it is that it’s perfectly BSD-friendly, and uses kqueue, but will also work on Linux.  This beats the “This runs on the one flavor of Linux I use, in one particular shell!” approach I’ve seen from some other developers.  See the reddit discussion of it for comparisons to inotify.  No, it’s not in pkgsrc/ports yet.

Update: And thanks to Thomas Klausner, it’s in pkgsrc as sysutils/entr, and in ports as sysutils/entr thanks to Eitan Adler.  You have no reason not to try it now.