A Guide to Bash Best Practices, and Avoiding Pitfalls
Through this talk, I discuss how writing Bash scripts can be improved to avoid some common issues with gotchas that may not be so well known. By discussing these common issues, we can realise that these common automation scripts should be written in a slightly more powerful scripting language, with common tooling and testing frameworks.
A Quick-Start Guide to Using Vi(m) Effectively
If you ever need to log into a server over SSH to perform changes on the box, you will find that either Vi or Vim is installed. Having a grasp of the basics that Vi(m) provides can make your productivity increase, without having to remember too much.
An Introduction to Programming: Using Python to Create Interactive Programs
In the age where video games focus on graphics and fast-pased gameplay, it is sometimes nice to go back to basics. Learn Python programming by building your first text-based adventure game.
Came for the Campus, Stayed for the Community
After falling in love with the gorgeous campus at the University of Nottingham, Jamie found he had to come to Nottingham. And when he discovered the vibrant, buzzing tech community, he found he had to stay. In this talk, Jamie will take you on his journey to coming to Nottingham, and the decisions that led to him staying. As part of that, Jamie will discuss how his decision to join Capital One's graduate scheme over a "regular role" elsewhere was a difficult one, and how he's found it since.
A Docker-based container infrastructure to build the Android Source Code for different Intel Architecture platforms.
Documenting Your APIs (with OpenAPI)
When you're building an API, you often how know you want it to work. You'll hopefully document it somewhere, but the format of that documentation will vary. In this talk, I'll walk you through the reasoning behind a human- and machine-readable format for your API documentation and the tooling that is built around the OpenAPI ecosystem. You'll learn how you can get kickstarted with documenting your existing APIs and create a stronger domain model for interactions with the API. I'll then show different methods to verify that your OpenAPI specifications actually match your implementation of your service, helping you catch a break in contract, with the end goal of being able to drive your API functionality through your contracts, rather than documenting the contract after implementation.
Growing momentum for apps on x86
Intel is slowly gaining a greater market share for Android, and boasts a number of features that make it a great platform to develop on. This talk details how to tweak your application build process to produce native apps to take advantage of the features on Intel Architecture platforms.
Infrastructure as Cake - Testing Your Configuration Management in the Kitchen, with Sprinkles and Love
Learn about how Configuration Management can be performed in a test-first manner (in these examples) using Chef, in a talk full of food puns. I'll discuss how investing time into the manner in which your application is deployed is almost as important as the software that is deployed.
Intro to Git: Version Control for the Greater Good
Version control is an incredibly powerful tool, and Git is the most popular version control system. This talk / workshop aims to give the audience a grounding in the basics of Git, through to branching and where to store your code!
Kickstarting your Automated Build and Continuous Delivery platform with GitLab CI
In this workshop, I'll take you through the basics of GitLab's Continuous Integration platform, with a very simple web application. This will go through local development to production deployments in a controlled fashion, with automated builds through to deployment.
Overengineering Your Personal Website - How I Learn Things Best
I often want to test new things, but don't have many full on projects. If I want to test a full deployment pipeline, from local development to production, I need something to deploy. So I've made my personal website super complicated.
Powering up your personal development and brand with Blogumentation
Blogumentation is a term that I've coined around blogging as a form of documentation. Although started as a way to have a single place for little tips-and-tricks or common issues I was facing, it's become more widely known and used. Not only for helping myself remember facts, it's been a wealth of knowledge for my colleagues at Capital One and through my site's analytics, I can tell it's quite popular outside of the business, too. I'll take you through some of the interesting learnings I've picked up through my journey, and how it's helped me change my approach to communication and documentation, and more importantly, will share some tips for you to get started and start building your personal brand!
Test Driven Cookbooks: Baking Goodness into Your Provisioning
Learn how you can write fully testable provisioning code using Chef, giving you greater confidence in the servers you deploy your awesome applications to. In this example we'll create a cookbook from scratch, and go through the process of testing different code paths through unit and integration tests. The food puns hopefully won't leave a bad taste in your mouth as you learn some secret sauce.
Testing Your Tests: How confident are you that your Cucumber code works?
You're writing Cucumber tests in your language of choice, but until you actually run that code against i.e. your API, you won't know if the functionality is correct. We're big proponents of Behaviour Driven Development and Test Driven Development, but why doesn't that extend to our functional testing using Cucumber? A practice used at Capital One in a number of teams is writing tests for your tests - that is, writing unit + integration tests for your Cucumber steps to provide greater confidence our functional tests. Although you may find that you can spin through your Cucumber tests pretty quickly, it may be that you need to take a step back and think about the quality behind the "quality" in "quality engineering".