UI Horror: Login... Again

By Eric

I use Office 365 with the web version of Outlook at work. At some point, I'll notice that the browser tab has changed appearance, and click on it to find that I've been logged out. No worries, there's a prompt right there for my password to renew my session. Soon …

Read more...

eero Pro 6 First Impressions

By Eric — 7 minute read

I set up an eero Pro 6 mesh network in my house this past week. These are my first impressions of the system.

Why

Earlier this year, my employer decided that the pandemic-motivated "work from home" policy would continue indefinitely for the engineering department. After moving a few PCs from …

Read more...

Functions Returning True on Success

By Eric — 3 minute read

Many beginning programmers latch on to the idea of having functions return True if they succeed and False if they fail so that you have code like this:

if do_something():
    # It worked!
    do_some_other_stuff()
else:
    logger.error("Something didn't work!")

For me, I think it was when I saw some …

Read more...

Preserving Git Blame History when Refactoring

By Eric — 3 minute read

I have some big source files in a project I'm working on. Embarrassingly big files -- multiple thousands of lines long. Those files also have years of Git blame history associated with them, and not wanting to lose that history has deterred me from refactoring to break those files into more …

Read more...

SQLAlchemy Cascade Delete: Clarity through Examples

By Eric — 10 minute read

Since there is overlapping "cascade delete" functionality supported by SQLAlchemy -- with the ORM handling some deletes and the database itself handling others -- it can be hard to know the right way to set it up. Here are some examples to help clarify how it all works.

Starting Example

Here we …

Read more...

Review of "The Body: A Guide for Occupants"

By Eric — 3 minute read

Book Cover

Douglas Crockford, in JavaScript: The Good Parts said, “Computer programs are the most complex things that humans make.” As someone who builds software, that idea can make you feel pretty good about your intellectual place in the world, because even though I don't know how lots of software works, I …

Read more...

When to Give Up - Retrying Failures

By Eric — 4 minute read

When we programmers find an aspect of software that fails intermittently, we sometimes follow the impulse to add retries with a Churchillian insistence that we will "Never give in — never, never, never, never"! But sometimes the right thing is to give up.

One might ask, why retry at all? Didn't …

Read more...

My Best Side Project

By Eric — 3 minute read

After a few years working on it, I can say that the "magic mirror" I built with my son has been the best for-fun side project I've ever done. When I was describing the idea, my wife was hesitant about letting me hang it on the wall -- mostly due to …

Read more...

My Favorite Podcasts 2019

By Eric — 4 minute read

After working at home for a couple of years, it was hard to get back in the car every morning to commute after changing jobs. I'm lucky that it isn't that far, but it still felt like a monumental waste of time to be stuck in traffic. Podcasts have redeemed …

Read more...

Notable for Note Taking

By Eric — 3 minute read

I recently started using Notable for my software development notes. It is an Electron app that lets you write your notes as Markdown. It is a little light on features currently, but that can be a good thing.

OneNote

OneNote Screenshot

I've used Microsoft OneNote for a long time. There are a …

Read more...