/Ryan Faulhaber/posts


Some First Impressions of Nix

In my relatively few years of software development I’ve seen first hand how hard it can be to set up a consistent environment, development or otherwise, across a team, and I think Nix might be a solution.

Cool Emacs Things: Edit Files Over SSH

This is the first installment of an indefinite series calling (in lieu of a better name) “Cool Emacs Things,” little things about Emacs that makes it a very handy editor. Today’s entry: Editing files over SSH. This was something I discovered recently by accident. I run a private email server and the IMAP portion of the server is handled by Dovecot. Dovecot is great but by default the configuration is spread across dozens of files, and, while trying to tediously edit multiple files over SSH in Vim, I thought, “Wouldn’t it be nice if I could do this with Emacs?

You Should Try Linux

I’ve been using Linux since about 2013 and it’s been a consistently rewarding experience. Not only am I far more productive on Linux than I am on macOS or Windows, I have the satisfaction of using a system that’s uniquely mine.

Ways Emacs Has Changed What I Do

Previously I had written about trying Emacs, but looking back on that post I felt like I was bit vague about the ways in which it’s changed the things I do, so I wanted to provide some examples. Emacs has replaced a number of programs in my life, and not all of them are developer related.

A Guide to Promises in JavaScript

Although the async and await keywords are now part of standard JavaScript, under the hood they ultimately use Promises. Here we’ll explore what Promises are, why they’re needed, and how you can “promisify” callbacks in JavaScript. I find a lot of newcomers are often confused by terms like “callbacks”, “Promises”, and what exactly async and await do. I hope to clear that up with this article. For the sake of clarity, this guide will use function syntax, and not arrow functions.