I’ve been wearing a surgical boot since my heel surgery six weeks ago.
The first month I spent getting around on a knee walker or crutches.
For the last couple of weeks, I’ve been walking more and more,
but always wearing the boot.
The doctor told me today that I could start weaning myself off the boot,
but not to rush it.
I wore shoes on my right foot tonight for the first time.
I tried on a Doc Marten shoe but found it too stiff.
It rubbed against the scar at the back of my heel.
A pair of sneakers were more comfortable.
I’ll bring the right sneaker to work …continue.
An OrderedDict is a Python dict which remembers insertion order.
When iterating over an OrderedDict, items are returned in that order.
Ordinary dicts return their items in an unspecified order.
Ironically, most of the ways of constructing an initialized OrderedDict
end up breaking the ordering in Python 2.x and in Python 3.5 and below.
Specifically, using keyword arguments or passing a dict (mapping)
will not retain the insertion order of the source code.
Python 2.7.13 (default, Dec 18 2016, 07:03:39)
>>> from collections import OrderedDict
>>> odict = OrderedDict()
>>> odict['one'] = 1
>>> odict['two'] = 2
>>> odict['three'] = 3
>>> odict['four'] = 4
>>> odict['five'] = 5
>>> odict.items()
[('one', 1), ('two', 2), ('three', 3), ('four',
…continue.
Title: Skinny Dip
Author: Carl Hiaasen
Rating: ★ ★ ★ ★
Publisher: Warner
Copyright: 2004
Pages: 496
Keywords: humor, crime
Reading period: 18–19 February, 2017
Joey Perrone is very surprised to find herself thrown off a cruise ship
on her second wedding anniversary.
After a night of swimming, she washes up on a small Florida island
in the company of a prematurely retired investigator.
Joey persuades Mick Stranahan not to report the attempted murder,
but instead to investigate and torment her worthless husband, Chaz,
who turns out to be a biostitute for a major polluter of the Everglades,
as well as a relentless pussyhound, an inept killer, and an all-round shitheel.
Hiaasen has a lot of …continue.
When I learned HTML tables back in the 90s,
at some point I discovered the <thead> element
for grouping the <th> column headers.
What I missed was there should be a <tr> element between the two.
In other words, a well-formed HTML table with a header looks like this:
<table>
<thead>
<tr>
<th>Name</th>
<th>Value</th>
<th>Date</th>
</tr>
…continue.
Title: The Italian Job
Director: Peter Collinson
Rating: ★ ★ ★ ★
Released: 1969
Keywords: heist, comedy, cars
Country: UK
Watched: 17 Febuary, 2017
The Italian Job movie is worth your time.
One of the quintessential movies of the Swinging Sixties,
its British sensibility wears well, almost 50 years on.
The humour still works.
And it’s probably the best advertisement that the Mini ever had.
Charlie Croker (Michael Caine) has inherited a plan to rip off $4 million in gold bullion
from Fiat in Turin.
He and the lads are going to help the balance of payments
by bringing the loot back from the Common Market.
(They’re proto-Euroskeptics.)
And they’re going to do it by causing the mother …continue.
Title: Kill Me Three Times
Director: Kriv Stenders
Rating: ★ ★ ★
Released: 2014
Keywords: black comedy thriller
Country: Australia
Watched: 10 February, 2017
A jealous husband engages
a private detective-cum-killer for hire (Simon Pegg) to follow his wife.
Upon proof of her infidelity, he orders a hit,
which triggers a comedy of errors and double crosses,
which ultimately leaves most of the cast dead at each other’s hands.
There’s not much to like about this Australian noirish comedy.
It’s bloody but not that funny.
The characters are thinly drawn and unengaging.
They’re a far cry from Tarantino’s gonzo motormouths
or the Coen Brother’s quirky killers.
[Previously published at the now defunct MetaBrite Dev Blog.]
A collection of miscellaneous tips on using Pipelines in Jenkins 2.0.
#6 in a series on Jenkins Pipelines
Environment Variables
Use the withEnv step to set environment variables.
Don’t manipulate the env global variable.
The confusing example that you see in the documents,
PATH+WHATEVER=/something,
simply means to prepend /something to $PATH.
The +WHATEVER has no other effect.
Credentials
The withEnv step should not be used to introduce secrets into the build environment.
Use the withCredentials plugin instead.
withCredentials([
[$class: 'StringBinding', credentialsId: 'GPG_SECRET', variable: 'GPG_SECRET'],
[$class: 'AmazonWebServicesCredentialsBinding',
credentialsId: '0defaced-cafe-f00d-badd-0000000ff1ce',
accessKeyVariable: 'AWS_ACCESS_KEY_ID',
secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']
])
…continue.
Title: I Shall Wear Midnight
Author: Terry Pratchett
Rating: ★ ★ ★ ★
Publisher: Harper
Copyright: 2010
Pages: 355
Keywords: humor, fantasy
Reading period: 3–5 February, 2017
Tiffany Aching is now the overworked and overly responsible Witch of the Chalk.
People everywhere are fearing and distrusting witches more.
When her patient, the ailing Baron dies, she is blamed.
Other troubles multiply.
Eventually she realizes that the Cunning Man,
a long-dead witchfinder,
is seeping poison into people’s hearts.
Aided by the troublemaking Nac Mac Feegle, she defeats him.
Recommended.
I Shall Wear Midnight follows
The Wee Free Men, A Hat Full of Sky, and Wintersmith.
[Previously published at the now defunct MetaBrite Dev Blog.]
Jenkins Pipelines are written in a Groovy DSL.
This is a good choice but there are surprises.
#5 in a series on Jenkins Pipelines
Groovy as a DSL
Groovy lends itself to writing DSLs (Domain-Specific Languages)
with a minimum of syntactic overhead.
You can frequently omit the parentheses, commas, and semicolons that litter other languages.
Groovy has interpolated GStrings, lists, maps, functions, and closures.
Closures
Closures are anonymous functions where state can be captured at declaration time
to be executed later.
The blocks that follow many Pipeline steps (node, stage, etc) are closures.
Here’s an example of a Closure called acceptance_integration_tests,
where the release_level parameter is a String
which must be either …continue.
I uploaded some presentations to SpeakerDeck.com tonight.
Here are various presentations of mine at SpeakerDeck.com and SlideShare.net:
Previous »
« Next