ESMITHY.NET

My Favorite Podcasts 2019

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 …

Notable for Note Taking

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 …

Tips for Your First Month at a New Job

Congratulations on getting your new job as a software engineer! Your employer and team are happy to have you join them. Here are some tips for the first few weeks to help them feel like they made the right choice in hiring you.

Work hours

Learn what the work time …

Randomness in Tests

Wouldn't it be cool if a few uses of the random module in your unit tests could discover bugs in your code? Meh.

The problem is that random tests are non-deterministic, meaning they lack the highly desirable property that if they pass in my local development environment, they'll also pass …

The Impossible World

Sometime when I was a teenager, my step-dad gave me a box full of sci-fi and war novels. I'm not sure where he got them -- maybe in bulk at a garage sale or something. Years later, many of them are still sitting on a shelf, mostly unread. I thought I'd …

Origin of the Name of the City of Lehi

Introduction

Most people believe that the city of Lehi, Utah was named after Lehi, the first prophet and patriarch of the Book of Mormon who fled Jerusalem with his family prior to the city falling under siege to the Babylonians around the beginning of the 6th century BC. Both the …

UI Baffler: Outlook Reminders

Why is it that in the Outlook reminders dialog, the "Dismiss All" button is disabled if there are no reminder items selected?

Dismiss All disabled

Well clearly it is because that button is supposed to dismiss all of the selected reminders, right?

No, because if there is any selected reminder, clicking "Dismiss All …

I'm concerned about using Python

xkcd Python

But...

Python is slow

  • Is the CPU the bounding factor for the project's performance?
  • How much time has been spent trying to optimize performance?
  • Which is currently more important, raw execution speed or time to create features?
  • Is Python fast enough for the project?
  • It is an often used strategy …

Review of "Don't Make Me Think"

Steve Krug's Don't Make Me Think is a quick, easy to read introduction to usability, especially as it relates to web design.

Book Cover

Some sections are very web-specific, but you'll also find plenty of things that apply to any kind of user interface. He also doesn't try to be comprehensive, often …

The Feedback Meeting Game

We hold lots of meetings with the intent to gather feedback from members of a team. These can be architecture reviews, requirements walkthroughs, sprint or release retrospectives, and others. How do you conduct meetings like these in an efficient and productive way?

Some challenges that arise in meetings like these …