Fun With Shipping
I have to blog this so that when people say “that can’t be true” I can point to this blog post.read more
The Minimalist Headset Solution
I got sick and tired video conferences being delayed by audio problems. I know that a lot of times it is a problem on my end, but I think everyone has had audio problems. How did I fix it? I got rid of any feature that caused me trouble until I had a trouble-free headset experience. Spoiler alert: I had to eliminate nearly all features. The purpose of this blog post is to provide links so that people can purchase the same equipment I now use.read more
VMware WorkspaceONE Notifications are a crime against productivity
VMware’s WorkspaceOne has an annoying feature on macOS where every time it does an update you get a notification. This steals my cursor, interrupts my work, and breaks my concentration.read more
What does “n.n.n.n.” do in Vim?read more
Stack Overflow Is Hiring Azure SREs
Looking for SRE’s with experience in the Microsoft stack!read more
What Is Yak Shaving?
What is yak shaving?read more
How should SaaS providers charge for training?
The other day a vendor added $6k of “training” to my quote. Here’s how insulting that is.read more
PowerShell and NAPTR DNS records: Part 2
I think I’ve identified the bug in PowerShell’s handling of NAPTR records.read more
PowerShell and NAPTR DNS records. Help!
I can’t figure out how toread more
Remove-an NAPTR record using PowerShell’s DnsServer module. Can you?
Canon Imageclass Scanning to Gmail
Configuring my new Canon printer to scan to gmail was a bit tricky.read more
Evading or leveraging macOS's DNS mucking
There are times when macOS mucks with DNS lookups. For example, a corporate VPN client might tell macOS that DNS lookups for certain domains (i.e. domains inside the company) are to be handled differently.read more
Refactoring a Loop That Was Trying Too Hard
I fixed bug last night.
The bug was difficult to fix because the code was so complex. I wasn’t really able to fix it until I simplified the code. Once the code was simplified the bug was easy to fix. While doing this I found an anti-pattern that I now call “One loop trying too hard”.read more
Google GSuite (nee Workplace) Secrets!
Here are some of my favorite secrets about Google Docs, Google Sheets, Gmail, etc.read more
Shipping used to be 6-8 weeks
Remember back in the old days when if you ordered anything from a company, delivery was “6 to 8 weeks”?read more
The Linux 'cal' command
Five things you should know about the Linux
calcommand. There are many, many, more features listed in the man page but these are the ones you should know.
The Unixread more
calcommand appeared in 1973 in what was called “Version 5 AT&T UNIX”. Linux and macOS (and all *BSD systems) have very different clones. Check the man page for details.
A developer's view of umask
There are a zillion pages explaining how umask works from the user’s point of view, usually with great charts and tables explaining all the bits.
However in all my years I’ve never seen umask explained from the developer’s point of view. What do you provide toread more
creat()/open()/mkdir()(in C) or
os.OpenFile/os.Mkdir/os.MkdirAll(in Go) so that the user’s umask is in control.
How to Learn Vi / Vim
A coworker was amazed at my use of Vim, especially that I was able to navigate around files so quickly.
Here’s my advice:read more
Go has eliminated most of my off-by-one errors except 0... I mean 1.
for x = range foo) has eliminated the most common trap where I make off-by-one errors. The next largest category of off-by-one errors would be eliminated if there was a way to specify the last item in an array. It would also improve a developer’s ability to convey intent.
Setting env variables in /bin/bash
If you want to set an env variable in bash for only 1 command, here’s some bad ways to do it:read more
All I Do Is Play With Strings
A poem I wrote earlier this year.read more
Who Builds The H-Bomb? Not I!
- “Who Builds The H-Bomb?”
- Mark Levy, December ‘81
Google Meets and Sneezes
Dear Google Meets,
We need to talk about your product.read more
Working at home with dogs
Most of my company works remote, and with C-19 we are now all working remotely.read more
Clayton Christensen has died
Clayton Christensen died on Jan 23, 2020 at the age of 67.
You may know him from his 1997 best selling book, “The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail.”
He was incredibly influential, well beyond the typical author.read more
Comcast's concern is that they can't fuck you hard enough
Comcast’s #1 concern is that if they can’t fuck you hard enough.
Or, as Vice reported it, Comcast Is Lobbying Against Encryption That Could Prevent it From Learning Your Browsing History.read more