I’ve had a 10 oz. Ember coffee mug for years. A friend gave it to me as a Christmas gift.

If you don’t know what an Ember mug is, it’s a mug with a built-in rechargeable battery, heater, temperature and accelerometer sensors, colored LED status indicator, and Bluetooth. And it has a smartphone app. Your coffee, tea, or hot chocolate stays at 130°, 132°, or whatever temperature you set it to, and it tells you when it’s reached its target temperature. It comes with a convenient charging coaster.

This is a sweet item! After you’ve owned a Bluetooth-controlled heated coffee mug for a while, let me tell you there’s no going back.

Anyway, mine is so old that Ember doesn’t sell this model anymore. It’s been superseded by the 10 oz and 14 oz. Ember Mug2.

I recently noticed that the mug’s bottom (on the inside) was losing its ceramic coating.

This is from years of use. I’ve always treated it right, but half a decade of coffee and tea did a job on the bottom surface. It was the first model of its kind, so it’s understandable that the bottom eventually wears out. I’ve had regular mugs that developed cracks and had to be tossed in less time.

Anyway. I contacted Ember customer service about it, gave the mug’s age and described the delamination symptoms, and asked about my options for replacing it.

At best, I hoped for a discounted replacement, maybe at 75% of the retail price of a new Mug2. That would have been a nice deal. At worst, they’d merely be sympathetic and say, “Gosh we’re sorry to hear that. You can order a replacement on our site.” That would’ve been a little disappointing but I wouldn’t have complained.

Lo and behold, they replaced the mug for free! They sent me a new 10 oz. white Mug2! The newer model! They just needed a photo of the mug’s serial number, and then promptly shipped me a new mug, and it arrived today. No fuss, no back-and-forth! Just… Here!

Ember customer service is A-1 Platinum-grade Aces!!

They’ve got a customer for life now. And I’ve got a brand new mug!


Occasionally when I’m bored, I’ll search the web for past friends, girlfriends, teachers, or employer news. Sometimes I find a heart-warming nugget.

Last night I stumbled upon a Facebook group about my elementary school, West End Elementary. It had do-you-remember posts about teachers, some of which spilled over into discussions about junior high and high school. And class photos. And who-else-remembers? threads. (I attended from 1962 — 1969.)

I saw names I hadn’t seen in decades. Fun! I enjoyed the universality of cherishing old memories. I think most enjoy it if their childhood was decent and devoid of horror or extreme loss.

But I also noted that virtually every kid’s and teacher’s face was white. No Asian faces. No black faces. No disabilities. Just white. (The rare dark-skinned Italian or Latino kids were Anglicized in appearance.) Every teacher and kid were seemingly straight, whether truly or not.

That was how it was back then. Society was changing but the rate of change was relaxed in Lynbrook. The local politics was Republican, middle-class, and conservative. Conformity was de rigueur. And so I considered the stress and unhappiness of pretending to be something you aren’t. I thought about kids with nascent feelings that were inexplicable to their families and friends. I imagined a teacher who knew their career would evaporate if their secret got out. What kind of life are you living if you aren’t being you?

No time is perfect. But that doesn’t mean we shouldn’t reflect, regret, and try to be better.


I think it’s time I cull my .emacs file. I’ve got at least two packages partially stomping on each other because some package isn’t very well behaved. (ivy? avy? counsel? ivy-posframe? symon? Eh…maybe it’s one of the other 30 packages I use.)

The symptoms: Anaconda-mode flips me off, I can’t predict when I’ll get a pop-up completion menu, and blank virtual desktops try to take over my screen.


I have difficulty with the intersection of friend and work relationships.

Camaraderie, friendship, co-worker, buddy, acquaintance, ally… The rules, or even just reasonable expectations, are amorphous. The safest course is to maintain an ethical wall between them.


An offensive pro-Trump post was in my LinkedIn feed this morning. Pro-Trump, Trump is pro-God, pro-USA, etc. blah blah blah.

I reported it, but LinkedIn said it didn’t violate its standards. They advised me to block the author.

Yes well, I’ll delete my LinkedIn profile if more of this garbage shows up on my feed. LinkedIn is supposed to be for professional and career development, not political propaganda.


I use ace-window, mapped to M-p. I wanted to use M-p in the vterm window and not have the sequence sent to the terminal.

The intersection of macOS’ processing of the escape key vs. Emacs proved to be a challenge.

Here’s the solution, courtesy of Gabriele Bozzola.

;; emacs-vterm, a terminal that's better than the other terminals.
(use-package vterm
  :ensure t
  :config
  (setq vterm-max-scrollback 20000)
  ;; We want to use M-p in the vterm window.  On macOS we have to do both of these.
  (define-key vterm-mode-map (kbd "<escape>") nil)
  (define-key vterm-mode-map (kbd "M-p") nil)
  (global-set-key "\M-\S-T" 'vterm)
  )