I’ve seen things you people wouldn’t believe.
Attack ships on fire off the shoulder of Orion.
I watched C-beams glitter in the dark near the Tannhäuser Gate.
All those moments will be lost in time, like tears…in…rain.
Time to die.
—Roy Batty, the Tears in Rain monologue
According to Blade Runner,
the replicant Roy Batty’s incept date is January 8th, 2016.
The Sydney Morning Herald has an article.
In honor of which, we watched Blade Runner tonight.
My LastPass browser plugin just upgraded itself to v4.0.
For several years, I’ve been using LastPass to manage all of my passwords.
I have literally hundreds of passwords.
I can’t even remember half the sites, much less the usernames.
With LastPass, I can maintain a strong, distinct password for each site,
which is robustly encrypted and backed up in the cloud,
and I get good browser integration and adequate Android integration.
We also use LastPass at work for our individual use
and to share credentials.
There are still a handful of passwords that I have to remember and type,
including the master password for my LastPass account,
laptop passwords,
and GPG passphrases.
I’ve long used …continue.
Title: Hide Me Among The Graves
Author: Tim Powers
Rating: ★ ★ ★ ★
Publisher: William Morrow
Copyright: 2012
Pages: 544
Keywords: fantasy, secret history
Reading period: 2 December, 2015–6 January, 2016
The Rosetti siblings, Christina, Dante (Gabriel), Maria, and William,
are haunted by the vampire who was once their uncle, John Polidori.
The vampires possessively love certain humans
and grant those humans great powers of creativity.
Christina both loves her uncle and yearns to be free of him.
The other humans who receive the attentions of the vampires
likewise feel both a forbidden attraction
and a horrified repulsion at their own potential damnation.
Tim Powers is known for his “secret histories”,
wherein he takes historical events …continue.
The canonical for-loop in C and C++ is written thus,
counting up i = 0, i = 1, …, i = N-1:
for (int i=0; i < N; i++) {
// loop body
}
(In C, you have to declare int i before the for-loop.)
Let’s unpack that for-loop into an equivalent while-loop:
int i = 0;
while (i < N) {
// loop body
i = i + 1
}
In other words, we initialize i to zero.
Then, before every execution of either loop,
we check i < N.
If i is still within bounds,
we execute the loop body.
Then we postincrement …continue.
[Previously published at the now defunct MetaBrite Dev Blog.]
RFC 1738 allows passwords in URLs,
in the form <scheme>://<username>:<password>@<host>:<port>/<url-path>.
Although passwords are deprecated by RFC 3986 and other newer RFCs,
it’s occasionally useful.
Several important packages in the Python world allow such URLs,
including SQLAlchemy ('postgresql://scott:tiger@localhost:5432/mydatabase')
and Celery ('amqp://guest:guest@localhost:5672//').
It’s also useful to be able to log such URLs without exposing the password.
Python 2 has urlparse.urlparse
(known as urllib.parse.urlparse in Python 3
and six.moves.urllib_parse.urlparse in the Six compatibility library)
to split a URL into six components,
scheme, netloc, path, parameters, query, and fragment.
The netloc corresponds to <user>:<password>@<host>:<port>.
Unfortunately, neither Python 2 nor 3’s urlparse
properly handle the userinfo
(username + optional password in the netloc),
as they …continue.
New MetaBrite Dev Blog post,
Obfuscating Passwords in URLs in Python.
The accompanying photo shows most of the books that I’ve read between late September 2015
and January 2nd:
Title: The Red Road
Author: Denise Mina
Rating: ★ ★ ★ ★
Publisher: Back Bay Books
Copyright: 2014
Pages: 320
Keywords: police procedural, tartan noir
Reading period: 31 December, 2015–2 January, 2016
Glasgow DI Alex Morrow is trying to put a dangerous criminal back in prison,
but she can’t explain how his prints were found at the scene of a recent murder
when he was already in custody.
Fifteen years ago, when Rose Wilson was a sexually abused 14 year old,
she was responsible for two deaths in one night,
but only did time for one culpable homicide.
Now the lawyer who saved her is dead and coverups are unraveling.
In other hands, this tale …continue.
Emma and I have a bargain.
If one of us cooks a nice dinner, the other cleans up.
While I can and do cook, Emma does most of the cooking.
Therefore, I do most of the cleaning.
I always thank Emma during dinner for the meal,
and Emma invariably thanks me for cleaning when I’m washing pots and pans.
I—a lifelong smartass—usually respond,
"Thank you for making a mess."
So far, she’s taken this with good grace—probably better than I deserve.
In truth, the cleanup is usually far quicker than the cooking.
Title: The Magician’s Land
Author: Lev Grossman
Rating: ★ ★ ★ ★ ½
Publisher: Plume
Copyright: 2014
Pages: 416
Keywords: adult fantasy
Reading period: 26–29 December, 2015
[Sequel to The Magician King]
At the beginning of The Magician’s Land,
Quentin Coldwater is in exile from Fillory.
After a brief sojourn of teaching at Brakebills,
where he researches an enormously complex spell he found in the Neitherlands,
he is fired and Plum, a student, is expelled.
A mysterious summons draws them into a magical heist, which goes awry.
Meanwhile, Fillory is dying
and Eliot, Janet, Josh, and Poppy are trying to save it.
Quentin has matured over the trilogy,
emotionally and as a magician,
rising to the daunting challenges
"He was …continue.
Previous »
« Next