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
Biden Has a Mandate!
Biden has a mandate.read more
Google GSuite (nee Workplace) Secrets!
Here are some of my favorite secrets about Google Docs, Google Sheets, Gmail, etc.read more
The First Amendment tells a story
Did you know that buried in the U.S. Constitution is a story? It’s in the first amendment!read more
Trump's COVID-19 Test
I learned that President Reagan was shot while walking home from school. I was about a block away from my house and I remember running the whole way home.read more
Which option to pick?
If you have zero knowledge and need to make a decision, here’s some advice.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
Trump's Virus, Trump's Pandemic, Trump's Fault!
According to The Red Cross, there are fewer house fires in December and January.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.
The Best Personal Financial Advice I've Ever Gotten!
The best financial advice I ever got:
Pretend you didn’t get that raise.read more
An open letter to Uncle Bob about "Defund The Police"
You’ve tweeted that you feel “defund the police” is a terrible policy. I hope to change your mind.
Ignore the name. It is imperfect. In software engineering terms, “defund the police” is similar to the strangler pattern.
For the non-engineers reading this, TSP is a reasonable, pragmatic, and down-to-earth way to slowly replacement an old system with a new system. The name is terrible… I would have called it the warm hug of gradual change.read more
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
Countries and States I've Visited
In response to a Facebook meme:
The typical American has visited 8 states, many have never been outside of their home state, nor have been outside the country.read more
Thoughts on "Do the Right Thing" (1989)
Thoughts about “Do The Right Thing” (no spoilers)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.
I Support Ex-Homophobes
You know what I want in the world? I want people that are on the other side of political issues to change their mind. I want them to “see the light”.read more
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
How Biden can win like Obama
I have a theory that 3 things lead to Obama’s win. He surprised the GOP three ways.read more
Google Meets and Sneezes
Dear Google Meets,
We need to talk about your product.read more
A Good Sign
Working at home with dogs
Most of my company works remote, and with C-19 we are now all working remotely.read more
Terms and conditionsSection 1 Cookies: We reserve the right to set cookies and use use services that set cookies. Hell if we know what happens after that. Even if we had legal agreements with those external services, we wouldn’t trust those third parties to abide by the agreements. Nether should you. Section 2 Log retention: The web server we use logs all incoming requests (“traffic logs”) just like any reasonable web server software. read more
Wouldn’t it make more sense if the early primary states were picked from the battleground states of the previous election instead of being a fixed set of states? For example, the top 5 battleground states go first.read more
On requiring experienced presenters to rehearse
There’s a small controversy brewing behind the scenes at conferences because of this trend to require speakers to rehearse their talk via video conference prior to the event.read more