George V. Reilly

Old Presentations

I uploaded some pre­sen­ta­tions to Speak­erDeck.com tonight.

Here are various pre­sen­ta­tions of mine at Speak­erDeck.com and SlideShare.net:

Jenkins #4: The sh Step

[Pre­vi­ous­ly published at the now defunct MetaBrite Dev Blog.]

If there isn’t a built-in Pipeline step to accomplish something, you’ll almost certainly use the sh step.

#4 in a series on Jenkins Pipelines

The sh step runs the Bourne shell—/bin/sh, not Bash aka the Bourne-again shell—with the -x (xtrace) and -e (errexit) options.

The xtrace option means that every step in the sh block is echoed to the Jenkins log, after commands have been expanded by the shell. This is useful but you could echo the contents of passwords or secret keys in­ad­ver­tent­ly. Use set +x in your sh block to control this.

The errexit option means that the script will abort continue.

Jenkins #3: GitHub Integration

[Pre­vi­ous­ly published at the now defunct MetaBrite Dev Blog.]

Much of our code is in one large GitHub repository, from which several different ap­pli­ca­tions are built. When changes are pushed to the master branch, we want only the ap­pli­ca­tions in affected di­rec­to­ries to be built. This was not easy to get right with “Pipeline script from SCM” builds.

#3 in a series on Jenkins Pipelines

Con­fig­u­ra­tion

Trump: Media Suppresses Coverage of Terrorist Attacks

Donald Trump is now claiming (WaPo):

Speaking to the U.S. Central Command on Monday, President Trump went off his prepared remarks to make a truly stunning claim: The media was in­ten­tion­al­ly covering up reports of terrorist attacks.

“You’ve seen what happened in Paris, and Nice. All over Europe, it’s happening,” he said to the assembled military leaders. “It’s gotten to a point where it’s not even being reported. And in many cases the very, very dishonest press doesn’t want to report it. They have their reasons, and you understand that.”

More: The Atlantic, Vice.

This is ridiculous on the face of it. With literally billions of cellphone cameras in cir­cu­la­tion and hundreds of millions of continue.

Jenkins #2: EC2 Slaves

[Pre­vi­ous­ly published at the now defunct MetaBrite Dev Blog.]

The “slave” ter­mi­nol­o­gy is un­for­tu­nate, but the utility of running a Jenkins build on a node that you’ve configured at Amazon’s EC2 is undeniable.

#2 in a series on Jenkins Pipelines

We needed to install system packages on our build nodes, such as Docker or Postgres. For obvious reasons, Cloud­Bees—our Jenkins hosting provider—­won’t let you do that on their systems. You must provide your own build nodes, where you are free to install whatever you like.

We already use Amazon Web Services, so we chose to configure our CloudBees account with EC2 slaves. We had a long and fruitless detour through On-Premise Executors, which I will not detail here.

Ultimately, continue.

Jenkins #1: Migrating to Pipelines

[Pre­vi­ous­ly published at the now defunct MetaBrite Dev Blog.]

The MetaBrite dev team migrated most of their builds from Atlassian’s Bamboo Cloud to Jenkins Pipelines in late 2016/early 2017. This is a series of blog posts about that experience.

Jenkins Pipeline Series

The series so far:

Eviction

For three years, we used Atlassian’s hosted Bamboo Cloud service to build and deploy most of our code. In the summer of 2016, Atlassian announced that they were going to dis­con­tin­ue Bamboo Cloud on January 31st, 2017.

We looked around for a suitable re­place­ment. We did not find anything would work well for us. We had re­quire­ments that were—­sur­pris­ing­ly—hard continue.

Review: Gone, Baby, Gone

Title: Gone, Baby, Gone
Author: Dennis Lehane
Rating: ★ ★ ★ ★ ½
Publisher: William Morrow
Copyright: 1998
Pages: 256
Keywords: crime
Reading period: 7 January–3 February, 2017

Four-year-old Amanda McCready has dis­ap­peared. Her aunt, desperate to find her, engages PIs Patrick Kenzie and Angie Gennaro to find the child. The mother, Helene, is drunken, slatternly, and neglectful: in short, unfit and un­sym­pa­thet­ic. Kenzie and Gennaro don’t want the case—the odds of finding Amanda alive and unharmed are low. They’ll go through hell before they succeed.

This book veers from blackly funny to gutwrench­ing. Kenzie and Gennaro come up against the worst of the worst and against decent people doing wrong for reasons that seem right to continue.

Seattle Accessibility

I’ve been using a knee walker for the last couple of weeks. For the first time, I took public trans­porta­tion by myself to attend Papers We Love tonight. I rolled myself from 1st Ave S & Washington up to the Pioneer Square station, took the Light Rail one stop north to the University Street station at 3rd & Seneca, then rolled down the hill to 2nd & Spring. It’s a trip I wouldn’t have thought about twice if I were walking nor­mal­ly—and I probably would have walked the entire way rather than take the Light Rail only one short stop.

It’s a different matter on a knee scooter. I said continue.

Review: The Rhesus Chart

Title: The Rhesus Chart
Author: Charles Stross
Rating: ★ ★ ★ ★ ½
Publisher: Ace
Copyright: 2014
Pages: 359
Keywords: Love­craft­ian spy thriller
Series: Laundry Files, vol. 5
Reading period: 27–29 January, 2017

“Don’t be silly,” Bob, said Mo, “everyone knows vampires don’t exist!” Thus opens The Rhesus Chart. We quickly come to realize that vampires do exist and we come to wonder why everyone in the Laundry is so dog­mat­i­cal­ly sure that they don’t. One of the nest of baby vampires that sets the plot in motion is Bob’s toxic ex-girlfriend, Mhari, who manages to convince the Laundry that they should recruit her clutch rather than ex­ter­mi­nate them. But there are old vampires who have continue.

Negative Circled Digits

I found something very useful in the dingbats range of Unicode characters: the negative circled san-serif digits, ➊ ➋ ➌ ➍ ➎ ➏ ➐ ➑ ➒ ➓ .

I’ve started using them to label points of interest in code. They play well with the code-block directive in re­Struc­tured­Text.

sudo docker images --format '{{.Repository}}:{{.Tag}}' \ | grep $IMAGE_NAME \ | grep 
continue.
Previous » « Next