Movement for Reading in Emacs

I use the usual emacs keybindings for moving the cursor around in the buffer. Usually this is more about positioning the cursor for making edits, but more and more I find myself using emacs for non-editing tasks. In these cases I am less concerned with where my cursor is and…

Old Habits Die Hard

Next up on my little emacsian adventure: changing windows. Guh! C-x o just doesn't work for me. I'm too young to have this deeply ingrained in my head. I cut my teeth on fancy pantsy editors that C-<tab> from open file to open…

On Emacs and Node.js Testing Workflow

Making it easy to lint your JavaScript [https://johncoder.com/on-emacs-and-nodejs-workflow/] is a good step, but it's pretty helpful to be able to execute your tests from within your editor. I'm on a certifiable emacs kick lately, so here's how I got it to…

On Emacs and Node.js Workflow

One of the things I miss most about my time in Microsoft's realm is the tooling. It had this great way of making you feel nice and cozy within the bounds of how their stuff works (although I always felt the urge to break the mold, because let&…

Silly Mistakes

Have you ever been in the middle of writing a function, and a bright idea hit you like a piano out of mid air, or suddenly interrupted by a flash mob? Me, too. What were we talking about? This is among the most universal experiences in programming: distractions that lead…

Go: Range is by Value

> TL;DR: The value for each item in a range loop is not by reference. Instead, use the index index := range foos.Bars and index to the item &foos.Bars[index]. I learned a practical lesson today about how the range keyword works in Go. Here's…

Whimsy

As it turns out, I'm really bad at following through with plans. I recently intended to dig through algorithms in Go, but here I find myself doing whimsical [https://github.com/johncoder/whimsy] things with my time instead. A couple of years ago I had a dubious amount…

Monkey Patching in Node.js

> Disclaimer: Don't do this. Really. This post is just for the fun of it. Monkey patching [http://en.wikipedia.org/wiki/Monkey_patch] (a.k.a. "Duck Punching") in Node.js is somewhat of a controversial topic. Conventional wisdom says to steer clear of this…