## Containerising Christmas
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~/~~~~~~~~~~~~~~~~~~~~
\______ o __/
\ \ __/
\____\_______/
_ _ _
| | | | (_)
__| | _____ _____ ___ _ __ | |_ __ _ _ _ __ ___ _ __ ___
/ _` |/ _ \ \ / / __/ _ \| '_ \| __/ _` | | '_ \ / _ \ '__/ __|
| (_| | __/\ V / (_| (_) | | | | || (_| | | | | | __/ | \__ \
\__,_|\___| \_/ \___\___/|_| |_|\__\__,_|_|_| |_|\___|_| |___/
---
## Whoami
- Alex Coleman, Research Software Engineer, Research Computing
- Support computational researchers across campus
- Particular background is in data science using tools like R and Python
---
## What is research computing?
- We're a [team](https://arc.leeds.ac.uk/) of RSEs within Central IT
- We provide a number of services to researchers including
----
Managing the University High Performance Computing (HPC) system
<img src="https://arcdocs.leeds.ac.uk/_images/HPC1-1024x821.jpg"
style="width: 600px;">
----
Provide training for PGRs, postdocs and academics
<img src="https://arc.leeds.ac.uk/images/computer_teaching.jpg"
style="width: 600px;">
----
- Provide research software engineering support to researchers
- Provide ad-hoc support to computational researchers
---
## Problem
Santa Claus has got lost in his presents warehouse!
---
- There's only limited time to find Santa
- Elves also need wrapping all those presents
- So Mrs Claus has devised a simulation to work out the optimum number of elves to use to find Santa!
---
But Mrs Claus needs some help scaling up her code to account for all her elves!
---
## Typing time
![](https://i.giphy.com/media/o0vwzuFwCGAFO/giphy.webp)
---
![Docker logo](https://www.docker.com/wp-content/uploads/2022/03/horizontal-logo-monochromatic-white.png)
---
- Docker lets us squash all the bits we need to run out simulation into a container
- The container can run on any system that also has Docker installed
- Everything is bundled into a recipe file to make building the container reproducible/shareable
---
## Time to type!
![](https://i.giphy.com/media/JIX9t2j0ZTN9S/giphy.webp)
---
## Introducing [Devcontainers](https://code.visualstudio.com/docs/devcontainers/containers)
![Diagram showing integration of VSCode and devcontainers](https://code.visualstudio.com/assets/docs/devcontainers/containers/architecture-containers.png)
---
## Type type type
![](https://i.giphy.com/media/XIqCQx02E1U9W/giphy.webp)
---
## Other uses for devcontainers
- Debugging an application
- Sharing a portable development environment
---
## Thanks for watching!
![](https://i.giphy.com/media/V0iBMLuftFImIBIGzV/giphy.webp)
---
## Acknowledgments
- Inspired by [Eric Wanjau's talk at ResCompLeedsCon2022](https://www.youtube.com/watch?v=N-owt0Vl5_w&t=1929s)
{"metaMigratedAt":"2023-06-17T15:54:45.796Z","metaMigratedFrom":"YAML","title":"devcontainers Christmas talk","breaks":true,"contributors":"[{\"id\":\"ca8cdfc3-cb2c-4bfb-8cac-c1044c36daea\",\"add\":5126,\"del\":1915}]"}