SlideShare uma empresa Scribd logo
1 de 250
Baixar para ler offline
SINGULARITY
CONTAINERS FOR SCIENCE
Vanessa Sochat, PhD
Research Software Engineer
Research Computing Stanford University
THE PERFECT SANDWICH
The Perfect Sandwich
1. Peanut Butter
2. Jelly
3. Bread
4. Spread on Bread
5. Eat
The Perfect Sandwich
1. Peanut Butter
2. Jelly
3. Bread
4. Spread on Bread
5. Eat
The Perfect Sandwich
1. Peanut Butter
2. Jelly
3. Bread
4. Spread on Bread
5. Eat
The Perfect Sandwich
1. Peanut Butter
2. Jelly
3. Bread
4. Spread on Bread
5. Eat
IS IT THE SAME SANDWICH?
SAME SAME, BUT DIFFERENT
SAME SAME, BUT DIFFERENT
WE COULD HAVE DONE WORSE...
Why does it taste different?
1. Our recipe was not reproducible
1. Our recipe was not reproducible
2. We had missing dependencies
1. Our recipe was not reproducible
2. We had missing dependencies
3. The perfect sandwich might never be made again
1. Our recipe was not reproducible
2. We had missing dependencies
3. The perfect sandwich might never be made again
no ability to easily distribute or validate work
Introducing Singularity
Introducing Singularity
Give them the sandwich.
Container:
encapsulation of system
environment
LIFE’S
WORK
Container:
encapsulation of system
environment
Why not Docker?
DOCKER IS (STILL) GREAT!
DOCKER IS (STILL) GREAT!
Docker
Well-known container platform
DOCKER IS (STILL) GREAT!
Docker
Well-known container platform
Micro-service virtualization
DOCKER IS (STILL) GREAT!
Docker
Well-known container platform
Micro-service virtualization
Create + distribute containers
DOCKER IS (STILL) GREAT!
Docker
Well-known container platform
Micro-service virtualization
Create + distribute containers
Reproducible
DOCKER IS (STILL) GREAT!
Docker
Well-known container platform
Micro-service virtualization
Create + distribute containers
Reproducible
Easy to use, well documented
WHY NOT DOCKER?
Docker is not designed for,
WHY NOT DOCKER?
Docker is not designed for,
efficient for,
WHY NOT DOCKER?
Docker is not designed for,
efficient for,
or even compatible with
WHY NOT DOCKER?
Docker is not designed for,
efficient for,
or even compatible with
traditional HPC architectures
WHY NOT DOCKER?
Docker is not designed for,
efficient for,
or even compatible with
traditional HPC architectures
No centers run Docker on their traditional HPC
+
HPC
HPC ADMIN
HPC USER
scientists
need
containers
too
1. Singularity, three ways
2. Singularity Hub
3. Reproducible Science
Singularity
...three ways
How do I use it
THE SINGULARITY FLOW
Image Creation
$ singularity create ubuntu.img
$ singularity import ubuntu.img docker://ubuntu:14.04
Image Creation
$ singularity create ubuntu.img
$ singularity import ubuntu.img docker://ubuntu:14.04
Image Creation
$ singularity create ubuntu.img
$ singularity import ubuntu.img docker://ubuntu:14.04
$ singularity pull docker://ubuntu:14.04
ubuntu-14.04.img
Image Bootstrap
$ singularity create ubuntu.img
$ sudo singularity bootstrap ubuntu.img Singularity
Image Bootstrap
$ singularity create ubuntu.img
$ sudo singularity bootstrap ubuntu.img Singularity
Bootstrap: docker
From: python:latest
Singularity
Bootstrap: docker
From: python:latest
%post
apt-get update
apt-get install -y vim wget
mkdir /cave
Singularity
Bootstrap: docker
From: python:latest
%post
apt-get update
apt-get install -y vim wget
mkdir /cave
%labels
MAINTAINER vanessasaurus
Singularity
Bootstrap: docker
From: python:latest
%post
apt-get update
apt-get install -y vim wget
mkdir /cave
%labels
MAINTAINER vanessasaurus
%files
/home/vanessa/Desktop/rawr.sh /cave/rawr.sh
Singularity
Bootstrap: docker
From: python:latest
%post
apt-get update
apt-get install -y vim wget
mkdir /cave
%labels
MAINTAINER vanessasaurus
%files
/home/vanessa/Desktop/rawr.sh /cave/rawr.sh
%environment
DINOSAUR_HOME=/cave
export DINOSAUR_HOME
Singularity
Bootstrap: docker
From: python:latest
%post
apt-get update
apt-get install -y vim wget
mkdir /cave
%labels
MAINTAINER vanessasaurus
%files
/home/vanessa/Desktop/rawr.sh /cave/rawr.sh
%environment
DINOSAUR_HOME=/cave
export DINOSAUR_HOME
%runscript
exec /bin/bash /cave/rawr.sh “$@”
Singularity
Where does it live?
open
source
https://octodex.github.com/
client
(bash)
client
(bash)
src
(C)
client
(bash)
src
(C)
helper
(python)
/home/vanessa/.singularity
├── docker
├── metadata
└── shub
/usr/local/var/singularity/
└── mnt
├── container
├── overlay
└── session
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
./configure --prefix=/usr/local
client
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
./configure --prefix=/usr/local
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
src
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
python
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
mount
/usr/local/
├── bin
├── etc
├── include
├── lib
├── libexec
└── var
config
How does it work?
Installation
git clone https://www.github.com/singularityware/singularity.git
cd singularity
./autogen.sh
./configure --prefix=/usr/local
make
sudo make install
Customizable by the HPC Admin
SINGULARITY.CONF
- bind/mount points
- permissions
- overlayfs
Customizable by the HPC Admin
SINGULARITY.CONF
- bind/mount points
- permissions
- overlayfs
- config file must be root owned
Customizable by the HPC Admin
SINGULARITY.CONF
- bind/mount points
- permissions
- overlayfs
- config file must be root owned
- controls what user can/not do
Customizable by the HPC Admin
SINGULARITY.CONF
- bind/mount points
- permissions
- overlayfs
- config file must be root owned
- controls what user can/not do
- dis/allow different devices
Customizable by the HPC Admin
SINGULARITY.CONF
- bind/mount points
- permissions
- overlayfs
- config file must be root owned
- controls what user can/not do
- dis/allow different devices
- paths, session dirs all controlled
If you want to be root inside the container, you
must be root outside the container.
contained processes exit
all namespaces collapse
...leaving a cleaned system
The Singularity Command
singularity --debug run --contain sandwich.img
The Singularity Command
singularity --debug run --contain sandwich.img
<action>
The Singularity Command
singularity --debug run --contain sandwich.img
[global options]
The Singularity Command
singularity --debug run --contain sandwich.img
[command options]
The Singularity Command
singularity --debug run --contain sandwich.img
<image>
share
sandwich?
Singularity
Hub
1. Singularity, three ways
2. Singularity Hub
3. Reproducible Science
WHERE IS THE BOTTLENECK?
SINGULARITY HUB: CONTAINER REGISTRY
COLLECTIONS
COLLECTION
COLLECTION
commit
CONTAINER BUILD
CONTAINER BUILD LOG
ESTIMATED OPERATING SYSTEMS
How does it work? :>
1. Add bootstrap specification file to Github repo base
1. Add bootstrap specification file to Github repo base
2. “Turn build on” in Singularity Hub
1. Add bootstrap specification file to Github repo base
2. “Turn build on” in Singularity Hub
3. Commits are built automatically on Google Cloud
1. Add bootstrap specification file to Github repo base
2. “Turn build on” in Singularity Hub
3. Commits are built automatically on Google Cloud
4. Accessible via command line
1. Singularity, three ways
2. Singularity Hub
3. Reproducible Science
1. Singularity, three ways
2. Singularity Hub
3. Reproducible Science
What happens next?
container...
predictions!
Change in the movement of information
Change in the movement of information
bits
Change in the movement of information
bits
file
Change in the movement of information
bits
file
folder
Change in the movement of information
bits
file
folder
Change in the movement of information
bits
file
folder
software
Change in the movement of information
bits
file
folder
software
Change in the movement of information
bits
file
folder
software
apt-get install -y party-animal
pip install party-animal
I’m missing dependencies.
I didn’t get the same result
What version of Python did you use?
It doesn’t compile on my system!
The unit of information isn’t good enough.
Change in the movement of information
bits
file
folder
software
os
Change in the movement of information
bits
file
folder
software
osos
containers
container...
predictions!
Change in the movement of information: put stuff in containers
Too many containers!
Which containers do genomic analysis?
Which containers do genomic analysis?
Which containers do it best? How do we define best?
Which containers do genomic analysis?
Which containers do it best? How do we define best?
Which ones have the most varying result? Why?
I don’t know how to measure that.
Our representation of containers isn’t good enough
Expectation:
This container makes the
perfect sandwich!
Reality:
container...
predictions!
Change in the movement of information: put stuff in containers
Change in the representation of containers: reproducibility metrics
1. Singularity, three ways
2. Singularity Hub
3. Reproducibility Metrics
How is container C1
similar to container C2
?
C1
C2
C1
C2
Intersection of sets C1
and C2
C1
C2
Total sum of files in C1
and C2
C1
C2
Is container C1
similar to container C2
?
C1
C2
Is container C1
similar to container C2
?
It depends who is asking
SONIC MADE IT THROUGH
REPRODUCIBILITY LEVEL REPLICATE!
C1
Levels of Reproducibility
Identical: the exact same image file
Levels of Reproducibility
Identical: the exact same image file
Replicate: the same image built at different times
Levels of Reproducibility
Identical: the exact same image file
Replicate: the same image built at different times
Base: the core os is estimated to be the same
Levels of Reproducibility
Identical: the exact same image file
Replicate: the same image built at different times
Base: the core os is estimated to be the same
Runscript: the content of the runscript is the same
Environment: the environments are the same
Labels: the container labels are the same
What is a level of reproducibility?
A set of files between containers that are compared via content hash
Intersection of sets C1
and C2
C1
C2
Total sum of files in C1
and C2
C1
C2
Reproducibility
Assessment Algorithm
“Hash Content Comparison”
Intersection of sets C1
and C2
Total sum of files in C1
and C2
Do the levels behave as I would expect?
Compare an image to itself
Do the levels behave as I would expect?
Compare an image to itself
- At step 1, start with the image compared to its full self
Do the levels behave as I would expect?
Compare an image to itself
- At step 1, start with the image compared to its full self
- Subtract one file from the second image, recalculate, until empty
Do the levels behave as I would expect?
Compare an image to itself
- At step 1, start with the image compared to its full self
- Subtract one file from the second image, recalculate, until empty
a. Remove more recent files first
Do the levels behave as I would expect?
Compare an image to itself
- At step 1, start with the image compared to its full self
- Subtract one file from the second image, recalculate, until empty
a. Remove more recent files first
Do this across all levels
Reproducibility Metrics: Takeaways
1. “Operating system science” needs to be a thing
Reproducibility Metrics: Takeaways
1. “Operating system science” needs to be a thing
2. Definitions of levels important
Reproducibility Metrics: Takeaways
1. “Operating system science” needs to be a thing
2. Definitions of levels important
3. I learned things about the OS just looking at the graphs
Reproducibility Metrics: Takeaways
1. “Operating system science” needs to be a thing
2. Definitions of levels important
3. I learned things about the OS just looking at the graphs
4. A way to derive features for an operating system?
thinking
about
the
future
How can containers support reproducible science?
How can the HPC community support containers?
container sharing
integration
incentives
container sharing
integration
incentives
This is not optimized for scaled building!
Singularity Registry
Singularity Registry
a local registry for a cluster resource
Challenges
- Most resources can’t support web download links
- How to share images? manifests?
- Storage (for most) is a file system
- No Docker for orchestration
- Permissions?
- Integration with Singularity Hub?
- Management?
storage
- file system
storage
- file system
builders
- job queue
- build node
- virtual machines
storage
- file system
builders
- job queue
- build node
- virtual machines
manager
- singularity image
- command line
- web interface
/usr/local/libexec/sregistry
├── cli
│ ├── help.database
│ ├── help.init
│ ├── sregistry.build
│ ├── sregistry.database
│ ├── sregistry.help
│ └── sregistry.init
│
├── helpers
│ ├── args
│ ├── update
│ └── utils
└── singularity.registry
sudo ./install.sh --prefix=/usr/local
/opt/shub/
builder/
templates/
recipes/
.git/
.travis.yml
storage/
containers/
sudo sregistry init --base /opt/shub
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/
Singularity
Singularity.gpu
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/ ← collection tensorflow/tensorflow
Singularity
Singularity.gpu
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/ ← collection tensorflow/tensorflow
Singularity shub://tacc/tensorflow/tensorflow
Singularity.gpu
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/ ← collection tensorflow/tensorflow
Singularity shub://tacc/tensorflow/tensorflow
Singularity.gpu
registry
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/ ← collection tensorflow/tensorflow
Singularity shub://tacc/tensorflow/tensorflow
Singularity.gpu
container name
/opt/shub/builder
recipes/
.git/
tensorflow/
tensorflow/ ← collection tensorflow/tensorflow
Singularity shub://tacc/tensorflow/tensorflow:tag
Singularity.gpu
tag
registry:
container collection corresponds to a folder in repository
registry:
container collection corresponds to a folder in repository
Individual user:
container collection corresponds to an entire Github repo
registry:
container collection corresponds to a folder in repository
Individual user:
container collection corresponds to an entire GIthub repo
both
build multiple tags for one collection from within same repository
Connect to Singularity Hub
Connect to Singularity Hub
...permission to build, granted!
...build away, Merrill.
1. If setup to build locally
Launches local build job
2. If setup to only build on Singularity Hub
Pings Singularity Hub
3. Both
Launches local build job
Successful builds ping Singularity Hub
1. run a build command
sudo sregistry build tensorflow
sudo sregistry build tensorflow/tensorflow
sudo sregistry build tensorflow/tensorflow:gpu
/opt/shub/builder
templates/
recipes/
.git/
tensorflow/
tensorflow/
Singularity
Singularity.gpu
container sharing
integration
incentives
container sharing
integration
incentives
THE CLOUD HPC RESOURCE
How can we work together?
Local
Development
Environment
Local
Development
Environment
Local
Development
Environment
Testing
Local
Development
Environment
Testing
Deploy and
Share
Run!Local
Development
Environment
Testing
Deploy and
Share
Run!
Run!
Run!Local
Development
Environment
Testing
Deploy and
Share
Run!
Run!
Result
Run!
Creation
Testing Publication
Run!
Run!
Reproduce
Run!
Creation
Testing Publication
Run!
Run!
Reproduce
How can we work together?
How can we work together?
Just try.
Thank you Google!
container sharing
integration
incentives
Academic Layer Cake
scientists
Academic Layer Cake
scientists
staff
scientist
“I need a custom tool”
scientist
“I need a custom tool”
staff
“I offer resources”
scientist
“I need a custom tool”
staff
“I offer resources”
scientist
“I’ll do it myself”
scientist
“I need a custom tool”
staff
“I offer resources”
scientist
“I’ll do it myself”
scientist
“I need a custom tool”
staff
“I offer resources”
scientist
“I’ll do it myself”
Why can’t we do better?
Academic Layer Cake
scientists
staff
software engineers
Lessons from Software Engineering
1. Continuous Integration (testing)
2. Version Control
3. Documentation
4. Logging, Handling Errors
5. Databases, Organization, and Storage
We need incentives and support for
Research Software Engineers
scientist
“I need a custom tool”
scientist
“I need a custom tool”
software engineer
“I can help with that”
containers-ftw
containers-ftw
crowdsourcing science with
competitive containers
containers-ftw
crowdsourcing science with
competitive containers
- package your challenge
containers-ftw
crowdsourcing science with
competitive containers
- package your challenge
- define metric of success
containers-ftw
crowdsourcing science with
competitive containers
- package your challenge
- define metric of success
- share it
containers-ftw
crowdsourcing science with
competitive containers
- package your challenge
- define metric of success
- share it
- ...may the best container win!
SHOW ME WHAT YOU GOT
SHOW ME WHAT YOU GOT
- Dave Godlove, NIH
- Stefan Kombrink
https://singularity-hub.org/demos/6/
1. Singularity, three ways
2. Singularity Hub
3. Reproducible Science
[ Singularity ]
[ Singularity ]
reproducible tools
[ Singularity ]
reproducible tools
are a group effort
[ Singularity ]
reproducible tools
are a group effort
grow out of need
[ Singularity Hub ]
[ Singularity Hub ]
reproducible practices
[ Singularity Hub ]
reproducible practices
sharing containers, data, software
[ Singularity Hub ]
reproducible practices
sharing containers, data, software
working across lines
[ Reproducibility Metrics ]
[ Reproducibility Metrics ]
representation for understanding
[ Reproducibility Metrics ]
representation for understanding
container transparency
[ Incentives ]
[ Incentives ]
Research software engineering
Build for how you want the world to be
Party on, party dinosaur
[ the perfect sandwich ]
HPC Admin, Developers, and Scientists
http://singularityware.github.io
https://www.singularity-hub.org
https://www.github.com/singularityhub
Got messy code?
Need to use a node?
...jokes, help, for free!
#SRCC
Only the best
for your analysis mess
SRCC
vsochat@stanford.edu

Mais conteúdo relacionado

Semelhante a PEARC17: Reproducibility and Containers: The Perfect Sandwich

The Scientific Filesystem
The Scientific FilesystemThe Scientific Filesystem
The Scientific FilesystemVanessa S
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersJavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersAnton Arhipov
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRAYaroslav Serhieiev
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of usJérôme Petazzoni
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori PekelmanParis Container Day
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Dockertoffermann
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Tomas Doran
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingDmitry Spodarets
 
Prototypes and Drupal
Prototypes and DrupalPrototypes and Drupal
Prototypes and DrupalFFW
 
Towards a responsive business - DevOps MeetUp Melbourne 2013
Towards a responsive business - DevOps MeetUp Melbourne 2013Towards a responsive business - DevOps MeetUp Melbourne 2013
Towards a responsive business - DevOps MeetUp Melbourne 2013Nigel Fernandes
 
My Road To Test Driven Development
My Road To Test Driven DevelopmentMy Road To Test Driven Development
My Road To Test Driven DevelopmentGerard Sychay
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...Eric Smalling
 
Managing-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdfManaging-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdfssusera181ef
 
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Sonatype
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionJoshua Thijssen
 

Semelhante a PEARC17: Reproducibility and Containers: The Perfect Sandwich (20)

The Scientific Filesystem
The Scientific FilesystemThe Scientific Filesystem
The Scientific Filesystem
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersJavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainers
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRA
 
Is Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic GascIs Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic Gasc
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of us
 
Tiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of usTiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of us
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori Pekelman
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance Computing
 
Kubernetes 101 Workshop
Kubernetes 101 WorkshopKubernetes 101 Workshop
Kubernetes 101 Workshop
 
Prototypes and Drupal
Prototypes and DrupalPrototypes and Drupal
Prototypes and Drupal
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Towards a responsive business - DevOps MeetUp Melbourne 2013
Towards a responsive business - DevOps MeetUp Melbourne 2013Towards a responsive business - DevOps MeetUp Melbourne 2013
Towards a responsive business - DevOps MeetUp Melbourne 2013
 
My Road To Test Driven Development
My Road To Test Driven DevelopmentMy Road To Test Driven Development
My Road To Test Driven Development
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
 
Managing-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdfManaging-Splunk-with-Puppet 31-January-2022.pdf
Managing-Splunk-with-Puppet 31-January-2022.pdf
 
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 

Mais de Vanessa S

The Stories We Tell Ourselves
The Stories We Tell OurselvesThe Stories We Tell Ourselves
The Stories We Tell OurselvesVanessa S
 
Research Software Engineering at Stanford University
Research Software Engineering at Stanford UniversityResearch Software Engineering at Stanford University
Research Software Engineering at Stanford UniversityVanessa S
 
Research Software Engineering at Stanford
Research Software Engineering at StanfordResearch Software Engineering at Stanford
Research Software Engineering at StanfordVanessa S
 
Adding An Operator to Airflow: A Contributor Overflow Exception
Adding An Operator to Airflow: A Contributor Overflow ExceptionAdding An Operator to Airflow: A Contributor Overflow Exception
Adding An Operator to Airflow: A Contributor Overflow ExceptionVanessa S
 
The Research Software Encyclopedia
The Research Software EncyclopediaThe Research Software Encyclopedia
The Research Software EncyclopediaVanessa S
 
Laboratory of NeuroGenetics QA (8/2010)
Laboratory of NeuroGenetics QA (8/2010)Laboratory of NeuroGenetics QA (8/2010)
Laboratory of NeuroGenetics QA (8/2010)Vanessa S
 
Building Tools for Neuroimaging
Building Tools for NeuroimagingBuilding Tools for Neuroimaging
Building Tools for NeuroimagingVanessa S
 
Brain Maps like Mine
Brain Maps like MineBrain Maps like Mine
Brain Maps like MineVanessa S
 
Qualifying Exam Presentation
Qualifying Exam PresentationQualifying Exam Presentation
Qualifying Exam PresentationVanessa S
 
Pre-Proposal Presentation
Pre-Proposal PresentationPre-Proposal Presentation
Pre-Proposal PresentationVanessa S
 
Independent component analysis
Independent component analysisIndependent component analysis
Independent component analysisVanessa S
 
Subnetworks in Schizophrenia, fMRI
Subnetworks in Schizophrenia, fMRISubnetworks in Schizophrenia, fMRI
Subnetworks in Schizophrenia, fMRIVanessa S
 
Research in Progress April 2014
Research in Progress April 2014Research in Progress April 2014
Research in Progress April 2014Vanessa S
 
Research in Progress Presentation
Research in Progress PresentationResearch in Progress Presentation
Research in Progress PresentationVanessa S
 
Introduction to Machine Learning Lecture
Introduction to Machine Learning LectureIntroduction to Machine Learning Lecture
Introduction to Machine Learning LectureVanessa S
 
Introduction to Neuroimaging Informatics
Introduction to Neuroimaging InformaticsIntroduction to Neuroimaging Informatics
Introduction to Neuroimaging InformaticsVanessa S
 
ISIS Clustering Functional Connectivity
ISIS Clustering Functional ConnectivityISIS Clustering Functional Connectivity
ISIS Clustering Functional ConnectivityVanessa S
 
Classification of Functional Networks Poster
Classification of Functional Networks PosterClassification of Functional Networks Poster
Classification of Functional Networks PosterVanessa S
 
Quals Practice Presentation
Quals Practice PresentationQuals Practice Presentation
Quals Practice PresentationVanessa S
 
Neuroimaging Introduction
Neuroimaging IntroductionNeuroimaging Introduction
Neuroimaging IntroductionVanessa S
 

Mais de Vanessa S (20)

The Stories We Tell Ourselves
The Stories We Tell OurselvesThe Stories We Tell Ourselves
The Stories We Tell Ourselves
 
Research Software Engineering at Stanford University
Research Software Engineering at Stanford UniversityResearch Software Engineering at Stanford University
Research Software Engineering at Stanford University
 
Research Software Engineering at Stanford
Research Software Engineering at StanfordResearch Software Engineering at Stanford
Research Software Engineering at Stanford
 
Adding An Operator to Airflow: A Contributor Overflow Exception
Adding An Operator to Airflow: A Contributor Overflow ExceptionAdding An Operator to Airflow: A Contributor Overflow Exception
Adding An Operator to Airflow: A Contributor Overflow Exception
 
The Research Software Encyclopedia
The Research Software EncyclopediaThe Research Software Encyclopedia
The Research Software Encyclopedia
 
Laboratory of NeuroGenetics QA (8/2010)
Laboratory of NeuroGenetics QA (8/2010)Laboratory of NeuroGenetics QA (8/2010)
Laboratory of NeuroGenetics QA (8/2010)
 
Building Tools for Neuroimaging
Building Tools for NeuroimagingBuilding Tools for Neuroimaging
Building Tools for Neuroimaging
 
Brain Maps like Mine
Brain Maps like MineBrain Maps like Mine
Brain Maps like Mine
 
Qualifying Exam Presentation
Qualifying Exam PresentationQualifying Exam Presentation
Qualifying Exam Presentation
 
Pre-Proposal Presentation
Pre-Proposal PresentationPre-Proposal Presentation
Pre-Proposal Presentation
 
Independent component analysis
Independent component analysisIndependent component analysis
Independent component analysis
 
Subnetworks in Schizophrenia, fMRI
Subnetworks in Schizophrenia, fMRISubnetworks in Schizophrenia, fMRI
Subnetworks in Schizophrenia, fMRI
 
Research in Progress April 2014
Research in Progress April 2014Research in Progress April 2014
Research in Progress April 2014
 
Research in Progress Presentation
Research in Progress PresentationResearch in Progress Presentation
Research in Progress Presentation
 
Introduction to Machine Learning Lecture
Introduction to Machine Learning LectureIntroduction to Machine Learning Lecture
Introduction to Machine Learning Lecture
 
Introduction to Neuroimaging Informatics
Introduction to Neuroimaging InformaticsIntroduction to Neuroimaging Informatics
Introduction to Neuroimaging Informatics
 
ISIS Clustering Functional Connectivity
ISIS Clustering Functional ConnectivityISIS Clustering Functional Connectivity
ISIS Clustering Functional Connectivity
 
Classification of Functional Networks Poster
Classification of Functional Networks PosterClassification of Functional Networks Poster
Classification of Functional Networks Poster
 
Quals Practice Presentation
Quals Practice PresentationQuals Practice Presentation
Quals Practice Presentation
 
Neuroimaging Introduction
Neuroimaging IntroductionNeuroimaging Introduction
Neuroimaging Introduction
 

Último

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

PEARC17: Reproducibility and Containers: The Perfect Sandwich