CertSage ACME client and shared hosting

I host my website on asmallorange.com and recently, I noticed that Brave and Chrome would no longer load the website without TLS, and I didn’t have a certificate — it was raw HTTP only. I looked in the cPanel, and the hosting provider wanted too much money to give it a TLS certificate. A web search turned up “CertSage ACME client”, and within 10 minutes, I had it set up and now my site has a proper TLS certificate from Let’s Encrypt. Thank you to everyone who made this possible, and I especially appreciate the vision of Let’s Encrypt.

Engineering mileu and customer experience

We have lived in our house for 17 years, and have replaced three dishwashers — a disappointment because in my mind, even a cheap dishwasher should last 20 years. The first was quite old, inexpensive, and still functional, but was loud and cleaned adequately only when we pre-rinsed all food bits.  After two years, we replaced it with a different brand, a higher-end model with a steel tub — a KitchenAid. It cleaned dishes better — until it didn’t. The plastic roller axles on the lower tray broke, and I replaced them with steel bolts and nuts. The impeller drive motor broke, and I replaced it. The upper tray had plastic that broke, and I repaired and replaced it over four years. My young children sometimes got the twist ties from bread bags in the dishwasher, and I’d eventually find them in the disposal of the dishwasher, and would pull them out, along with gunk.

At some point, the control board fried, I contacted KitchenAid, and they said they’d sell me a new high-end model at a discount price. So I went with that. It wasn’t as much of a discount as I had hoped, and initially, it worked well.

However, over time, it had somewhat similar issues to the previous dishwasher — nylon parts were engineered cheaply, or engineered to fail over time. I replaced things as they broke, and when its ability to clean went downhill, I decided I’d had enough — I would “fire” the previous team of engineers and “fire” the entire process and culture that created the less-than-stellar machine, and “hire” a new team of engineers, with a different process — so we bought a Bosch.

The Bosch is different. No disposal. No heating element. No cheap plastic rollers. It has cleaned well, and has been a joy to use for over two years. It continues to clean well.

I don’t think the engineers from the previous company were inept. They had a different environment and a different set of constraints to work under — an environment that did not serve me, the customer, well. So I found one that had a mileu, culture, insights, and vision that have served our family better.

Printmaster 18.1 on Windows 11

My wife has been using Printmaster for over 25 years, and for the past several years, she’s been using version 18.1. When it stopped working recently, she enlisted my help. It turns out the desktop shortcut not longer functioned — it gave an odd install error. When I created a link to the executable, and pinned that to her toolbar, it worked — it functions again.

How to rate people and teams

Notes from June,  2022 about about how to rate people and teams as I read Nine Lies About Work. The notes are my own (although the quotes are not), and I may have misrepresented some of what the book was saying; some of the examples are ones I made up.

Lie: People can reliably rate other people (on an abstract attribute such as performance or strategic thinking)

Summary: Although we can’t reliably rate other people, we can reliably ask about our own experience and our own intentions “right now” in regard to those people. (Sidenote: we aren’t reliable at rating our own personality or performance.)

Why:

  1. The Idiosyncratic Rater Effect — accounts for 54% of how people rate others (or so says the book)
  2. Data insufficiency: we don’t “see” people enough to be able to rate them accurately
  3. There’s no single definition of “performance” between people, let alone teams.

“Lucy’s pattern of rating does not change when she rates two different people. Instead her ratings stay just about the same – her ratings pattern travels with her, regardless of who she’s rating, so her ratings reveal more about her than they do about her team members. We think that rating tools are windows that allow us to see out to other people, but they’re really just mirrors.”


  • Crowds are not smarter than a few people. Truth: well-informed crowds are wise. Ill-informed crowds are not.
  • Noise plus noise never equals signal.
  • Bad data contaminates all the good data.
  • Adding bad data to good, or the other way around, doesn’t improve the quality of the data or make up for its inherent shortcomings.

Good data has three distinct characteristics:

  • it is reliable
  • it is variable
  • it is valid

Reliable:

  • stable and predictable measurements
  • something that can be counted
  • doesn’t mean accurate… it means the data doesn’t fluctuate randomly
  • Your height is reliable data. I.e. we can trust the data-gathering tool

Variable:

  • The range of data reflects the natural world.
  • E.g. when a car salesman is rated 5/5 by all customers, there’s no variation, and therefore the measure doesn’t mean anything in the real world.
  • E.g. when a thermometer bottoms out or maxes out on measuring real world temperatures, it’s not variable enough.
  • When it comes to rating our own human experience, “to produce a range in our rating tools, we have to create questions that contain extreme wording.”

Valid: a.k.a. criterion-related validity

  • Once piece of reliable data predicts another piece of reliable data
  • Does a high score on the measurement tool predict a high score on something else in the real world?
  • When a scatter plot of the data shows that it clusters to one end of the scale, it’s probably not good data.

A more reliable way to capture data about people. “People can reliably rate their own experience” and intentions “right now”.

We can ask a manager/peer questions like this (and do it in a timely fashion, not asking them to reflect 4 months later):

  • Do you always go to this team member when you need extraordinary results?
  • Do you choose to work with this team member as much as you possibly can?
  • Would you promote this person today if you could?
  • Do you think this person has a performance problem that you need to address immediately?

Thought: Regardless of human limitations in accurately rating others, we do it anyway. Recognizing that our ratings of others are biased and inaccurate is hopefully a step toward humility, and thus to more fully loving others, and trying to avoid incorrect ratings 


Here’s the author’s website with three pages, all brief. The first explains the problem, the second explains a solution approach, and the third gives a concrete example of questions that he asserts “predict high-performing teams” in four areas: Purpose, Excellence, Support, and Future.

https://www.marcusbuckingham.com/good-data-bad-data-idiosyncratic-rater-effect

https://www.marcusbuckingham.com/data-fluency-series-current-tools-good-data

https://www.marcusbuckingham.com/data-fluency-series-case-study

I’m still here; rich tapestry among employees

Yes, I’m still here. My rate of writing blog posts has slowed over the last few years.

About a year and a half ago, I become a software engineering manager. It’s been an interesting journey to hire and work with employees. Each one brings a unique set of talents, enthusiasm and skills to the table. Thank goodness none of them are the same! I appreciate a rich tapestry of perspectives and motivations.

I still dabble in code, and contribute at a lesser level. Is this good? Is it bad? It’s neither — it’s a different focus, a new experience. It’s rewarding to see excitement in others, and to see the payoff when hard work comes to culmination and is delivered. I like seeing others succeed.

MacOS and the command line

I’ve spent decades using the Linux command line on a daily basis. Six months ago, I switched to a MacBook Pro as my day-to-day machine, and I’m still learning to acclimatize. Happily, many of the tools I’ve grown to love still work on MacOS, either because they’re shipped with it (ssh, git, python3, bzgrep, zip, less, curl), or because I’ve installed them with “brew install …”

  • vim
  • ripgrep ‘rg’
  • tree
  • xz
  • socat
  • shellcheck
  • tcptraceroute
  • screen
  • jq
  • jhead
  • htop
  • coreutils

Things that are subtly different, and still annoy me:

  • find lacks a -mindepth option, so install “coreutils” and use “gfind”
  • bash 3 is ancient and doesn’t work like modern bash 5, so use zsh instead
  • grep lacks -P. Happily, -E gets me most of what I want, and when it doesn’t, I use “ggrep” (brew install ggrep) or “pcre2grep” (brew install pcre2) instead.
  • cat doesn’t respond to CTRL-D, so use CTRL-C instead, or use “gcat” from “coreutils”
  • ps is very different, and lacks a –forest option, so install and use “pstree”
  • zcat doesn’t use gzip. It handles compress Z files. So use “bzcat” , or “gzcat” from “coreutils”.
  • no sha256sum, md5sum, etc., so run “brew install coreutils” to get them.

There’s far more, under-the-hood, that is different, but I haven’t run into those things as much, yet. I’m still more comfortable with Linux, but I’m glad that “brew install” gives me so much. Thank you to the people who maintain ‘brew’ and the packages.

MacOS and keyboard shortcuts

Last August, I gave up my four-year-old Linux T590 Thinkpad for a MacBook Pro. They’re different, and in some aspects, it’s been a difficult journey because MacOS is not Linux. In other ways (apps, audio, Bluetooth, etc.), MacOS has been fantastic.

The hardest thing to get used to is the keyboard shortcuts. I use keyboard shortcuts extensively, and they’re quite similar between Windows and Gnome Desktop. Not so with MacOS. MacOS is not Gnome, and it’s not Windows either.

Shortcuts that I still get wrong, six months later, and so I’m still learning.

  • I hit CMD-Home, expecting to go to the top of the web browser window, or the top of a document.
  • I hit CMD-up-arrow to go to the beginning of the line, and does something else. On Windows/Gnome, CTRL-up-arrow does what I expect. On Mac, it’s CONTROL-A, and CONTROL-E to move to the end of the line, just like with zsh and bash (by default), so I can accept that.
  • F2 in the Finder doesn’t rename files. Apparently, the Return key does this instead. I can get used to that.
  • In PyCharm, I still don’t know how to set and jump to bookmarks.

Mac doesn’t have window-snapping like Gnome or Windows, so I use Rectangle to remedy that. Although the keyboard shortcuts are different, I’ve gotten used to them.

Now that I use Mac during the workday, I’m used to starting apps with COMMAND-space. When I use our at-home Windows computer or my Linux computer, it takes me a few seconds to adjust to the different shortcut keys — just hit the windows key, no space bar needed.

The differences under-the-hood are far more striking than the keyboard-shortcut differences, but that’s a topic for another day.

Notification hell & more courteous apps

I have a plethora of chat apps, and they notify me incessantly. My in-laws are planning a get-together using Google Chat. I get a notification every time someone posts a message — a message that I don’t need to see while I’m working.

Same for marching band. There’s a parent group, and from time to time, it sees a fair amount of discussion. Most of the time, I don’t need to be notified of each and every message in the discussion.

I have a dozen GroupMe groups, iMessage conversations, Slack, Teams and a few others.

It’s hard to stay focused on the conversation, the work, the task at hand when there’s a deluge of distractions. It’s notification hell.

On the other hand, iPhone and Android empower users with a great deal of notification options to try to help tame the hydra at the app level, but it requires time and effort to configure, and it doesn’t really help when the thing I really need to configure is the notification settings for individual chat groups within an app.

Then there’s my Garmin watch. It doesn’t know anything about my iPhone notification customizations, so it shows everything, instantly. Every once in a while, it’s a good thing, but most of the time, it’s downright annoying, and I have to take off my watch, or turn off Bluetooth on my phone.

Why can’t more of my apps be like Slack or GroupMe? Slack allows me to configure quiet hours, mute channels, and so much more. When my desktop is receiving notifications, it doesn’t notify my phone — thank goodness.

GroupMe lets me mute individual groups and sub groups for 1 hour, 8 hours, 1 day, 5 days and always. This is a killer feature, one that Google needs to adopt in its chat app. Google chat lets me configure do-not-disturb for a duration, but it’s app-wide, not group specific. Apple also needs to learn from GroupMe and improve the temporary mute settings for iMessage. (Update: iMessage gained the ability to mute conversations. Hooray!)

It’s not just chat apps. It’s Google Photos where an algorithm wants to interrupt my day to tell me that it has memories to share, or iPhone wants to tell me how much screen time I used in the past week. Years ago, I disabled notifications completely for email, Facebook, MarcoPolo, and others. Some apps have been programmed to tell me, when I launch them, that I’ve disabled notifications, and that I should enable notifications. No thanks!

I use do-not-disturb on a frequent basis — when I’m at church, when I’m in a 1-on-1 meeting, and automatically when I’m driving. Maybe it’s anti-social, yet it gives me space to focus.

There are also times when I’ve forgotten my smartphone and left it behind. They were peaceful times, times when I was able to focus on the human beings next to me.

Maybe I need fewer apps, or I need to completely mute more apps. Maybe I need more tech-free zones (seems unlikely in today’s world). Maybe I need to disable notifications on my Garmin watch.

What is your solution?

My computer is the best and the worst

I have an excellent Thinkpad T590 running Ubuntu 22.04 — one of the best Linux laptops I’ve had, and yet it’s the worst. I have a snappy iPad Pro that is one of the best tablets I’ve ever used, and yet it’s the worst.

How can a computer be the best and the worst? Each has strengths and weaknesses.

Strengths of the Thinkpad + Ubuntu

  • My target deployment platform is Linux, and so developing on Linux is a much closer fit than using Windows or Mac.
  • Speedy docker — it’s native. On a Mac, it’s never native because it’s not Linux, and always goes slower — at least 10x slower, sometimes 100x slower, depending on whether the docker image is intel or uses native instructions. On an M2/M3 Mac, with a native-instructions docker container, it is far faster than the old Intel.
  • Intel Iris Pro GPU with in-kernel drivers means that the display just works, including with external monitors. Suspend and resume work as well. It’s way better than with proprietary drivers.
  • Command line tools have all the GNU power options I want and to which I am accustomed. I.e things like “grep -P” for perl-style regex.
  • Powerful computer, not too heavy, 5 hours of battery life, even after 4 years of use.
  • Robust materials. It doesn’t fall apart. Excellent keyboard, including a number pad.
  • Matte screen — reducing glare, and nice to look at.
  • Chrome. Most critical things I need run pleasingly well in Chrome — Outlook, MS Teams, etc.
  • No ads inserted by the OS — Windows is annoying that way.
  • No Microsoft overlord forcing MS Edge on users.
  • Gnome desktop. No, it’s not particularly exciting, but it works, and it has great window snapping, very much like Windows.

Weaknesses of the Thinkpad + Ubuntu

  • Bluetooth audio. My Bose headphones work far better with my iPhone or iPad than with Linux. Linux bluetooth audio drops randomly, or is lower quality.
  • Audio with multiple possible output sources. My MS teams in-a-web-browser audio is always a challenge in this scenario.
  • Sometimes audio and/or bluetooth doesn’t work after a suspend/resume cycle, and I have to reboot the computer. Lately, I’m in many more conference calls, and unreliable audio is frustrating. Happily, I can switch to my iPad, where audio just works — every time.
  • Anemic built-in speakers, and tinny-sounding audio from built-in microphone. It’s subtle, but low audio quality makes it hard to listen to calls as effectively, and adds stress. This goes for the remote end of the call as well. There’s a reason podcasters invest in quality microphones. In my experience, Apple hardware has much better built-in speakers and microphones than any PC I’ve ever used. That said, purpose built-external mics are always better quality.
  • Apps. No WhatsApp for Linux (maybe that’s a good thing!), and same for many other apps that have no web-based option, forcing me to use my smartphone without a physical keyboard.
  • No fingerprint reader, no face unlock. Linux has been largely left behind in biometric authentication support.
  • Viewing of thumbnails in the file explorer stinks compared to Windows or Mac.

Strengths of the iPad Pro

  • Instantly available and ready to go, 99.9% of the time, unlike Ubuntu, which is okay, but not as pleasing in this regard.
  • FaceId to unlock — so much faster than with a password or a pin.
  • Apps — so many to choose from. There’s an app for everything.
  • Excellent sound and microphones — great for conference calls, and it can even service an entire team in a conference room doing a remote call with people elsewhere — with its built in capabilities
  • Keyboard. Yes, I have one, and it makes my life better.
  • Bluetooth: It’s reliable, unlike with Linux — especially important with audio.
  • Touch screen.
  • Apple pencil.

Weaknesses of the iPad Pro

  • The apps for Google docs and Google sheets are surprisingly anemic compared to the web-browser experience — i.e. almost unusable, other than for viewing and simple editing. I’d just use them in Chrome, but Google dumbs down the online in-Chrome experience for iPad, forcing me to use the apps.
  • Side-by-side google docs. I often want to look at two documents at the same time, but Google docs doesn’t let me do that. It’s one at a time or nothing. Desktops are so much better.
  • Chrome. It’s running on a powerful M2 processor, yet Google Chrome disallows the extensions that improve my life. Desktop Chrome is so much better.
  • Copy and paste within apps. Why is it, that in a web browser, I can copy-and-paste the portions of a conversation that I want (such as just the phone number or just the address), and paste them elsewhere, but within an app, it’s the entire text, or nothing?
  • Apple pencil for writing notes. Apple notes places the translated text wherever it pleases.
  • Apple pencil capabilities are underutilized. Most apps (Apple Notes, Apple Freeform, Miro, MS Whiteboard, etc.) don’t seem to support the pressure sensitive nature of the pencil.

Operating systems and the hardware they run on are like footwear. Flip flops, running shoes, irrigation boots and ski boots each have their place. That said, I don’t want to be lugging around all at the same time.

30 years of change

I was a part-time, student programmer at BYU in 1991. I wrote software in 4th Dimension on a Mac II with a color monitor. In 1992, I was helping our office secretaries to adopt email to send interoffice memos. In the fall of 1992, I took two years off to be a missionary for the Church of Jesus Christ of Latter-day Saints, and I spent most of that away from a keyboard. When I returned, the world had changed.

Everyone had email, and the advent of the PowerPC gave us vastly faster Macs than the old Mac II and we were using FoxPro to write our software. There was a new technology: NCSA Mosaic. I didn’t know if I’d be able to catch up with all of the changes, or if I could handle sitting in a chair for 8 or more hours a day.

I acclimatized to the office, and eventually “caught up”, if one can ever truly catch up in the world of technology and software. I bought a PC with an ample 32 MB of RAM and installed Linux on it.

I graduated in December of 1997 and went to work for small software company, creatively named Software Development Corporation. That’s a joke — it wasn’t a creative name, but it was a great place to work because my coworkers mentored me and cared about me. We ported new versions of WordPerfect to UNIX systems… or rather, other people did. I added an LDAP address book for the import and merge feature. Everything was written in C. We used the Internet, but not to find answers about APIs and coding… we still used books for that.

Fast forward to today, and nearly everything, technologically, has changed. Computer hardware, Linux is everywhere, open source software, new frameworks and programming languages have become staples of our lives.

Yet people are similar. We rely on each other, help each other, and strengthen each other.