One to listen to: “Magic: The Gathering – Drive to Work Podcast #375 – 20 Lessons: Details Matter”

In something of a new concept for me, if I come across a link to a podcast episode that I think has useful content, I’ll link to it here.

In this case, this is the “Magic: The Gathering – Drive to Work podcast“, episode 375 (audio link).

Mark Rosewater, one of the designers of the popular game, explains a little something about the game, whether it’s the design of a card, or a set, or a mechanic, or …. well, any feature of the game really, and he does it twice a week, in the car, on his way to (or from) work.

In this episode, he details about why “Details Matter”, and basically it comes down to a sense of ownership that each little detail on a tiny piece of card, and how that can connect with a player and encourage them to keep playing.

Even if you don’t play Magic, this podcast (like many that I listen to) covers a facet of life that is generally under considered, and in this case, it has turned up something new to include in each design I bring forward from here on out.

Podcast Summary – Ubuntu Podcase S09E37 and S09E38

I was very fortunate to have been invited to guest present on the Ubuntu Podcast, for the episodes S09E37 and S09E38.

I recorded the show on my normal laptop, with a specially built Ubuntu Mate 16.10 image, which just included the show’s recording tools (Mumble, Voice Recorded, Gobby)

Due to some issues with my local recording, the audio used in the podcast was from the Mumble recording, rather than the local recording I made.

I’m generally happy with the recording, although I could have done with reading the content in more depth before the show, but, as it happened on a work night, I didn’t really make the time to research properly.

It was an absolute pleasure to record the show, and I’ve offered to guest present again in the future, if they’ll have me!

Using Expect to SFTP a file

Because of technical limitations on a pair of platforms I’m using at work, I am unable to set-up key-based SFTP or SCP to transfer files between the pair of them, so I knocked together this short script using the TCL based Expect language.


#!/usr/bin/expect
set arg1 [lindex $argv 0]
set arg2 [lindex $argv 1]
set arg3 [lindex $argv 2]
set timeout 1000
spawn sftp "$arg2"
expect {
yes {
send "yes\r"
exp_continue
}
ass {
send "$arg3\r"
exp_continue
}
sftp {
send "put $arg1\r"
expect {
100% {
send "quit\r"
exp_continue
}
}
}
}

view raw

upload.exp

hosted with ❤ by GitHub

There’s no error checking here, which isn’t great, but as a quick-and-dirty script to SFTP files to a box which needs the password each run… it works! :)

Talk Summary – How the internet works

Format: Freeform speech based on slides (AV issue). Theatre layout chairs. 50 attendees.

Slides: None

Video: None

Slot: Day 1 (Saturday), Slot 7 (15:00-15:30)

Notes: Covered ARP resolution of MAC addresses, routing (IPv4), DHCP, DNS and UDP. Missed TCP and HTTP but out of time. Mentioned IPv6.

Talk Summary – Building Labs – a basic guide

Format: Slides with code examples. Theatre layout chairs. 30 attendees.

Slides: Hacker Slides format (Markdown based) in a gist

Video: No URL as yet. It was recorded.

Slot: Day 1 (Saturday), Slot 5 (14:00-14:30)

Notes: Covered virtual machines, physical appliances, Vagrant, Ansible, Firewalling, routing, vlans. Mentioned ser2net but out of time to fully expand on slides at the end.

Talk Summary – Sandstorm: The Future Of Self-Hosting?

Format: Website tabs. An ad-hoc walkthrough of installation documentation and using Sandstorm. (Partial repeat of a previous talk at OggCamp ’15). Beanbags and a small number of chairs. 20 attendees.

Slides: None

Video: None

Slot: Day 1 (Saturday), Slot 1 (10:30-11:00)

Notes: Covered installing from curl | bash and mentioned PGP signing of installer. Covered installing apps and creating your own (might have confused people on this point). Demonstrated using apps with my own server, and installing apps too. Several follow-ups about why sandstorm and constraints in what to install it on, also about updates.

GPG Encrypting files using a keyserver

Another “at work” post!

I’ve been generating files which need to be distributed via a file server, but need to be encrypted using GPG (the open source PGP application). Rather than managing keys for a large number of users, instead, I have a text file with the user names in, and a batch file. Please see the below gist for details :)

Installing Symantec Endpoint Protection (SEP) on Ubuntu 14.04

At work we use Symantec Endpoint Protection, and in a lab, I was asked to confirm whether we could install it on our Ubuntu 14.04 servers. This took a few hops to get it installed, so I figured, I’d publish how I got it working, to save some other poor soul the trouble :)

Firstly, add the webupd8team’s Java PPA and update the repository cache: sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update

This gives you the ability to install the Java 8 installer: sudo apt-get install oracle-java8-installer

This should download the install files, but for some reason, I was struggling to download it (the install script seems to struggle with downloading the actual .tar.gz file from Oracle), so I manually followed the link to http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz, accepted the license, and placed the file in /var/cache/oracle-jdk8-installer/ and then re-ran the above apt-get install line.

— Note: This above issue was because I was running a caching proxy, which somehow doesn’t play nicely with this script. Turn off your proxy – should be all good :)

Next I had to install the Java Cryptography Extension which I got from the Java SE page. I placed this file in /tmp/jce_policy-8.zip (the filename is the one Oracle use) and replaced the files in /usr/lib/jvm/java-8-oracle/jre/lib/security with the ones from the extracted archive with this line: cp -b /tmp/UnlimitedJCEPolicyJDK8/*.jar /usr/lib/jvm/java-8-oracle/jre/lib/security.

The SEP client also has a dependency on the 32bit version of GLibc. I installed this with sudo apt-get install libc6-i386

I was then, finally, able to install the SEP client by unpacking the installer zip file, and running sudo bash install.sh -i from the path I’d unpacked the zip file in.

Not very complicated, I guess!

— Sources:

  • https://ubuntuincident.wordpress.com/2011/04/14/install-the-java-cryptography-extension-jce/
  • http://www.linuxquestions.org/questions/linux-newbie-8/how-to-install-32-bit-glibc-2-9-or-later-on-64-bit-ubuntu-12-04-a-4175413667/
  • http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

The importance of saying something – in memory of Lindsey

Today, I said goodbye to a friend. Not a best-of-friends friend, but just a friend, a colleague, a someone-to-chat-with-as-we’ve-both-got-5-minutes friend.

We used to work in the same office, 10 or so years ago, she had been there longer than I and she would teach those who were following the same path she was on. She was a patient and good teacher, I seen to recall. A year or so passed, I moved site, changed roles, but when I came back to the site, I’d try to catch up. It didn’t often work out, but I tried. She had a son a couple of years before me, so I went to her for advice a few times, and it helped knowing she’d followed a similar path.

A few years ago, she was diagnosed with cancer. She did well, fought it off. I only found out near to the end of her treatment, and it didn’t feel right to say anything… after all, we didn’t speak often and, well, I didn’t really know what to say. I mean, what can you say when it’s nearly all over?

I saw she’d beaten it, and I was happy, but again, I’d not said anything when she was fighting it, and so now, what can you say when you’d not said anything when it mattered. I liked some photos and positive messages she’d written on Facebook, I hoped it was enough, to let her know I was happy she was OK.

And then, a few months ago I saw she was back at Christie’s Hospital. She was having more scans. A few weeks later, I was back at the old site and (fortunately) bumped into her. We chatted like old times, shared some war stories about our kids and then she asked if I knew she was back in for treatment. I’m happy to say I was able to say I knew, but I didn’t say much, just that I hoped it all went well and that she was looking good. We didn’t talk for long, but I’m glad we did.

A few weeks ago, the posts from my friend began to change. The posts, still optimistic, were now about a legacy, about pictures, about blankets, and about spending time together. There were pictures of breaks and holidays. I could tell that the outlook had changed… But what could I say? The happy pictures got likes, and again, I hoped that was enough.

And then, I saw a post, my friend had passed away. And it hit me, I’d never really said anything that mattered.

Today, I went to her funeral. Her husband greeted me at the wake, by name. He remembered me, maybe from Facebook, maybe from their wedding. I don’t know. But, he knew me in a room full of people. And eventually, I choked out that sometimes you want to say something, and he replied that there were no words sometimes.

I am glad I went today, if only to know that in some way, I finally managed to say something, even if it wasn’t really enough.

And I realised that, but for the whim of God, or, should you not believe like that, then, on the wheel of chance we call life, this fate that fell on her could fall on any one of us. It could be my wife, my child or even me. It could be my brother, or his family. It could be my neighbour, or another colleague… anyone. And in that case, could I still say nothing? I hope I can find at least something, next time, to say.

Rest in peace, Lindsey. My best wishes to your husband and son, to your sister and mother, and to the friends you have left behind, in a world a little less brighter.