Jamie Tanna | Software Engineer

  • /now
  • Blog
  • Links
  • RSVPs
  • Post by Kind
  • Search
  • Support Me

 Article

Performing a No-Op with chef-client using JSON (2 mins read).

How to perform a chef-client run without executing anything.

Sun, 10 Feb 2019 22:33 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef.

 Article

FOSDEM 2019 (31 mins read).

Recapping my time at the Free and Open Source Developers Europe Meeting conference in Brussels.

Sun, 10 Feb 2019 12:04 by Jamie Tanna's profile image Jamie Tanna . #events #fosdem #open-source #progressive-web-app #decentralisation #indieweb #javascript #free-software #cloud #linux.

 Article

Using git worktree to have multiple branches checked out at once (4 mins read).

How to use git worktree to check out multiple Git branches from the same repo at once.

Tue, 29 Jan 2019 21:39 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #git-worktree.

 Article

Using Git refs to help track your GitLab Environments, from your local repo (2 mins read).

How to pull the Git refs that GitLab Environments exposes in your GitLab repo.

Sat, 19 Jan 2019 18:06 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #gitlab #review-apps #git-ref.

 Article

Using Git refs to check out GitHub Pull Requests, from your local repo (2 mins read).

How to pull the Git refs for Pull Requests to your GitHub repo.

Sat, 19 Jan 2019 17:18 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #github #git-ref.

 Article

Using Git refs to check out GitLab Merge Requests, from your local repo (2 mins read).

How to pull the Git refs for Merge Requests to your GitLab repo.

Sat, 19 Jan 2019 17:18 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #gitlab #git-ref.

 Article

Performing Code Review on Your own Merge/Pull Requests (4 mins read).

Why the first step to getting others to review your code is to review it yourself.

Sat, 12 Jan 2019 16:22 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #code-review #workflow.

 Article

Pretty Printing JSON using Node.JS on the Command Line (1 mins read).

Using Node.JS's JSON module to pretty print JSON objects from the command line.

Fri, 11 Jan 2019 16:50 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #nodejs #json #pretty-print.

 Article

Automating Promotion of Jekyll Posts from Draft to Post (2 mins read).

The handy script I've created to automate publishing a draft in Jekyll, with handy Zsh + Bash autocomplete.

Fri, 11 Jan 2019 11:29 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #automation #jekyll #zsh #bash #shell.

 Article

Converting X.509 and PKCS#8 .pem file to a JWKS (in Node.JS) (2 mins read).

Converting X.509 and PKCS#8 files to JWKS format, using the node-jose library.

Thu, 10 Jan 2019 18:33 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #pki #nodejs #x509 #pkcs8 #pem #jwks.

 Article

Using git commit --fixup= to track changes that need to be applied on top of another commit (4 mins read).

Using git commit --fixup= and git rebase --autosquash to easily track and squash fix commits.

Thu, 10 Jan 2019 17:07 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git.

 Article

Goodbye Jekyll, Hello Hugo! (5 mins read).

My move from Jekyll to super speedy Hugo, and what I've needed to do to migrate.

Fri, 04 Jan 2019 19:44 by Jamie Tanna's profile image Jamie Tanna . #announcement #jekyll #hugo #www.jvt.me.

 Article

2018's Music In Review (5 mins read).

What music was I listening to in 2018?

Tue, 01 Jan 2019 00:00 by Jamie Tanna's profile image Jamie Tanna . #music.

 Article

Creating Microservices for my Static Website (2 mins read).

Exploring moving data out of my site's remit and into its own 'microservices' which can be consumed at build-time, as well as via client-side JavaScript.

Sun, 23 Dec 2018 11:02 by Jamie Tanna's profile image Jamie Tanna . #announcement #jamstack #microservices #www.jvt.me #spectat-designs #netlifycms #jekyll.

 Article

Leaving BTRFS as my primary filesystem (5 mins read).

Why I'm moving away from using BTRFS as the primary filesystem on my personal devices, and why it had nothing to do with BTRFS itself.

Sat, 22 Dec 2018 17:19 by Jamie Tanna's profile image Jamie Tanna . #thoughts #linux #btrfs.

 Article

TYKJS Middleware Gotcha When Base 64 Decoding Data (3 mins read).

How to workaround the Failed to base64 decode: illegal base64 data at input byte error when trying to use b64dec in TYKJS middleware.

Mon, 10 Dec 2018 23:40 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #tyk #tykjs #unit-testing #testing #javascript #nodejs.

 Article

Unit Testing Your TYK (TYKJS) Middleware (6 mins read).

Writing unit tests (in this case using Jasmine) for the TYK API Gateway's JavaScript middleware functionality.

Mon, 10 Dec 2018 23:39 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #tyk #tykjs #unit-testing #testing #javascript #nodejs.

 Article

Hackference 2018 (31 mins read).

A review of my time at Hackference's 1-day conference and 24-hour hackathon.

Sun, 09 Dec 2018 00:02 by Jamie Tanna's profile image Jamie Tanna . #events #hackference #aws #cloud #devops #serverless #nodejs #deno #identity #auth0 #hackathon #hacktoberfest.

 Article

How to run tests from the ChefDK in Docker (6 mins read).

How to get up and running with the ChefDK to perform common tests, such as unit tests and linting.

Wed, 05 Dec 2018 23:07 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef #chefdk #docker.

 Article

Using Fake Cookbooks for Writing ChefSpec Tests for your Custom Chef Resources (3 mins read).

A directory structure I've found quite useful for writing ChefSpec tests for custom resources, by creating a fake cookbook within the cookbook you're testing.

Thu, 29 Nov 2018 21:18 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef #custom-resource #chefspec.

 Article

Creating a versionable, self-contained (fat-/uber-) JAR for Gatling tests (17 mins read).

Why you'd want a fat JAR for your Gatling tests and how you'd achieve it.

Mon, 19 Nov 2018 22:46 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #java #gatling #testing #jar #artifact #artefact #maven #uber-jar.

 Article

Tweaking Gatling HighCharts Response Time Bounds (3 mins read).

How to configure the bounds that Gatling marks your response times within for console output and graphing purposes.

Mon, 19 Nov 2018 22:46 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #gatling #gatling-highcharts.

 Article

Setting your default AWS profile for the AWS CLI and SDKs (2 mins read).

Setting the default AWS profile when working with multiple profiles and the AWS CLI / SDKs.

Thu, 15 Nov 2018 00:12 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #aws #aws-cli #aws-sdk #command-line.

 Article

Chef 14 Upgrade: Custom Resource Properties are Silently Coerced to Hash if they are a nil (2 mins read).

Finding out that a nil gets silently coerced to an empty Hash if given to a custom resource's property of type Hash.

Tue, 13 Nov 2018 00:47 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef-14 #chef-14-upgrade #chefspec #test-coverage.

 Article

Chef 14: ChefSpec Coverage Reporting Deprecation (1 mins read).

Noting the deprecation of using ChefSpec::Coverage.start! when using Chef 14 and above.

Tue, 13 Nov 2018 00:23 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef-14 #chef-14-upgrade #chefspec #test-coverage.

 Article

Chef 14 Upgrade: Change in ValidationFailed error messages when setting required properties (2 mins read).

The updated error message returned by a Chef ValidationFailed error, when you're specifying which properties are required on a custom resource.

Mon, 12 Nov 2018 23:35 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #chef-14-upgrade #chef #chefspec #chef-14.

 Article

Why You Should Be Unit Testing Your Functional Acceptance Tests (7 mins read).

A few reasons explaining why you should be writing unit tests for your functional tests.

Wed, 07 Nov 2018 22:28 by Jamie Tanna's profile image Jamie Tanna . #persuasive #testing #software-testing #tdd #bdd #cucumber #software-quality #quality-engineering #unit-testing.

 Article

Viewing X.509 DER Certificate Details with OpenSSL (2 mins read).

How to convert an X.509 DER file to a human-readable format using openssl commands.

Fri, 02 Nov 2018 07:57 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #certificates #command-line #der #openssl.

 Article

Viewing X.509 PEM Certificate Details with OpenSSL (2 mins read).

How to convert an X.509 PEM file to a human-readable format using openssl commands.

Fri, 02 Nov 2018 07:57 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #certificates #command-line #pem #openssl.

 Article

Backporting/Replaying Changes Using git cherry-pick (6 mins read).

Using git cherry-pick to make it easier to backport or replay Git commits across different versions of your codebase.

Sun, 28 Oct 2018 22:22 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #git-cherry-pick.

 Article

Revert 'Some knowledge-sharing news' (5 mins read).

The unfortunate decision to cancel my Packt training courses.

Sun, 28 Oct 2018 18:40 by Jamie Tanna's profile image Jamie Tanna . #news #events #chef #testing #tdd.

 Article

DevOpsDays London 2018 (51 mins read).

My writeup of my first DevOpsDays conference, and the awesome talks and conversations I was part of.

Thu, 25 Oct 2018 09:49 by Jamie Tanna's profile image Jamie Tanna . #devopsdays #aws #cloud #devops #capital-one #cloud-custodian #dashboards #events #bash #monolith #serverless #management #agile #testing #microservices.

 Article

Showing response headers with curl -i (3 mins read).

Showing just response headers when curling a resource, using curl -i.

Fri, 19 Oct 2018 12:34 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #curl.

 Article

Safely Force Pushing with Git using --force-with-lease=ref (6 mins read).

How git push --force-with-lease=ref can save you from overriding others' changes on shared Git branches.

Tue, 18 Sep 2018 17:08 by Jamie Tanna's profile image Jamie Tanna . #git #blogumentation #command-line.

 Article

My editorial workflow for blog posts (8 mins read).

Taking you through the journey I go on when writing blog posts, from ideation to publishing the post.

Tue, 11 Sep 2018 23:16 by Jamie Tanna's profile image Jamie Tanna . #www.jvt.me #workflow #ci #gitlab #git #automation #command-line #shell #gitlab-ci #review-apps.

 Article

Viewing Git history of a file in git log while ignoring file renames (5 mins read).

How to track changes to files in Git without pesky file renames getting in the way, using git log --follow.

Tue, 11 Sep 2018 18:27 by Jamie Tanna's profile image Jamie Tanna . #git #command-line #shell #blogumentation.

 Article

Test-Driven Chef Cookbook Development Using ChefSpec (and a sprinkling of InSpec) (38 mins read).

Using the example of deploying and running a Java JAR file as a way to show the lifecycle of a fully test-driven Chef cookbook.

Tue, 04 Sep 2018 14:52 by Jamie Tanna's profile image Jamie Tanna . #howto #blogumentation #chef #test-kitchen #chefspec #tdd #testing #guide.

 Article

Pretty Printing JSON Web Tokens (JWTs) on the Command Line using Ruby (3 mins read).

How to easily introspect and pretty print a signed JWT (JWS) or an encrypted JWT (JWE) on the command line using Ruby's standard library, or using the ruby-jwt external library.

Fri, 31 Aug 2018 10:43 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #ruby #command-line #jwt #json #pretty-print.

 Article

Using chef-shell to interactively debug attributes and recipes (5 mins read).

How to use chef-shell to see attribute config and recipes, with and without a Chef Server.

Wed, 29 Aug 2018 13:38 by Jamie Tanna's profile image Jamie Tanna . #chef #chef-shell #blogumentation #test-kitchen #chef-server #chefdk.

 Article

OggCamp 2018 (21 mins read).

A look at my time at OggCamp 2018, the talks I presented and attended.

Thu, 23 Aug 2018 18:18 by Jamie Tanna's profile image Jamie Tanna . #events #oggcamp #chef #public-speaking #openapi #swagger #free-software #open-source #collaborative-culture.

 Article

Context is key: thinking about your audience (5 mins read).

How to have inclusive conversations by providing the right context for those who may not have the same level of understanding.

Thu, 16 Aug 2018 11:59 by Jamie Tanna's profile image Jamie Tanna . #thoughts #communication #capital-one #context.

 Article

Creating a versionable, self-contained (fat-/uber-) JAR for Cucumber tests (11 mins read).

Why you'd want a fat JAR and how you'd achieve it.

Wed, 15 Aug 2018 10:23 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #java #cucumber #testing #jar #artifact #artefact #maven #uber-jar.

 Article

My Path from School to University to Work (25 mins read).

A look back at my journey up to now, the choices I've made, and what advice I have for others who are embarking on their own journeys into tech.

Sun, 05 Aug 2018 17:07 by Jamie Tanna's profile image Jamie Tanna . #musings #blogumentation #capital-one #career #university #nottingham #school #a-level #gcse.

 Article

Being More Explicit on Content Licensing (3 mins read).

Why I'm re-licensing the code snippets and post content on my site is, and how I'm making it more obvious.

Sun, 29 Jul 2018 15:47 by Jamie Tanna's profile image Jamie Tanna . #thoughts #site #licensing.

 Article

Some exciting job and knowledge-sharing news (4 mins read).

Moving into Quality Engineering, publishing Chef training courses, conference speaking about Chef at OggCamp and the complex mess that is this very static website at DevOpsDays London.

Fri, 06 Jul 2018 22:24 by Jamie Tanna's profile image Jamie Tanna . #news #capital-one #events #chef #testing #conference #job #tdd #oggcamp #devopsdays.

 Article

Notes from the AWS + Chef Dev Day Roadshow in London (13 mins read).

Notes from the AWS Dev Day Roadshow in London, where we got to play around with Chef, Chef Automate and InSpec using AWS OpsWorks.

Sun, 24 Jun 2018 22:25 by Jamie Tanna's profile image Jamie Tanna . #aws #chef #events #chef-server #opsworks #cloud-formation #cloud-custodian #deployment #containers #chef-automate #inspec.

 Article

Pretty Printing JSON on the Command Line with Ruby (1 mins read).

Using Ruby's JSON module to pretty print JSON objects from the command line.

Mon, 18 Jun 2018 19:13 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #ruby #json #pretty-print.

 Article

Merging multiple repositories into a monorepo, while preserving history, using git subtree (3 mins read).

How to merge multiple repositories, with their history, into a single repository, using the git subtree add command.

Fri, 01 Jun 2018 20:44 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #monorepo #git-subtree #command-line.

 Article

Sharing Multiple SSH Sessions over the Same Network Socket (3 mins read).

Reusing network sockets for speed and reduction of authentication handshakes with OpenSSH.

Fri, 04 May 2018 17:21 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #ssh #openssh #command-line.

 Article

Better Git Diff Outputs with Git Submodules (2 mins read).

How to get nicer diffs when working with submodules.

Fri, 04 May 2018 11:59 by Jamie Tanna's profile image Jamie Tanna . #blogumentation #git #command-line.

  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 5
  • 6
  • 7
  • 8
  • »
  • »»

Other links that may be of interest:

  • All Posts
  • Talks
  • Blogroll
  • Why is my site www.jvt.me?
  • Popular Posts
  • Post Visualisation

Want to get in touch?

  •  @jamietanna
  •  @jamietanna
  •  @jamietanna
  •  Jamie Tanna
  •  hi@jamietanna.co.uk
© 2020 Jamie Tanna. Post content and code snippets licensing is detailed on respective pages, otherwise default to Creative Commons Attribution Non Commercial Share Alike 4.0 International and Apache License 2.0.
Site design released under the MIT License, based on Hack.css.
Proudly hosted on Netlify, and generated by 4a2feb8dd on Sat, 18 Apr 2020 14:40:29 +0100..