(I posted an earlier version of this in December 2004 on my old technical blog.
A discussion at work last week about 36-bit computers at the Living Computers Museum
prompted me to write an updated post with improved explanations and much better typography.)
I’ve been programming in C since 1985 and C++ since 1991,
but I’ve never found a use for octal representation until ,
aside from the permissions argument for chmod.
Octal has always seemed as vestigial as a human appendix,
a leftover from the early days of computers,
when word sizes were often a multiple of three:
6-, 12-, 24-, or 36-bits wide.
All modern computers use word …continue.
“Security is 1% technology plus 99% following the procedures correctly” — Tom Limoncelli
Having dealt with GPG last week at work,
I remembered that I had intended to write a blog post
about how we used GPG, Blackbox, and Paperkey to store secrets in Git
at my previous job.
We used Blackbox to manage secrets that were needed
during development, build, deployment, and runtime.
These secrets included AWS credentials, Docker registry credentials,
our private PyPI credentials, database credentials, and certificates.
We wanted these secrets to be under version control,
but also to be secure.
For example, we had a credentials.sh that exported environment variables,
which was managed by Blackbox:
# Save current value of xtrace …continue.
Title: Fire and Blood
Author: George R.R. Martin
Rating: ★ ★ ★ ½
Reading period: 28 December, 2018–1 January, 2019
I’ve been waiting longer than most for George R.R. Martin
to finish the A Song of Fire and Ice series:
I read the first book when it was newly published in paperback in 1997.
Fire and Blood is a new addition to the series,
but it is a prequel and does not advance the plot at all.
This book is a history of the first half of the
three hundred–year reign of the Targaryen dynasty,
the dragon riders who conquered Westeros
with their firebreathing dragons.
The Game of …continue.
Title: Watership Down (miniseries)
Director: Noam Murro
Rating: ★ ★ ★ ★
Watched: 30 December, 2018–1 January, 2019
Two years ago, just after the death of Richard Adams,
I reread the book of Watership Down
for the first time in many years,
having originally discovered it when it was new
in the mid-1970s.
There’s a beautiful new adaptation,
an animated miniseries made by the BBC and Netflix.
This adaptation is largely faithful to the original book:
The brave young rabbits striking out on their own
before their home warren is destroyed;
creating a new warren on Watership Down;
the war with the totalitarian warren of Efrafa;
the peaceful aftermath.
One shortcoming is that
although the voices …continue.
2018 was a mixed year for Emma and me.
At the start of the year,
I was the principal engineer at MetaBrite.
The year started out well initially,
as we had moved to much larger offices at the end of 2017.
In late January, a number of people were laid off,
when it became apparent
that the old business plan would no longer work.
In late March, the company died abruptly
when we lost our principal source of funding.
I spent April looking for a job and received several offers.
I joined Stripe‘s Seattle office in June,
where I work on the Edge team,
which is "ensuring Stripe’s continued existence on the Internet".
It’s been a …continue.
Title: The Heart’s Invisible Furies
Author: John Boyne
Rating: ★ ★ ★ ★ ½
Keywords: fiction, gay, irish
Reading period: 30 October, 2018
Before I begin to describe The Heart’s Invisible Furies
with abundant spoilers, let me say two things.
Despite what I describe below, the book is very funny,
as Cyril recounts his frequent fuckups.
You would never know,
from reading the back cover or the excerpted reviews inside,
that Cyril is gay.
Yet Cyril’s sexuality is the central theme of the book.
I can only assume that this is a marketing decision,
with which I strongly disagree.
16-year-old Catherine is forced out of her Cork village by the parish priest,
In 2016, I threw an Election Night victory party for Hillary Clinton.
It turned into a wake.
In 2016, it was obvious to me and to millions of others
that Trump was unfit to be President.
There were weak excuses that he might turn out to be more presidential
after the campaign was over.
Instead, we got the worst president we’ve ever seen in the US.
A pathological liar.
A shatterer of alliances.
A demagogue, stoking the flames of right-wing violent extremism.
In 2018, there are no excuses for not seeing how dangerous Trump is.
Trump himself is not on the ballot,
but this is nonetheless a referendum on Trump.
The Republican …continue.
Brendan Gregg’s Brilliant Jerks in Engineering
is an excellent discussion of the "No Asshole Rule"
applied to software engineers.
He posits two kinds of brilliant jerks, the selfless and the selfish.
You might call them unempathic and sociopathic, respectively.
The former, if they develop some emotional intelligence, are worth saving.
The latter are simply toxic and probably need to be fired.
I came across an interesting post on Medium earlier tonight,
How to talk to people you disagree with.
It can be hard to have a fruitful conversation with people you’re at odds with,
Jeremy Caney has 10 suggestions:
- Leave the insults at the door
- Understand what’s driving their views
- Speak to their values
- Know what you’re talking about
- Acknowledge when you’re wrong
- Stay focused on the issue at hand
- Be prepared to take heat from your team
- Don’t expect capitulation
- Know when to walk away
- Be mindful of the onlookers
The Git Diff utility is much more functional than the standard command-line diff.
To see changes relative to the staging area (aka the index),
use git diff.
To see staged changes, use git diff --staged (or --cached).
To see changes side by side on a line (where it makes sense),
use the --color-word option.
To compare two arbitrary files in the file system,
use git diff --no-index.
To try some other diff algorithms,
use the --patience, --histogram, or --minimal options.
The default diff algorithm is --myers.
Lots more at the docs.