diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d3295a5b..b8769167 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -35,18 +35,22 @@ body: required: false - type: textarea attributes: - label: Environment + label: Environment (if applicable) description: | - examples: - - **OS**: iOS - - **Browser**: Chrome - - **Python version**: 3.12 - - **Software versions**: [release/branch/commit] + Provide details about your environment to help us reproduce the issue. + + **For all users:** + - **OS**: The operating system you're using (e.g., Windows, macOS, Linux, iOS, Android) + - **Browser**: The browser you're using (e.g., Chrome 124, Safari 17, Firefox 123) + + **For developers contributing to this project** (optional): + - **Python version**: The Python version running the server (e.g., 3.12) + - **Software versions**: The release, branch, or commit you're running (e.g., main, v0.1.0) value: | - - OS: - - Browser: - - Python version: - - Software versions: + - **OS**: + - **Browser**: + - **Python version** (developers only): + - **Software versions** (developers only): render: markdown validations: required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 11fc491e..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..237c5e18 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,36 @@ +name: Feature request +description: Suggest an idea for this project +title: '[FEATURE] ' +labels: [enhancement] +body: + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if a similar feature request already exists. + options: + - label: I have searched the existing issues + required: true + - type: textarea + attributes: + label: Is your feature request related to a problem? + description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: false + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: false + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + attributes: + label: Additional context + description: Add any other context, screenshots, or references about the feature request here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/technical_work.md b/.github/ISSUE_TEMPLATE/technical_work.md deleted file mode 100644 index 5183bf70..00000000 --- a/.github/ISSUE_TEMPLATE/technical_work.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Technical work -about: Technical work that needs to be done to complete work on a (large) user story or feature -title: '' -labels: technical -assignees: '' - ---- - -**Which user story or feature is this technical work related to?** -Put in links to the user story or feature issue here. - -**Describe the aspect of the user stories or features that this technical work is part of** -A clear and concise description of what you plan to do to in this technical work. - -**Additional context** -Add any other context or screenshots about the technical work here. diff --git a/.github/ISSUE_TEMPLATE/technical_work.yml b/.github/ISSUE_TEMPLATE/technical_work.yml new file mode 100644 index 00000000..b97e37d8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/technical_work.yml @@ -0,0 +1,29 @@ +name: Technical work +description: Technical work that needs to be done to complete work on a (large) user story or feature +title: '[TECHNICAL] <title>' +labels: [technical] +body: + - type: textarea + attributes: + label: Related user story or feature + description: Links to the user story or feature issue this technical work is related to. + validations: + required: false + - type: textarea + attributes: + label: Description + description: A clear and concise description of what you plan to do in this technical work and why it's needed. + validations: + required: false + - type: textarea + attributes: + label: Implementation approach (if known) + description: Optional. Describe your planned approach to solving this technical work. + validations: + required: false + - type: textarea + attributes: + label: Additional context + description: Add any other context, diagrams, or references about the technical work here. + validations: + required: false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 151e939f..f25aa7a0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -55,7 +55,7 @@ repos: hooks: - id: codespell args: [-I, .codespell_ignore.txt] - exclude: ^main/static/assets/|^package-lock.json$ + exclude: ^main/static/assets/|^package-lock.json$|^direct_webapp/fixtures/framework-2-0.json$ - repo: https://github.com/djlint/djLint rev: v1.36.4 hooks: diff --git a/Dockerfile b/Dockerfile index 155e1366..256aa461 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r prod-requirements.txt COPY --chown=nobody:nogroup . . diff --git a/README.md b/README.md index 7f6e6a1a..3bea590e 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ This Django project uses: ## Installation +You must have **Python version 3.12 or later** installed. + To get started: 1. Create and activate a [virtual environment](https://docs.python.org/3/library/venv.html): @@ -63,7 +65,19 @@ To get started: pre-commit install ``` -5. Run the webapp: +5. First-time database setup: + + Before running the server for the first time, initialise the database tables as follows: + + ```bash + python manage.py migrate + ``` + + If you run into the following error, then you've missed this step: + + `django.db.utils.OperationalError: no such table: main_skilllevel` + +6. Run the webapp: ```bash python manage.py runserver @@ -81,22 +95,22 @@ To get started: then restart it. -6. Run the tests: +7. Run the tests: ```bash pytest ``` -7. Create an admin account to access admin backend: +8. Create an admin account to access admin backend: ```bash python manage.py createsuperuser ``` -8. To populate the db with Categories and Skills from a yaml or json version of the framework +9. Populate the database using a snapshot of v2.0 of the framework (this is not necessarily the latest live version, so this is only used for development). ```bash - python -m scripts.populate_db [-j data.json]|[-y data.yaml] + python manage.py loaddata direct_webapp/fixtures/framework-2-0.json ``` ### Installation with Docker diff --git a/dev-requirements.txt b/dev-requirements.txt index 080ec9bf..7b2534ed 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.13 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile --extra=dev --output-file=dev-requirements.txt @@ -102,8 +102,6 @@ mypy==1.20.0 # django-stubs mypy-extensions==1.1.0 # via mypy -mysqlclient==2.2.8 - # via direct_webapp (pyproject.toml) nh3==0.3.4 # via direct_webapp (pyproject.toml) nodeenv==1.10.0 diff --git a/direct_webapp/fixtures/README.md b/direct_webapp/fixtures/README.md new file mode 100644 index 00000000..4cd148ce --- /dev/null +++ b/direct_webapp/fixtures/README.md @@ -0,0 +1,25 @@ +# Fixtures + +This folder contains Django [fixtures](https://docs.djangoproject.com/en/6.0/topics/db/fixtures/#fixtures-explanation) - files that contain the serialized contents of the database. These can be used to quickly load data into a freshly initialised database (in development or in production). + +## Creating / updating the fixtures + +The fixtures were originally created by the following process: + +1. manually gather the CSV files from <https://github.com/direct-framework/digital-research-competencies-framework/tree/main/framework> +2. load each CSV into a fresh dev database through the Django admin interface. Ordering is important as some tables reference others: + 1. competency domains + 1. competencies + 1. providers + 1. learning resources + 1. skill levels + 1. tools, languages, and methodologies + 1. skills +3. on the command line, "dump" the data to json in fixture format: `python manage.py dumpdata -o direct_webapp/fixtures/data.json main --exclude main.user` + * `-o` sets the output location to `direct_webapp/fixtures/data.json` + * `main` selects the app to export + * `--exclude` selects models to exclude from the export (in this case the user table) + +The fixtures can then be loaded in a fresh database with `python manage.py loaddata direct_webapp/fixtures/framework-2-0.json`. + +The process can be repeated to update the fixtures. In future a script could be developed to automate updating the fixture when the framework is updated, if we decide to keep them in sync. diff --git a/direct_webapp/fixtures/framework-2-0.json b/direct_webapp/fixtures/framework-2-0.json new file mode 100644 index 00000000..223c9ea7 --- /dev/null +++ b/direct_webapp/fixtures/framework-2-0.json @@ -0,0 +1,13659 @@ +[ + { + "model": "main.competencydomain", + "pk": 1, + "fields": { + "name": "Information and data technologies", + "description": "Knowledge and application of methodologies, tools and systems to harness data and drive insight, innovation, and informed decision-making across digital research.", + "slug": "information-and-data-technologies", + "rank": 10 + } + }, + { + "model": "main.competencydomain", + "pk": 2, + "fields": { + "name": "Software design and development", + "description": "Expertise in design and development of software solutions that are robust, sustainable and fit for purpose, enabling scientific and technological progress.", + "slug": "software-design-and-development", + "rank": 20 + } + }, + { + "model": "main.competencydomain", + "pk": 3, + "fields": { + "name": "Computing infrastructures and systems", + "description": "Understanding and oversight of digital infrastructure - encompassing computing, storage and networks - that underpins research, collaboration and digital service delivery.", + "slug": "computing-infrastructures-and-systems", + "rank": 30 + } + }, + { + "model": "main.competencydomain", + "pk": 4, + "fields": { + "name": "Domain expertise and research", + "description": "Disciplinary insight and research acumen, enabling the generation of new knowledge, critical analysis and the application of theory to practice.", + "slug": "domain-expertise-and-research", + "rank": 40 + } + }, + { + "model": "main.competencydomain", + "pk": 5, + "fields": { + "name": "Professional and people skills", + "description": "Core capabilities that enable individuals to operate effectively and ethically within diverse, multidisciplinary and evolving professional environments.", + "slug": "professional-and-people-skills", + "rank": 50 + } + }, + { + "model": "main.competencydomain", + "pk": 6, + "fields": { + "name": "Communication", + "description": "Ability to convey ideas, knowledge and impact across diverse audiences, fostering understanding, knowledge transfer and engagement within and beyond the organisation.", + "slug": "communication", + "rank": 60 + } + }, + { + "model": "main.competencydomain", + "pk": 7, + "fields": { + "name": "Leadership and management", + "description": "The capacity to guide people, projects and organisations with vision and accountability, ensuring strategic alignment, innovation and the effective use of resources.", + "slug": "leadership-and-management", + "rank": 70 + } + }, + { + "model": "main.competency", + "pk": 1, + "fields": { + "name": "Data engineering", + "description": "Understanding and implementation of practices for data management, quality, accessibility, stewardship and compliance across data lifecycle.", + "slug": "data-engineering", + "competency_domain": 1, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 2, + "fields": { + "name": "Data science and analytics", + "description": "Application of analytical, statistical or machine learning techniques to extract insight and value from complex or large datasets (big data).", + "slug": "data-science-and-analytics", + "competency_domain": 1, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 3, + "fields": { + "name": "Software engineering", + "description": "Application of structured approaches, theory and supporting tools to plan, develop, test and maintain high-quality and secure software applications and systems.", + "slug": "software-engineering", + "competency_domain": 2, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 4, + "fields": { + "name": "User Interface / User Experience (UI/UX) design", + "description": "Creating intuitive, inclusive and engaging digital experiences through thoughtful design and user-centered practices.", + "slug": "user-interface-user-experience-uiux-design", + "competency_domain": 2, + "rank": 50 + } + }, + { + "model": "main.competency", + "pk": 5, + "fields": { + "name": "Web and mobile app development", + "description": "Design and development of responsive, secure and user-centric applications across web and mobile platforms.", + "slug": "web-and-mobile-app-development", + "competency_domain": 2, + "rank": 40 + } + }, + { + "model": "main.competency", + "pk": 6, + "fields": { + "name": "Cloud infrastructure", + "description": "Cloud platforms and computing for flexible, scalable and cost-effective computing, storage, and data services.", + "slug": "cloud-infrastructure", + "competency_domain": 3, + "rank": 40 + } + }, + { + "model": "main.competency", + "pk": 7, + "fields": { + "name": "General systems infrastructure", + "description": "Broad understanding of digital infrastructure - including hardware, networks and system integration that supports everyday operations and research.", + "slug": "general-systems-infrastructure", + "competency_domain": 3, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 8, + "fields": { + "name": "HPC infrastructure", + "description": "Knowledge of high-performance computing systems and practices that support data- or compute-intensive computational research and large-scale simulations.", + "slug": "hpc-infrastructure", + "competency_domain": 3, + "rank": 30 + } + }, + { + "model": "main.competency", + "pk": 9, + "fields": { + "name": "Web infrastructure", + "description": "Design, deployment, and maintenance of the technologies that support robust, scalable, and secure online platforms and services.", + "slug": "web-infrastructure", + "competency_domain": 3, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 10, + "fields": { + "name": "Domain knowledge", + "description": "Deep understanding of the concepts, challenges, and methodologies specific to a particular scientific field", + "slug": "domain-knowledge", + "competency_domain": 4, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 11, + "fields": { + "name": "Research skills", + "description": "Conducting rigorous inquiry, including problem formulation, experimental design, critical analysis and dissemination of findings.", + "slug": "research-skills", + "competency_domain": 4, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 12, + "fields": { + "name": "Interpersonal skills", + "description": "Ability to build rapport, demonstrate empathy, navigate social dynamics and communicate effectively in diverse professional settings", + "slug": "interpersonal-skills", + "competency_domain": 5, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 13, + "fields": { + "name": "Personal skills", + "description": "Self-management capabilities such as initiative, adaptability, resilience, time management and a commitment to continuous learning.", + "slug": "personal-skills", + "competency_domain": 5, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 14, + "fields": { + "name": "Teamwork", + "description": "Working constructively and inclusively with others to achieve shared goals, contribute to group problem-solving and foster a positive team culture.", + "slug": "teamwork", + "competency_domain": 5, + "rank": 30 + } + }, + { + "model": "main.competency", + "pk": 15, + "fields": { + "name": "Community and outreach", + "description": "Engaging with wider communities through knowledge sharing, collaboration and public engagement to increase the visibility and impact of work.", + "slug": "community-and-outreach", + "competency_domain": 6, + "rank": 20 + } + }, + { + "model": "main.competency", + "pk": 16, + "fields": { + "name": "Teaching and learning", + "description": "Designing and delivering effective learning experiences that build skills, transfer knowledge and support capacity and capability development across audiences.", + "slug": "teaching-and-learning", + "competency_domain": 6, + "rank": 30 + } + }, + { + "model": "main.competency", + "pk": 17, + "fields": { + "name": "Verbal and written communication", + "description": "Articulating complex ideas clearly and effectively through a range of formats and for varied audiences.", + "slug": "verbal-and-written-communication", + "competency_domain": 6, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 18, + "fields": { + "name": "Leadership", + "description": "Setting direction, inspiring others and making strategic decisions that align people and projects with broader institutional or organisational goals.", + "slug": "leadership", + "competency_domain": 7, + "rank": 30 + } + }, + { + "model": "main.competency", + "pk": 19, + "fields": { + "name": "People and team management", + "description": "Guiding and supporting individuals and teams to achieve their potential, with attention to wellbeing, performance and professional growth.", + "slug": "people-and-team-management", + "competency_domain": 7, + "rank": 10 + } + }, + { + "model": "main.competency", + "pk": 20, + "fields": { + "name": "Programme and project management", + "description": "Planning, coordinating and delivering projects effectively within defined scope, time and resource constraints, while managing risk and quality.", + "slug": "programme-and-project-management", + "competency_domain": 7, + "rank": 20 + } + }, + { + "model": "main.provider", + "pk": 1, + "fields": { + "name": "HPC Capentry", + "slug": "hpc-carpentry", + "url": "https://www.hpc-carpentry.org", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 2, + "fields": { + "name": "CodeRefinery", + "slug": "coderefinery", + "url": "https://coderefinery.org", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 3, + "fields": { + "name": "UK Government", + "slug": "uk-government", + "url": "https://gov.uk", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 4, + "fields": { + "name": "Greg Wilson", + "slug": "greg-wilson", + "url": "https://third-bit.com/about/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 5, + "fields": { + "name": "Software Carpentry", + "slug": "software-carpentry", + "url": "https://software-carpentry.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 6, + "fields": { + "name": "NNGroup", + "slug": "nngroup", + "url": "https://www.nngroup.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 7, + "fields": { + "name": "Opensource.com", + "slug": "opensource-com", + "url": "https://opensource.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 8, + "fields": { + "name": "CHAOSS", + "slug": "chaoss", + "url": "https://chaoss.community/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 9, + "fields": { + "name": "Open Source Guides", + "slug": "open-source-guides", + "url": "https://opensource.guide/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 10, + "fields": { + "name": "Research Software Engineering with Python (Irving et al)", + "slug": "research-software-engineering-with-python-irving-et-al", + "url": "https://third-bit.com/py-rse/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 11, + "fields": { + "name": "Scientist Sees Squirrel", + "slug": "scientist-sees-squirrel", + "url": "https://scientistseessquirrel.wordpress.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 12, + "fields": { + "name": "Acas", + "slug": "acas", + "url": "https://www.acas.org.uk/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 13, + "fields": { + "name": "GitHub", + "slug": "github", + "url": "https://github.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 14, + "fields": { + "name": "UK Research and Innovation (UKRI)", + "slug": "uk-research-and-innovation-ukri", + "url": "https://www.ukri.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 15, + "fields": { + "name": "Economic and Social Research Council (ESRC)", + "slug": "economic-and-social-research-council-esrc", + "url": "https://www.ukri.org/councils/esrc/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 16, + "fields": { + "name": "University of York", + "slug": "university-of-york", + "url": "https://www.york.ac.uk/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 17, + "fields": { + "name": "University of West London", + "slug": "university-of-west-london", + "url": "https://www.uwl.ac.uk/", + "ror": "https://ror.org/03e5mzp60", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 18, + "fields": { + "name": "WebAIM", + "slug": "webaim", + "url": "https://webaim.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 19, + "fields": { + "name": "EVERSE", + "slug": "everse", + "url": "https://everse.software/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 20, + "fields": { + "name": "Wikipedia", + "slug": "wikipedia", + "url": "https://www.wikipedia.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 21, + "fields": { + "name": "W3C", + "slug": "w3c", + "url": "https://www.w3.org/", + "ror": "https://ror.org/0059y1582", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 22, + "fields": { + "name": "UWE Bristol", + "slug": "uwe-bristol", + "url": "https://www.uwe.ac.uk/", + "ror": "https://ror.org/02nwg5t34", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 23, + "fields": { + "name": "University of Sheffield", + "slug": "university-of-sheffield", + "url": "https://www.sheffield.ac.uk/", + "ror": "https://ror.org/05krs5044", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 24, + "fields": { + "name": "University of Liverpool", + "slug": "university-of-liverpool", + "url": "https://www.liverpool.ac.uk/", + "ror": "https://ror.org/04xs57h96", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 25, + "fields": { + "name": "TOP500", + "slug": "top500", + "url": "https://www.top500.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 26, + "fields": { + "name": "TLDRLegal", + "slug": "tldrlegal", + "url": "https://tldrlegal.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 27, + "fields": { + "name": "The University of Manchester", + "slug": "the-university-of-manchester", + "url": "https://www.manchester.ac.uk/", + "ror": "https://ror.org/027m9bs27", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 28, + "fields": { + "name": "The Turing Way", + "slug": "the-turing-way", + "url": "https://the-turing-way.netlify.app/", + "ror": "https://ror.org/035dkdb55", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 29, + "fields": { + "name": "The Carpentries", + "slug": "the-carpentries", + "url": "https://carpentries.org/", + "ror": "https://ror.org/0356fgm10", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 30, + "fields": { + "name": "Stone and Heen", + "slug": "stone-and-heen", + "url": "https://stoneandheen.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 31, + "fields": { + "name": "Stack Overflow", + "slug": "stack-overflow", + "url": "https://stackoverflow.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 32, + "fields": { + "name": "Software Sustainability Institute", + "slug": "software-sustainability-institute", + "url": "https://www.software.ac.uk/", + "ror": "https://ror.org/0455awd29", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 33, + "fields": { + "name": "Scientific Python Library Development Guide", + "slug": "scientific-python-library-development-guide", + "url": "https://learn.scientific-python.org/development/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 34, + "fields": { + "name": "RStudio", + "slug": "rstudio", + "url": "https://posit.co/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 35, + "fields": { + "name": "rOpenSci", + "slug": "ropensci", + "url": "https://ropensci.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 36, + "fields": { + "name": "Research Data Oxford", + "slug": "research-data-oxford", + "url": "https://researchdata.ox.ac.uk/", + "ror": "https://ror.org/052gg0110", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 37, + "fields": { + "name": "Reproducibility Rocks", + "slug": "reproducibility-rocks", + "url": "http://reproducibility.rocks/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 38, + "fields": { + "name": "RedHat", + "slug": "redhat", + "url": "https://www.redhat.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 39, + "fields": { + "name": "pyOpenSci", + "slug": "pyopensci", + "url": "https://www.pyopensci.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 40, + "fields": { + "name": "PTP", + "slug": "ptp", + "url": "https://www.ptptraining.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 41, + "fields": { + "name": "Open University", + "slug": "open-university", + "url": "https://www.open.ac.uk/", + "ror": "https://ror.org/05mzfcs16", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 42, + "fields": { + "name": "OLS", + "slug": "ols", + "url": "https://openlifesci.org/", + "ror": "https://ror.org/02epwtt47", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 43, + "fields": { + "name": "NVIDIA", + "slug": "nvidia", + "url": "https://www.nvidia.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 44, + "fields": { + "name": "Mitchel, M. et al", + "slug": "mitchel-m-et-al", + "url": "https://www.m-mitchell.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 45, + "fields": { + "name": "MetaDocencia", + "slug": "metadocencia", + "url": "https://www.metadocencia.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 46, + "fields": { + "name": "Library Carpentry", + "slug": "library-carpentry", + "url": "https://librarycarpentry.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 47, + "fields": { + "name": "Kaggle", + "slug": "kaggle", + "url": "https://www.kaggle.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 48, + "fields": { + "name": "HBR Handbooks", + "slug": "hbr-handbooks", + "url": "https://hbr.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 49, + "fields": { + "name": "Green Software Foundation", + "slug": "green-software-foundation", + "url": "https://greensoftware.foundation/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 50, + "fields": { + "name": "Erin Meyer", + "slug": "erin-meyer", + "url": "https://erinmeyer.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 51, + "fields": { + "name": "ELIXIR Europe", + "slug": "elixir-europe", + "url": "https://elixir-europe.org/", + "ror": "https://ror.org/044rwnt51", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 52, + "fields": { + "name": "Digital Humanities Climate Coalition", + "slug": "digital-humanities-climate-coalition", + "url": "https://digitalhumanities-uk-ie.org/community-interest-groups/digital-humanities-climate-coalition/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 53, + "fields": { + "name": "Di\u00e1taxis", + "slug": "ditaxis", + "url": "https://diataxis.fr/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 54, + "fields": { + "name": "DCC", + "slug": "dcc", + "url": "https://www.dcc.ac.uk/", + "ror": "https://ror.org/01k9d6864", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 55, + "fields": { + "name": "Data Carpentry", + "slug": "data-carpentry", + "url": "https://datacarpentry.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 56, + "fields": { + "name": "CSCCE: Center for Scientific Collaboration and Community Engagement", + "slug": "cscce-center-for-scientific-collaboration-and-community-engagement", + "url": "https://www.cscce.org/", + "ror": "https://ror.org/03xaryf14", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 57, + "fields": { + "name": "Code Review Anxiety Workbook", + "slug": "code-review-anxiety-workbook", + "url": "https://developer-success-lab.gitbook.io/code-review-anxiety-workbook-1", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 58, + "fields": { + "name": "Cloud Native", + "slug": "cloud-native", + "url": "https://www.cncf.io/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 59, + "fields": { + "name": "Choose an open source license", + "slug": "choose-an-open-source-license", + "url": "https://choosealicense.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 60, + "fields": { + "name": "AWS", + "slug": "aws", + "url": "https://aws.amazon.com/", + "ror": "", + "description": "" + } + }, + { + "model": "main.provider", + "pk": 61, + "fields": { + "name": "ACM Digital Library", + "slug": "acm-digital-library", + "url": "https://dl.acm.org/", + "ror": "", + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 1, + "fields": { + "name": "What is Open Source Software (OSS)?", + "slug": "what-is-open-source-software-oss", + "language": "en", + "url": "https://github.com/resources/articles/what-is-open-source-software", + "provider": 13, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 2, + "fields": { + "name": "What is Authorization and Access Control?", + "slug": "what-is-authorization-and-access-control", + "language": "en", + "url": "https://www.icann.org/en/blogs/details/what-is-authorization-and-access-control-2-12-2015-en", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 3, + "fields": { + "name": "What are Metadata Standards - DCC", + "slug": "what-are-metadata-standards-dcc", + "language": "en", + "url": "https://www.dcc.ac.uk/guidance/briefing-papers/standards-watch-papers/what-are-metadata-standards", + "provider": 54, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 4, + "fields": { + "name": "WebAIM Accesibility Resources", + "slug": "webaim-accesibility-resources", + "language": "en", + "url": "https://webaim.org/articles/", + "provider": 18, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 5, + "fields": { + "name": "Version Control with Git", + "slug": "version-control-with-git", + "language": "en", + "url": "https://swcarpentry.github.io/git-novice", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 6, + "fields": { + "name": "Version Control for Data - The Turing Way", + "slug": "version-control-for-data-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/vcs/vcs-data/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 7, + "fields": { + "name": "Version Control - The Turing Way", + "slug": "version-control-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/vcs/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 8, + "fields": { + "name": "Using Databases and SQL", + "slug": "using-databases-and-sql", + "language": "en", + "url": "https://swcarpentry.github.io/sql-novice-survey", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 9, + "fields": { + "name": "University of Manchester internal Agile/Scrum course (work in progress)", + "slug": "university-of-manchester-internal-agilescrum-course-work-in-progress", + "language": "en", + "url": "https://research-it.manchester.ac.uk/news/2024/02/16/agile-methods-for-rses/", + "provider": 27, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 10, + "fields": { + "name": "Understanding neurodiversity", + "slug": "understanding-neurodiversity", + "language": "en", + "url": "https://www.acas.org.uk/neurodiversity-at-work", + "provider": 12, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 11, + "fields": { + "name": "UKRI's guide to appling for funding", + "slug": "ukris-guide-to-appling-for-funding", + "language": "en", + "url": "https://www.ukri.org/apply-for-funding/", + "provider": 14, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 12, + "fields": { + "name": "UK research funding model", + "slug": "uk-research-funding-model", + "language": "en", + "url": "https://www.universitiesuk.ac.uk/what-we-do/policy-and-research/publications/features/research-and-innovation-facts-and/funding", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 13, + "fields": { + "name": "Tuesday Tools & Techniques for High Performance Computing", + "slug": "tuesday-tools-techniques-for-high-performance-computing", + "language": "en", + "url": "https://scicomp.aalto.fi/training/scip/ttt4hpc-2024/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 14, + "fields": { + "name": "TLDRLegal", + "slug": "tldrlegal", + "language": "en", + "url": "https://www.tldrlegal.com/", + "provider": 26, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 15, + "fields": { + "name": "Tidy Data for Librarians", + "slug": "tidy-data-for-librarians", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-spreadsheets/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 16, + "fields": { + "name": "The Unix Shell - Software Carpentry", + "slug": "the-unix-shell-software-carpentry", + "language": "en", + "url": "https://swcarpentry.github.io/shell-novice/", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 17, + "fields": { + "name": "The Unix Shell - Library Carpentry", + "slug": "the-unix-shell-library-carpentry", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-shell/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 18, + "fields": { + "name": "The Turing Way handbook", + "slug": "the-turing-way-handbook", + "language": "en", + "url": "https://book.the-turing-way.org/community-handbook/community-handbook/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 19, + "fields": { + "name": "The FAIR Principles - The Turing Way", + "slug": "the-fair-principles-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/rdm/rdm-fair/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 20, + "fields": { + "name": "The Culture Map by Erin Meyer", + "slug": "the-culture-map-by-erin-meyer", + "language": "en", + "url": "https://erinmeyer.com/books/the-culture-map/", + "provider": 50, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 21, + "fields": { + "name": "The benefits of mindfulness and five common myths surrounding it", + "slug": "the-benefits-of-mindfulness-and-five-common-myths-surrounding-it", + "language": "en", + "url": "https://www.open.edu/openlearn/health-sports-psychology/mental-health/the-benefits-mindfulness-and-five-common-myths-surrounding-it", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 22, + "fields": { + "name": "The Art of Multiprocessor Programming", + "slug": "the-art-of-multiprocessor-programming", + "language": "en", + "url": "https://www.cs.sfu.ca/~ashriram/Courses/CS431/assets/distrib/AMP.pdf", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 23, + "fields": { + "name": "Thanks for the Feedback", + "slug": "thanks-for-the-feedback", + "language": "en", + "url": "https://www.stoneandheen.com/thanks-feedback", + "provider": 30, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 24, + "fields": { + "name": "Teaching tech together", + "slug": "teaching-tech-together", + "language": "en,es", + "url": "https://teachtogether.tech/", + "provider": 4, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 25, + "fields": { + "name": "Task Management for Humans as Self Care: Summary and Setup", + "slug": "task-management-for-humans-as-self-care-summary-and-setup", + "language": "en", + "url": "https://carpentries-incubator.github.io/task-management/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 26, + "fields": { + "name": "Task management (Wikipedia)", + "slug": "task-management-wikipedia", + "language": "en", + "url": "https://en.wikipedia.org/wiki/Task_management", + "provider": 20, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 27, + "fields": { + "name": "SSI Fellowship", + "slug": "ssi-fellowship", + "language": "en", + "url": "https://www.software.ac.uk/programmes/fellowship-programme", + "provider": 32, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 28, + "fields": { + "name": "SQL", + "slug": "sql", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-sql/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 29, + "fields": { + "name": "Social Media for Research Communications \u2014 The Turing Way", + "slug": "social-media-for-research-communications-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/communication/social-media", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 30, + "fields": { + "name": "Social coding and open software", + "slug": "social-coding-and-open-software", + "language": "en", + "url": "https://coderefinery.github.io/social-coding/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 31, + "fields": { + "name": "Shared documents and constructive collaboration", + "slug": "shared-documents-and-constructive-collaboration", + "language": "en", + "url": "https://www.open.edu/openlearn/education-development/shared-documents-and-constructive-collaboration", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 32, + "fields": { + "name": "Scientific Python Development Guide", + "slug": "scientific-python-development-guide", + "language": "en", + "url": "https://learn.scientific-python.org/development/", + "provider": 33, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 33, + "fields": { + "name": "RSQKit", + "slug": "rsqkit", + "language": "en", + "url": "https://everse.software/RSQKit/", + "provider": 19, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 34, + "fields": { + "name": "rOpenSci packages", + "slug": "ropensci-packages", + "language": "en", + "url": "https://devguide.ropensci.org/", + "provider": 35, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 35, + "fields": { + "name": "Research Software Engineering Sheffield - Deep Learning", + "slug": "research-software-engineering-sheffield-deep-learning", + "language": "en", + "url": "https://rse.shef.ac.uk/training/deeplearning/", + "provider": 23, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 36, + "fields": { + "name": "Research Software Alliance (ReSA)", + "slug": "research-software-alliance-resa", + "language": "en", + "url": "https://www.researchsoft.org/resource/resa-resources/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 37, + "fields": { + "name": "Reproducible research software development using Python (using ML example)", + "slug": "reproducible-research-software-development-using-python-using-ml-example", + "language": "en", + "url": "https://coderefinery.github.io/reproducible-python-ml/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 38, + "fields": { + "name": "Reproducible research software development using Python", + "slug": "reproducible-research-software-development-using-python", + "language": "en", + "url": "https://coderefinery.github.io/reproducible-python/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 39, + "fields": { + "name": "Reproducible research", + "slug": "reproducible-research", + "language": "en", + "url": "https://coderefinery.github.io/reproducible-research/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 40, + "fields": { + "name": "Reference Management: a Practical Guide", + "slug": "reference-management-a-practical-guide", + "language": "en", + "url": "https://subjectguides.york.ac.uk/reference-management/intro", + "provider": 16, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 41, + "fields": { + "name": "RedHat Open Source Project Health Checklist", + "slug": "redhat-open-source-project-health-checklist", + "language": "en", + "url": "https://www.redhat.com/en/resources/open-source-project-health-checklist", + "provider": 38, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 42, + "fields": { + "name": "RedHat Cluster Suite", + "slug": "redhat-cluster-suite", + "language": "en", + "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/5/html/cluster_suite_overview/index", + "provider": 38, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 43, + "fields": { + "name": "RDMkit", + "slug": "rdmkit", + "language": "en", + "url": "https://rdmkit.elixir-europe.org/", + "provider": 51, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 44, + "fields": { + "name": "R para An\u00e1lisis Cient\u00edficos Reproducibles", + "slug": "r-para-anlisis-cientficos-reproducibles", + "language": "es", + "url": "https://swcarpentry.github.io/r-novice-gapminder-es", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 45, + "fields": { + "name": "R Foundation", + "slug": "r-foundation", + "language": "en", + "url": "https://www.r-project.org/foundation/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 46, + "fields": { + "name": "R for Reproducible Scientific Analysis", + "slug": "r-for-reproducible-scientific-analysis", + "language": "en", + "url": "https://swcarpentry.github.io/r-novice-gapminder", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 47, + "fields": { + "name": "Python Software Foundation", + "slug": "python-software-foundation", + "language": "en", + "url": "https://www.python.org/psf-landing/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 48, + "fields": { + "name": "Python Progression: Moving Beyond the Basics", + "slug": "python-progression-moving-beyond-the-basics", + "language": "en", + "url": "https://coderefinery.github.io/python-progression/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 49, + "fields": { + "name": "pyOpenSci packages", + "slug": "pyopensci-packages", + "language": "en", + "url": "https://www.pyopensci.org/python-package-guide/index.html", + "provider": 39, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 50, + "fields": { + "name": "PTP Public Speaking courses", + "slug": "ptp-public-speaking-courses", + "language": "en", + "url": "https://www.ptp.co.uk/training-courses/personal-development-training/public-speaking/", + "provider": 40, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 51, + "fields": { + "name": "Project Organization and Management for Genomics", + "slug": "project-organization-and-management-for-genomics", + "language": "en", + "url": "https://datacarpentry.github.io/organization-genomics", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 52, + "fields": { + "name": "Project Documentation - The Turing Way", + "slug": "project-documentation-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/code-documentation/code-documentation-project", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 53, + "fields": { + "name": "Programming with R", + "slug": "programming-with-r", + "language": "en", + "url": "https://swcarpentry.github.io/r-novice-inflammation/", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 54, + "fields": { + "name": "Programming with Python", + "slug": "programming-with-python", + "language": "en", + "url": "https://swcarpentry.github.io/python-novice-inflammation", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 55, + "fields": { + "name": "Programming with MATLAB", + "slug": "programming-with-matlab", + "language": "en", + "url": "https://swcarpentry.github.io/matlab-novice-inflammation", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 56, + "fields": { + "name": "Presenting Posters and Conference Talks - The Turing Way", + "slug": "presenting-posters-and-conference-talks-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/communication/presentations", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 57, + "fields": { + "name": "Plotting and Programming in Python", + "slug": "plotting-and-programming-in-python", + "language": "en", + "url": "https://swcarpentry.github.io/python-novice-gapminder/", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 58, + "fields": { + "name": "Parallelization and workflows", + "slug": "parallelization-and-workflows", + "language": "en", + "url": "https://coderefinery.github.io/TTT4HPC_parallel_workflows/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 59, + "fields": { + "name": "Parallel scaling guide", + "slug": "parallel-scaling-guide", + "language": "en", + "url": "https://rc-docs.mines.edu/pages/user_guides/Parallel_Scaling_Guide.html", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 60, + "fields": { + "name": "Parallel and High Performance Computing ", + "slug": "parallel-and-high-performance-computing", + "language": "en", + "url": "https://www.manning.com/books/parallel-and-high-performance-computing", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 61, + "fields": { + "name": "Outlining the structure of your open source software project", + "slug": "outlining-the-structure-of-your-open-source-software-project", + "language": "en", + "url": "https://www.cncf.io/blog/2023/04/03/outlining-the-structure-of-your-open-source-software-project/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 62, + "fields": { + "name": "other community management programs", + "slug": "other-community-management-programs", + "language": "en", + "url": "https://www.google.com/search?q=research+community+management+programmes+near+me", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 63, + "fields": { + "name": "Optimize Athena performance", + "slug": "optimize-athena-performance", + "language": "en", + "url": "https://docs.aws.amazon.com/athena/latest/ug/performance-tuning.html", + "provider": 60, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 64, + "fields": { + "name": "OpenRefine", + "slug": "openrefine", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-open-refine/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 65, + "fields": { + "name": "Open Source Software (OSS) foundations", + "slug": "open-source-software-oss-foundations", + "language": "en", + "url": "https://som-research.github.io/OSSFoundations/#/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 66, + "fields": { + "name": "Open source project culture and practices", + "slug": "open-source-project-culture-and-practices", + "language": "en", + "url": "https://www.redhat.com/en/blog/open-source-culture-9-core-principles-and-values", + "provider": 38, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 67, + "fields": { + "name": "OLS Lesson", + "slug": "ols-lesson", + "language": "en", + "url": "https://we-are-ols.org/open-science-training.html", + "provider": 42, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 68, + "fields": { + "name": "Often offered by university libraries", + "slug": "often-offered-by-university-libraries", + "language": "en", + "url": "https://www.google.com/search?q=university+library+courses+near+me", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 69, + "fields": { + "name": "NVIDIA Deep Learning Institute", + "slug": "nvidia-deep-learning-institute", + "language": "en", + "url": "https://www.nvidia.com/en-us/training/", + "provider": 43, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 70, + "fields": { + "name": "Modular code development type-along", + "slug": "modular-code-development-type-along", + "language": "en", + "url": "https://coderefinery.github.io/modular-type-along/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 71, + "fields": { + "name": "Modular code development", + "slug": "modular-code-development", + "language": "en", + "url": "http://cicero.xyz/v3/remark/0.14.0/github.com/coderefinery/modular-code-development/master/talk.md", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 72, + "fields": { + "name": "Model Cards for Model Reporting", + "slug": "model-cards-for-model-reporting", + "language": "en", + "url": "https://arxiv.org/pdf/1810.03993", + "provider": 44, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 73, + "fields": { + "name": "Mixed Martial Arts: Interfacing Fortran, C, C++, and Python", + "slug": "mixed-martial-arts-interfacing-fortran-c-c-plus-plus-and-python", + "language": "en", + "url": "https://coderefinery.github.io/mma/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 74, + "fields": { + "name": "Missions: A Beginner's guide", + "slug": "missions-a-beginners-guide", + "language": "en", + "url": "https://www.ucl.ac.uk/bartlett/sites/bartlett/files/iipp_policy_brief_09_missions_a_beginners_guide.pdf", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 75, + "fields": { + "name": "Mini toolkit - code review anxiety workbook", + "slug": "mini-toolkit-code-review-anxiety-workbook", + "language": "en", + "url": "https://developer-success-lab.gitbook.io/code-review-anxiety-workbook-1/part-three-mini-code-review-anxiety-toolkit/mini-toolkit", + "provider": 57, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 76, + "fields": { + "name": "MetaDocencia builds its governance collaboratively", + "slug": "metadocencia-builds-its-governance-collaboratively", + "language": "es", + "url": "https://www.metadocencia.org/post/gobernanza-colaborativa/", + "provider": 45, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 77, + "fields": { + "name": "Mental Health, Free courses - Open University", + "slug": "mental-health-free-courses-open-university", + "language": "en", + "url": "https://www.open.edu/openlearn/body-mind/all-content?filter=date/grid/201/freecourses/all/all/all/all", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 78, + "fields": { + "name": "Linux Foundation", + "slug": "linux-foundation", + "language": "en", + "url": "https://training.linuxfoundation.org/resources/free-courses/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 79, + "fields": { + "name": "Licensing - The Turing Way", + "slug": "licensing-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/licensing", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 80, + "fields": { + "name": "Library Carpentry: Introduction to Regular Expressions", + "slug": "library-carpentry-introduction-to-regular-expressions", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-data-intro/01-regular-expressions.html", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 81, + "fields": { + "name": "Library Carpentry - Data Cleaning", + "slug": "library-carpentry-data-cleaning", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-open-refine/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 82, + "fields": { + "name": "Leadership and followership", + "slug": "leadership-and-followership", + "language": "en", + "url": "https://www.open.edu/openlearn/education-development/learning/leadership-and-followership/content-section-overview?active-tab=description-tab", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 83, + "fields": { + "name": "La Terminal de Unix", + "slug": "la-terminal-de-unix", + "language": "es", + "url": "https://swcarpentry.github.io/shell-novice-es", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 84, + "fields": { + "name": "Know your legal and ethical responsibilities", + "slug": "know-your-legal-and-ethical-responsibilities", + "language": "en", + "url": "https://www.uwe.ac.uk/study/library/research-support/manage-your-research-data/planning-your-project/know-your-legal-and-ethical-responsibilities", + "provider": 22, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 85, + "fields": { + "name": "Kaggle - Data Cleaning", + "slug": "kaggle-data-cleaning", + "language": "en", + "url": "https://www.kaggle.com/learn/data-cleaning", + "provider": 47, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 86, + "fields": { + "name": "Jupyter Project", + "slug": "jupyter-project", + "language": "en", + "url": "https://jupyter.org/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 87, + "fields": { + "name": "Jupyter notebooks", + "slug": "jupyter-notebooks", + "language": "en", + "url": "https://coderefinery.github.io/jupyter", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 88, + "fields": { + "name": "Introduction to Working with Data (Regular Expressions)", + "slug": "introduction-to-working-with-data-regular-expressions", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-data-intro/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 89, + "fields": { + "name": "Introduction to Web Accessibility", + "slug": "introduction-to-web-accessibility", + "language": "en", + "url": "https://www.w3.org/WAI/fundamentals/accessibility-intro/", + "provider": 21, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 90, + "fields": { + "name": "Introduction to version control", + "slug": "introduction-to-version-control", + "language": "en", + "url": "https://coderefinery.github.io/git-intro/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 91, + "fields": { + "name": "Introduction to the Command Line for Genomics", + "slug": "introduction-to-the-command-line-for-genomics", + "language": "en", + "url": "https://datacarpentry.github.io/shell-genomics/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 92, + "fields": { + "name": "Introduction to R for Librarians", + "slug": "introduction-to-r-for-librarians", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-r/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 93, + "fields": { + "name": "Introduction to R for Geospatial Data", + "slug": "introduction-to-r-for-geospatial-data", + "language": "en", + "url": "https://datacarpentry.github.io/r-intro-geospatial", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 94, + "fields": { + "name": "Introduction to Python for Librarians", + "slug": "introduction-to-python-for-librarians", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-python-intro/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 95, + "fields": { + "name": "Introduction to parallel programming by the Carpentries", + "slug": "introduction-to-parallel-programming-by-the-carpentries", + "language": "en", + "url": "https://carpentries-incubator.github.io/lesson-parallel-python/introduction.html", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 96, + "fields": { + "name": "Introduction to Parallel Computing", + "slug": "introduction-to-parallel-computing", + "language": "en", + "url": "https://dehesa.unex.es/server/api/core/bitstreams/c697d0af-8091-47a3-92fe-9ddd7233f9ff/content", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 97, + "fields": { + "name": "Introduction to Machine Learning with Scikit Learn", + "slug": "introduction-to-machine-learning-with-scikit-learn", + "language": "en", + "url": "https://carpentries-incubator.github.io/machine-learning-novice-sklearn/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 98, + "fields": { + "name": "Introduction to good practices in research software development by the Carpentries", + "slug": "introduction-to-good-practices-in-research-software-development-by-the-carpentries", + "language": "en", + "url": "https://carpentries-incubator.github.io/good-practices-lesson/instructor/index.html", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 99, + "fields": { + "name": "Introduction to Git", + "slug": "introduction-to-git", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-git/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 100, + "fields": { + "name": "Introduction to Geospatial Raster and Vector Data with R", + "slug": "introduction-to-geospatial-raster-and-vector-data-with-r", + "language": "en", + "url": "https://datacarpentry.github.io/r-raster-vector-geospatial", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 101, + "fields": { + "name": "Introduction to Geospatial Concepts", + "slug": "introduction-to-geospatial-concepts", + "language": "en", + "url": "https://datacarpentry.github.io/organization-geospatial/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 102, + "fields": { + "name": "Introduction to deep learning by The Carpentries", + "slug": "introduction-to-deep-learning-by-the-carpentries", + "language": "en", + "url": "https://carpentries-lab.github.io/deep-learning-intro/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 103, + "fields": { + "name": "Introduction to Data for Archivists", + "slug": "introduction-to-data-for-archivists", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-data-intro-archives/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 104, + "fields": { + "name": "Introduction to Cloud Computing for Genomics", + "slug": "introduction-to-cloud-computing-for-genomics", + "language": "en", + "url": "https://datacarpentry.github.io/cloud-genomics", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 105, + "fields": { + "name": "Introducing Computational Thinking ", + "slug": "introducing-computational-thinking", + "language": "en", + "url": "https://librarycarpentry.github.io/lc-computational-thinking/", + "provider": 46, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 106, + "fields": { + "name": "Intro to R and RStudio for Genomics", + "slug": "intro-to-r-and-rstudio-for-genomics", + "language": "en", + "url": "https://datacarpentry.github.io/genomics-r-intro/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 107, + "fields": { + "name": "Interviews with end-users of the software", + "slug": "interviews-with-end-users-of-the-software", + "language": "en", + "url": "https://www.nngroup.com/articles/user-interviews/", + "provider": 6, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 108, + "fields": { + "name": "Intermediate Research Software Development Skills (Python)", + "slug": "intermediate-research-software-development-skills-python", + "language": "en", + "url": "https://carpentries-incubator.github.io/python-intermediate-development/", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 109, + "fields": { + "name": "Improv, yes-and exercise", + "slug": "improv-yes-and-exercise", + "language": "en", + "url": "https://www.radicalagreement.com/post/yes-and-and-improv-teamwork", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 110, + "fields": { + "name": "Image Processing with Python", + "slug": "image-processing-with-python", + "language": "en", + "url": "https://datacarpentry.github.io/image-processing/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 111, + "fields": { + "name": "HPC Resources: RAM, CPUs/GPUs, I/O", + "slug": "hpc-resources-ram-cpusgpus-io", + "language": "en", + "url": "https://coderefinery.github.io/TTT4HPC_resource_management/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 112, + "fields": { + "name": "How to write a good application", + "slug": "how-to-write-a-good-application", + "language": "en", + "url": "https://www.ukri.org/councils/esrc/guidance-for-applicants/how-to-write-a-good-application/", + "provider": 15, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 113, + "fields": { + "name": "How to start a nonprofit organisation in the UK", + "slug": "how-to-start-a-nonprofit-organisation-in-the-uk", + "language": "en", + "url": "https://uk.indeed.com/career-advice/starting-new-job/non-profit-organisation-uk", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 114, + "fields": { + "name": "How to say no at work without guilt or conflict", + "slug": "how-to-say-no-at-work-without-guilt-or-conflict", + "language": "en", + "url": "https://www.open.edu/openlearn/education-development/how-say-no-work-without-guilt-or-conflict", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 115, + "fields": { + "name": "How to make good code reviews better", + "slug": "how-to-make-good-code-reviews-better", + "language": "en", + "url": "https://stackoverflow.blog/2019/09/30/how-to-make-good-code-reviews-better/", + "provider": 31, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 116, + "fields": { + "name": "How to document your research software", + "slug": "how-to-document-your-research-software", + "language": "en", + "url": "https://coderefinery.github.io/documentation/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 117, + "fields": { + "name": "How to build a skills-based organisation in 5 steps", + "slug": "how-to-build-a-skills-based-organisation-in-5-steps", + "language": "en", + "url": "https://www.muchskills.com/blog/mastering-the-skill-revolution-a-guide-to-becoming-a-skills-based-organisation-in-5-steps", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 118, + "fields": { + "name": "Harvard Business Review Project Management Handbook: How to Launch, Lead, and Sponsor Successful Projects", + "slug": "harvard-business-review-project-management-handbook-how-to-launch-lead-and-sponsor-successful-projects", + "language": "en", + "url": "https://www.amazon.co.uk/Harvard-Business-Project-Management-Handbook/dp/1647821266", + "provider": 48, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 119, + "fields": { + "name": "Handling conflict", + "slug": "handling-conflict", + "language": "en", + "url": "https://third-bit.com/py-rse/teams.html#teams-conflict", + "provider": 10, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 120, + "fields": { + "name": "Green500", + "slug": "green500", + "language": "en", + "url": "https://www.top500.org/lists/green500/", + "provider": 25, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 121, + "fields": { + "name": "Green Software Foundation", + "slug": "green-software-foundation", + "language": "en", + "url": "https://greensoftware.foundation/", + "provider": 49, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 122, + "fields": { + "name": "Governance in The Turing Way", + "slug": "governance-in-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/foreword/governance", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 123, + "fields": { + "name": "Google Machine Learning Crash Course", + "slug": "google-machine-learning-crash-course", + "language": "en", + "url": "https://developers.google.com/machine-learning/crash-course", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 124, + "fields": { + "name": "GitHub's Building Community", + "slug": "githubs-building-community", + "language": "en", + "url": "https://opensource.guide/building-community/", + "provider": 9, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 125, + "fields": { + "name": "GitHub Documentation", + "slug": "github-documentation", + "language": "en", + "url": "https://docs.github.com/en", + "provider": 13, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 126, + "fields": { + "name": "Git branch design", + "slug": "git-branch-design", + "language": "en", + "url": "https://coderefinery.github.io/git-branch-design/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 127, + "fields": { + "name": "GAN Implementation in PyTorch", + "slug": "gan-implementation-in-pytorch", + "language": "en", + "url": "https://www.baeldung.com/cs/pytorch-generative-adversarial-networks", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 128, + "fields": { + "name": "Galaxy Project", + "slug": "galaxy-project", + "language": "en", + "url": "https://galaxyproject.org/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 129, + "fields": { + "name": "Futures, Foresight and Horizon scanning", + "slug": "futures-foresight-and-horizon-scanning", + "language": "en", + "url": "https://foresightprojects.blog.gov.uk/2018/11/01/futures-foresight-and-horizon-scanning-finding-a-way-forward/", + "provider": 3, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 130, + "fields": { + "name": "Funding higher education in Wales", + "slug": "funding-higher-education-in-wales", + "language": "en,cy", + "url": "https://www.medr.cymru/en/funding-for-providers/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 131, + "fields": { + "name": "Funding higher education in Scotland", + "slug": "funding-higher-education-in-scotland", + "language": "en,gd", + "url": "https://www.sfc.ac.uk/our-funding/university-funding/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 132, + "fields": { + "name": "Funding higher education in Northern Ireland", + "slug": "funding-higher-education-in-northern-ireland", + "language": "en", + "url": "https://www.economy-ni.gov.uk/articles/higher-education-quality-related-research-qr-funding", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 133, + "fields": { + "name": "Funding higher education in England", + "slug": "funding-higher-education-in-england", + "language": "en", + "url": "https://www.ukri.org/publications/research-england-how-we-fund-higher-education-providers/how-we-fund-higher-education-providers/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 134, + "fields": { + "name": "Foundations of Astronomical Data Science", + "slug": "foundations-of-astronomical-data-science", + "language": "en", + "url": "https://datacarpentry.github.io/astronomy-python/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 135, + "fields": { + "name": "Five things you need to know about research data management and the law", + "slug": "five-things-you-need-to-know-about-research-data-management-and-the-law", + "language": "en", + "url": "https://www.dcc.ac.uk/sites/default/files/documents/publications/3amendedFive%20things.....%20(8-Page).pdf", + "provider": 54, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 136, + "fields": { + "name": "Finding Your Way To R For Data Science", + "slug": "finding-your-way-to-r-for-data-science", + "language": "en", + "url": "https://education.rstudio.com/learn/", + "provider": 34, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 137, + "fields": { + "name": "Exploring career mentoring and coaching", + "slug": "exploring-career-mentoring-and-coaching", + "language": "en", + "url": "https://www.open.edu/openlearn/money-business/exploring-career-mentoring-and-coaching/content-section-overview?active-tab=description-tab", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 138, + "fields": { + "name": "Everything you wanted to know about applying for grants but didn't ask", + "slug": "everything-you-wanted-to-know-about-applying-for-grants-but-didnt-ask", + "language": "en,es", + "url": "https://github.com/MetaDocencia/AccesoFinanciacion/blob/main/hidden-curriculum.md", + "provider": 45, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 139, + "fields": { + "name": "Event Organisation Guide", + "slug": "event-organisation-guide", + "language": "en", + "url": "https://event-organisation-guide.readthedocs.io/en/latest/index.html", + "provider": 32, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 140, + "fields": { + "name": "Ethics and law - The Turing Way", + "slug": "ethics-and-law-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/ethical-research/law-policy/law-policy-ethics", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 141, + "fields": { + "name": "Ethical and legal issues (University of Oxford)", + "slug": "ethical-and-legal-issues-university-of-oxford", + "language": "en", + "url": "https://researchdata.ox.ac.uk/ethical-and-legal-issues", + "provider": 36, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 142, + "fields": { + "name": "Ethical and Legal Issues (University of Liverpool)", + "slug": "ethical-and-legal-issues-university-of-liverpool", + "language": "en", + "url": "https://www.liverpool.ac.uk/library/research-data-management/essentials/ethical-and-legal/", + "provider": 24, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 143, + "fields": { + "name": "Ense\u00f1ando tecnolog\u00eda en comunidad(Spanish)", + "slug": "enseando-tecnologa-en-comunidadspanish", + "language": "es", + "url": "https://yabellini.github.io/t3es/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 144, + "fields": { + "name": "El Control de Versiones con Git", + "slug": "el-control-de-versiones-con-git", + "language": "es", + "url": "https://swcarpentry.github.io/git-novice-es", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 145, + "fields": { + "name": "Effective communication in the workplace", + "slug": "effective-communication-in-the-workplace", + "language": "en", + "url": "https://www.open.edu/openlearn/money-business/effective-communication-the-workplace/content-section-overview?active-tab=description-tab", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 146, + "fields": { + "name": "Digital Humanities Climate Coalition Toolkit", + "slug": "digital-humanities-climate-coalition-toolkit", + "language": "en", + "url": "https://sas-dhrh.github.io/dhcc-toolkit/", + "provider": 52, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 147, + "fields": { + "name": "Difficult Conversations: How to discuss what matters most", + "slug": "difficult-conversations-how-to-discuss-what-matters-most", + "language": "en", + "url": "https://www.stoneandheen.com/difficult-conversations", + "provider": 30, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 148, + "fields": { + "name": "Di\u00e1taxis", + "slug": "ditaxis", + "language": "en", + "url": "https://diataxis.fr/", + "provider": 53, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 149, + "fields": { + "name": "Day-to-day working on clusters", + "slug": "day-to-day-working-on-clusters", + "language": "en", + "url": "https://coderefinery.github.io/TTT4HPC_Interactive/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 150, + "fields": { + "name": "Datasheets for Datasets", + "slug": "datasheets-for-datasets", + "language": "en", + "url": "http://dx.doi.org/10.1145/3458723", + "provider": 61, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 151, + "fields": { + "name": "Databases and SQL by The Carpentries", + "slug": "databases-and-sql-by-the-carpentries", + "language": "en", + "url": "https://swcarpentry.github.io/sql-novice-survey/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 152, + "fields": { + "name": "Data Wrangling and Processing for Genomics", + "slug": "data-wrangling-and-processing-for-genomics", + "language": "en", + "url": "https://datacarpentry.github.io/wrangling-genomics/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 153, + "fields": { + "name": "Data Wranglers: Overview - The Turing Way", + "slug": "data-wranglers-overview-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/collaboration/research-infrastructure-roles/data-wrangler", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 154, + "fields": { + "name": "Data visualization using Python", + "slug": "data-visualization-using-python", + "language": "en", + "url": "https://coderefinery.github.io/data-visualization-python/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 155, + "fields": { + "name": "Data Visualisation - The Turing Way", + "slug": "data-visualisation-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/rdm/rdm-visualisation/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 156, + "fields": { + "name": "Data Organization in Spreadsheets for Social Scientists", + "slug": "data-organization-in-spreadsheets-for-social-scientists", + "language": "en", + "url": "https://datacarpentry.github.io/spreadsheets-socialsci/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 157, + "fields": { + "name": "Data Organization in Spreadsheets for Ecologists", + "slug": "data-organization-in-spreadsheets-for-ecologists", + "language": "en", + "url": "https://datacarpentry.github.io/spreadsheet-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 158, + "fields": { + "name": "Data Organisation in Spreadsheets - The Turing Way", + "slug": "data-organisation-in-spreadsheets-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/rdm/rdm-spreadsheets", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 159, + "fields": { + "name": "Data Management with SQL for Social Scientists", + "slug": "data-management-with-sql-for-social-scientists", + "language": "en", + "url": "https://datacarpentry.github.io/sql-socialsci/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 160, + "fields": { + "name": "Data Management with SQL for Ecologists", + "slug": "data-management-with-sql-for-ecologists", + "language": "en", + "url": "https://datacarpentry.github.io/sql-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 161, + "fields": { + "name": "Data Management Plans - DCC", + "slug": "data-management-plans-dcc", + "language": "en", + "url": "https://www.dcc.ac.uk/resources/data-management-plans", + "provider": 54, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 162, + "fields": { + "name": "Data Management Plan - The Turing Way", + "slug": "data-management-plan-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/rdm/rdm-dmp", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 163, + "fields": { + "name": "Data Cleaning with OpenRefine for Social Scientists", + "slug": "data-cleaning-with-openrefine-for-social-scientists", + "language": "en", + "url": "https://datacarpentry.github.io/openrefine-socialsci/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 164, + "fields": { + "name": "Data Cleaning with OpenRefine for Ecologists", + "slug": "data-cleaning-with-openrefine-for-ecologists", + "language": "en", + "url": "https://datacarpentry.github.io/OpenRefine-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 165, + "fields": { + "name": "Data Carpentry - Data Cleaning", + "slug": "data-carpentry-data-cleaning", + "language": "en", + "url": "https://datacarpentry.github.io/OpenRefine-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 166, + "fields": { + "name": "Data Analysis and Visualization with R for Social Scientists", + "slug": "data-analysis-and-visualization-with-r-for-social-scientists", + "language": "en", + "url": "https://datacarpentry.github.io/r-socialsci/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 167, + "fields": { + "name": "Data Analysis and Visualization with Python for Social Scientists", + "slug": "data-analysis-and-visualization-with-python-for-social-scientists", + "language": "en", + "url": "https://datacarpentry.github.io/python-socialsci/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 168, + "fields": { + "name": "Data Analysis and Visualization in R for Ecologists", + "slug": "data-analysis-and-visualization-in-r-for-ecologists", + "language": "en", + "url": "https://datacarpentry.github.io/R-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 169, + "fields": { + "name": "Data Analysis and Visualization in Python for Ecologists", + "slug": "data-analysis-and-visualization-in-python-for-ecologists", + "language": "en", + "url": "https://datacarpentry.github.io/python-ecology-lesson/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 170, + "fields": { + "name": "CSCCE's project management for STEM professionals", + "slug": "cscces-project-management-for-stem-professionals", + "language": "en", + "url": "https://www.cscce.org/trainings/project-management-for-scientists/", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 171, + "fields": { + "name": "CSCCE's guide on how to steward large-scale collaborations", + "slug": "cscces-guide-on-how-to-steward-large-scale-collaborations", + "language": "en", + "url": "https://www.cscce.org/trainings/cscce-mini-workshops/", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 172, + "fields": { + "name": "CSCCE mini-workshop on the topic of Giving and receiving feedback", + "slug": "cscce-mini-workshop-on-the-topic-of-giving-and-receiving-feedback", + "language": "en", + "url": "https://www.cscce.org/trainings/cscce-mini-workshops/", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 173, + "fields": { + "name": "CSCCE", + "slug": "cscce", + "language": "en", + "url": "https://www.cscce.org/", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 174, + "fields": { + "name": "Continuous integration - The Turing Way", + "slug": "continuous-integration-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/ci", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 175, + "fields": { + "name": "Containers on clusters", + "slug": "containers-on-clusters", + "language": "en", + "url": "https://coderefinery.github.io/hpc-containers/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 176, + "fields": { + "name": "Community Participation Model - CSCCE", + "slug": "community-participation-model-cscce", + "language": "en", + "url": "https://www.cscce.org/resources/cpm/", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 177, + "fields": { + "name": "Community governance resources", + "slug": "community-governance-resources", + "language": "en", + "url": "https://docs.google.com/spreadsheets/d/1k8t1VPdcwKH7ZGaCA0q8NNxbFKQKkZGPth3nhfkKwAA/edit?gid=1287139202#gid=1287139202", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 178, + "fields": { + "name": "Community and Community Roles - The Turing Way", + "slug": "community-and-community-roles-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/foreword/community/", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 179, + "fields": { + "name": "Collaborative version control with Git and GitHub by the Carpentries", + "slug": "collaborative-version-control-with-git-and-github-by-the-carpentries", + "language": "en", + "url": "https://carpentries-incubator.github.io/collaborative-git-and-github-lesson/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 180, + "fields": { + "name": "Collaborative distributed version control", + "slug": "collaborative-distributed-version-control", + "language": "en", + "url": "https://coderefinery.github.io/git-collaborative/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 181, + "fields": { + "name": "Collaborating and sharing using GitHub without command line", + "slug": "collaborating-and-sharing-using-github-without-command-line", + "language": "en", + "url": "https://coderefinery.github.io/github-without-command-line/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 182, + "fields": { + "name": "Code Testing - The Turing Way", + "slug": "code-testing-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/reproducible-research/testing", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 183, + "fields": { + "name": "Code Styling and Linting - The Turing Way", + "slug": "code-styling-and-linting-the-turing-way", + "language": "en", + "url": "https://book.the-turing-way.org/project-design/code-styling", + "provider": 28, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 184, + "fields": { + "name": "CMake workshop (based on ENCCS version)", + "slug": "cmake-workshop-based-on-enccs-version", + "language": "en", + "url": "https://coderefinery.github.io/cmake-workshop/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 185, + "fields": { + "name": "Cloud Native Glossary", + "slug": "cloud-native-glossary", + "language": "en", + "url": "https://glossary.cncf.io/data-center/", + "provider": 58, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 186, + "fields": { + "name": "Choose an open source license", + "slug": "choose-an-open-source-license", + "language": "en", + "url": "https://choosealicense.com/", + "provider": 59, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 187, + "fields": { + "name": "CHAOSS community metrics", + "slug": "chaoss-community-metrics", + "language": "en", + "url": "https://chaoss.community/metrics/", + "provider": 8, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 188, + "fields": { + "name": "Carpentries Instructor Training", + "slug": "carpentries-instructor-training", + "language": "en", + "url": "https://carpentries.org/instructor-training/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 189, + "fields": { + "name": "Carpentries courses", + "slug": "carpentries-courses", + "language": "en,es", + "url": "https://carpentries.org/workshops/upcoming-workshops/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 190, + "fields": { + "name": "Carpentries Collaborative Lesson Development Training", + "slug": "carpentries-collaborative-lesson-development-training", + "language": "en", + "url": "https://carpentries.github.io/lesson-development-training/", + "provider": 29, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 191, + "fields": { + "name": "Building Better Research Software", + "slug": "building-better-research-software", + "language": "en", + "url": "https://carpentries-incubator.github.io/better-research-software/", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 192, + "fields": { + "name": "Budget allocations for UK Research and Innovation", + "slug": "budget-allocations-for-uk-research-and-innovation", + "language": "en", + "url": "https://www.ukri.org/publications/explainer-ukri-budget-allocations/budget-allocations-for-uk-research-and-innovation/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 193, + "fields": { + "name": "Bringing up problems at work (without making things worse)", + "slug": "bringing-up-problems-at-work-without-making-things-worse", + "language": "en", + "url": "https://www.open.edu/openlearn/education-development/bringing-problems-work-without-making-things-worse", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 194, + "fields": { + "name": "Automation and Make", + "slug": "automation-and-make", + "language": "en", + "url": "https://swcarpentry.github.io/make-novice", + "provider": 5, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 195, + "fields": { + "name": "Automated testing", + "slug": "automated-testing", + "language": "en", + "url": "https://coderefinery.github.io/testing/", + "provider": 2, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 196, + "fields": { + "name": "Assessing the health of open source communities", + "slug": "assessing-the-health-of-open-source-communities", + "language": "en", + "url": "https://james.howison.name/pubs/CrowstonHowison-AssessingHealth.pdf", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 197, + "fields": { + "name": "Apache Software Foundation", + "slug": "apache-software-foundation", + "language": "en", + "url": "https://www.apache.org/", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 198, + "fields": { + "name": "An\u00e1lisis y visualizaci\u00f3n de datos usando Python", + "slug": "anlisis-y-visualizacin-de-datos-usando-python", + "language": "es", + "url": "https://datacarpentry.github.io/python-ecology-lesson-es/", + "provider": 55, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 199, + "fields": { + "name": "An R reproducibility toolkit for the practical researcher", + "slug": "an-r-reproducibility-toolkit-for-the-practical-researcher", + "language": "en", + "url": "https://reproducibility.rocks/", + "provider": 37, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 200, + "fields": { + "name": "Ally Skills Training", + "slug": "ally-skills-training", + "language": "en", + "url": "https://www.open.edu/openlearn/money-business/diversity-and-inclusion-the-workplace/content-section-overview?active-tab=description-tab", + "provider": 41, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 201, + "fields": { + "name": "Accelerator and GPU programming", + "slug": "accelerator-and-gpu-programming", + "language": "en", + "url": "https://medium.com/@mahdiall99/gpu-programming-a-brief-introduction-1150f8a53f15", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 202, + "fields": { + "name": "academic writing workshops/courses", + "slug": "academic-writing-workshopscourses", + "language": "en", + "url": "https://www.google.com/search?q=academic+writing+workshops+courses+near+me", + "provider": null, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 203, + "fields": { + "name": "A guide to using virtual events to facilitate community building: Selecting and testing online tools", + "slug": "a-guide-to-using-virtual-events-to-facilitate-community-building-selecting-and-testing-online-tools", + "language": "en", + "url": "https://zenodo.org/records/4521211", + "provider": 56, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 204, + "fields": { + "name": "3 metrics to measure your open source community health", + "slug": "3-metrics-to-measure-your-open-source-community-health", + "language": "en", + "url": "https://opensource.com/article/20/3/community-metrics", + "provider": 7, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 205, + "fields": { + "name": "10 ways to be respectful", + "slug": "10-ways-to-be-respectful", + "language": "en", + "url": "https://www.uwl.ac.uk/student-life/building-uwl-community/10-ways-be-respectful", + "provider": 17, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 206, + "fields": { + "name": "10 simple rules for writing '10 Simple Rules' papers", + "slug": "10-simple-rules-for-writing-10-simple-rules-papers", + "language": "en", + "url": "https://scientistseessquirrel.wordpress.com/2023/10/31/10-simple-rules-for-writing-10-simple-rules-papers/", + "provider": 11, + "description": "" + } + }, + { + "model": "main.learningresource", + "pk": 207, + "fields": { + "name": "Reproducible computational environment with Docker", + "slug": "reproducible-computational-environment-with-docker", + "language": "en", + "url": "https://reproducibility.rocks/materials/day4/01-docker/", + "provider": 37, + "description": "" + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 1, + "fields": { + "name": "Zotero", + "description": "A free easy-to-use tool to help you collect organise cite and share research.", + "slug": "zotero", + "kind": "tool", + "url": "https://www.zotero.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 2, + "fields": { + "name": "Zip files", + "description": "An archive file format that supports lossless data compression. ", + "slug": "zip-files", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/ZIP_(file_format)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 3, + "fields": { + "name": "YouTube", + "description": "An online video sharing platform owned by Google.", + "slug": "youtube", + "kind": "tool", + "url": "https://www.youtube.com", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 4, + "fields": { + "name": "YAML", + "description": "A human-friendly data serialisation standard for all programming languages.", + "slug": "yaml", + "kind": "language", + "url": "https://yaml.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 5, + "fields": { + "name": "Yacc", + "description": "A parser generator tool for Unix-like systems, generating C source code.", + "slug": "yacc", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Yacc", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 6, + "fields": { + "name": "XQuery", + "description": "A query and functional programming language that queries collections of XML data.", + "slug": "xquery", + "kind": "language", + "url": "https://www.w3.org/TR/xquery-31/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 7, + "fields": { + "name": "XML databases", + "description": "Systems that allow data to be stored in XML format and queried.", + "slug": "xml-databases", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/XML_database", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 8, + "fields": { + "name": "XML", + "description": "A markup language that defines a set of rules for encoding documents in a format that is both human- and machine-readable.", + "slug": "xml", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/XML", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 9, + "fields": { + "name": "XGBoost", + "description": "An optimised distributed gradient boosting library designed to be highly efficient flexible and portable.", + "slug": "xgboost", + "kind": "tool", + "url": "https://xgboost.ai/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 10, + "fields": { + "name": "xCAT", + "description": "An open-source tool for automating deployment, scaling, and management of bare metal servers and virtual machines.", + "slug": "xcat", + "kind": "tool", + "url": "https://xcat.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 11, + "fields": { + "name": "Xamarin", + "description": "An open-source platform for building modern and performant applications for iOS Android and Windows with .NET.", + "slug": "xamarin", + "kind": "tool", + "url": "https://dotnet.microsoft.com/en-us/apps/xamarin", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 12, + "fields": { + "name": "X", + "description": "Formerly Twitter, a microblogging and social media network.", + "slug": "x", + "kind": "tool", + "url": "https://x.com", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 13, + "fields": { + "name": "Writing blog posts", + "description": "The practice of creating short informal articles for digital distribution.", + "slug": "writing-blog-posts", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Blog", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 14, + "fields": { + "name": "Workspace management", + "description": "The collection of relevant data to create workspaces that efficiently accommodate both employees and equipment.", + "slug": "workspace-management", + "kind": "methodology", + "url": "https://www.witco.io/blog/guide-to-workspace-management", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 15, + "fields": { + "name": "WordPress", + "description": "An open-source web content management system written in PHP.", + "slug": "wordpress", + "kind": "tool", + "url": "https://wordpress.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 16, + "fields": { + "name": "Wireframing", + "description": "A visual guide that represents the skeletal framework of a website.", + "slug": "wireframing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Website_wireframe", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 17, + "fields": { + "name": "WildFly", + "description": "A fast, lightweight, open-source Java application server from Red Hat, implementing Jakarta EE (formerly Java EE) and MicroProfile standards.", + "slug": "wildfly", + "kind": "tool", + "url": "https://www.wildfly.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 18, + "fields": { + "name": "WebSocket", + "description": "A computer communications protocol providing full-duplex communication channels over a single TCP connection.", + "slug": "websocket", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/WebSocket", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 19, + "fields": { + "name": "Webscraping", + "description": "The process of using bots to extract content and data from a website.", + "slug": "webscraping", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Web_scraping", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 20, + "fields": { + "name": "WDL", + "description": "Workflow Description Language a way to specify data processing workflows.", + "slug": "wdl", + "kind": "language", + "url": "https://openwdl.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 21, + "fields": { + "name": "WCAG", + "description": "The Web Content Accessibility Guidelines for making web content more accessible to people with disabilities.", + "slug": "wcag", + "kind": "methodology", + "url": "https://www.w3.org/WAI/standards-guidelines/wcag/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 22, + "fields": { + "name": "WAVE", + "description": "A suite of evaluation tools that helps authors make their web content more accessible.", + "slug": "wave", + "kind": "tool", + "url": "https://wave.webaim.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 23, + "fields": { + "name": "Waterfall", + "description": "The process of performing the typical software development life cycle phases in sequential order.", + "slug": "waterfall", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Waterfall_model", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 24, + "fields": { + "name": "Warewulf", + "description": "A stateless cluster management suite designed for high-performance computing.", + "slug": "warewulf", + "kind": "tool", + "url": "https://warewulf.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 25, + "fields": { + "name": "Vulnerability management", + "description": "Vulnerability management is a continuous and proactive process of identifying, assessing and addressing security weaknesses in IT systems throughout their lifecycle.", + "slug": "vulnerability-management", + "kind": "methodology", + "url": "https://www.ncsc.gov.uk/collection/vulnerability-management", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 26, + "fields": { + "name": "Vue", + "description": "A progressive framework for building user interfaces using JavaScript.", + "slug": "vue", + "kind": "tool", + "url": "https://vuejs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 27, + "fields": { + "name": "VMware", + "description": "A provider of cloud computing and virtualisation software and services.", + "slug": "vmware", + "kind": "tool", + "url": "https://www.vmware.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 28, + "fields": { + "name": "VirtualBox", + "description": "A powerful x86 and AMD64/Intel64 virtualisation product for enterprise and home use.", + "slug": "virtualbox", + "kind": "tool", + "url": "https://www.virtualbox.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 29, + "fields": { + "name": "Vampir", + "description": "A tool for the visualisation and analysis of the behavior of complex parallel applications.", + "slug": "vampir", + "kind": "tool", + "url": "https://vampir.eu/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 30, + "fields": { + "name": "Valgrind", + "description": "An instrumentation framework for building dynamic analysis tools for memory debugging.", + "slug": "valgrind", + "kind": "tool", + "url": "https://valgrind.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 31, + "fields": { + "name": "Unsupervised learning", + "description": "A type of algorithm that learns patterns from untagged data.", + "slug": "unsupervised-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Unsupervised_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 32, + "fields": { + "name": "Unix Domain Sockets", + "description": "A data communications endpoint for exchanging data between processes executing on the same host.", + "slug": "unix-domain-sockets", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Unix_domain_socket", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 33, + "fields": { + "name": "Unix", + "description": "A modular operating system standard that promoted open development and influenced modern computing.", + "slug": "unix", + "kind": "tool", + "url": "https://www.opengroup.org/unix", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 34, + "fields": { + "name": "Unit testing", + "description": "A software testing method by which individual units of source code are tested to determine if they are fit for use.", + "slug": "unit-testing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Unit_testing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 35, + "fields": { + "name": "Understanding and defining community roles", + "description": "Identifying responsibilities and expectations of individuals or groups within a community to support effective participation, collaboration, and shared goals.", + "slug": "understanding-and-defining-community-roles", + "kind": "methodology", + "url": "https://guidebook.theopensourceway.org/growing-contributors/understanding-community-roles", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 36, + "fields": { + "name": "UML", + "description": "Unified Modeling Language providing a standard way to visualise the design of a system.", + "slug": "uml", + "kind": "language", + "url": "https://www.uml.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 37, + "fields": { + "name": "UDP", + "description": "User Datagram Protocol (UDP) is fast, lightweight, connectionless transport layer protocol used in IT networks that prioritises speed over reliability by sending data (datagrams) immediately without establishing a connection with no guarantee of packet delivery, ordering or error correction. ", + "slug": "udp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/User_Datagram_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 38, + "fields": { + "name": "TypeScript", + "description": "A high-level programming language that adds static typing with optional type annotations to JavaScript.", + "slug": "typescript", + "kind": "language", + "url": "https://www.typescriptlang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 39, + "fields": { + "name": "Triple stores", + "description": "A purpose-built database for the storage and retrieval of triples through semantic queries.", + "slug": "triple-stores", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Triplestore", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 40, + "fields": { + "name": "Trello", + "description": "A web-based Kanban-style list-making application for project management.", + "slug": "trello", + "kind": "tool", + "url": "https://trello.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 41, + "fields": { + "name": "Travis CI", + "description": "A hosted continuous integration service used to build and test software projects hosted on sites like GitHub.", + "slug": "travis-ci", + "kind": "tool", + "url": "https://www.travis-ci.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 42, + "fields": { + "name": "Transfer Learning", + "description": "A machine learning technique where a model developed for a task is reused as the starting point for a second task.", + "slug": "transfer-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Transfer_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 43, + "fields": { + "name": "TOML", + "description": "Tom's Obvious, Minimal Language (TOML) is a file format for configuration files that is easy to read.", + "slug": "toml", + "kind": "language", + "url": "https://toml.io/en/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 44, + "fields": { + "name": "Toad", + "description": "A database management toolset from Quest used for application development and administration.", + "slug": "toad", + "kind": "tool", + "url": "https://www.quest.com/products/toad/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 45, + "fields": { + "name": "TkInter", + "description": "The standard Python interface to the Tk GUI toolkit which is bundled with Python by default.", + "slug": "tkinter", + "kind": "tool", + "url": "https://docs.python.org/3/library/tkinter.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 46, + "fields": { + "name": "Time management", + "description": "The process of planning and controlling how you spend your time to increase efficiency, productivity, and effectiveness.", + "slug": "time-management", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Time_management", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 47, + "fields": { + "name": "Test Driven Development", + "description": "A software development process relying on the repetition of a very short development cycle.", + "slug": "test-driven-development", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Test-driven_development", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 48, + "fields": { + "name": "Tesseract", + "description": "An open source optical character recognition engine for various operating systems.", + "slug": "tesseract", + "kind": "tool", + "url": "https://github.com/tesseract-ocr/tesseract", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 49, + "fields": { + "name": "Terraform", + "description": "An infrastructure as code tool that lets you build change and version cloud resources safely.", + "slug": "terraform", + "kind": "tool", + "url": "https://www.terraform.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 50, + "fields": { + "name": "TensorFlow-GAN", + "description": "A lightweight library for training and evaluating Generative Adversarial Networks.", + "slug": "tensorflow-gan", + "kind": "tool", + "url": "https://github.com/tensorflow/gan", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 51, + "fields": { + "name": "TensorFlow", + "description": "An end-to-end open source platform for machine learning developed by Google.", + "slug": "tensorflow", + "kind": "tool", + "url": "https://www.tensorflow.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 52, + "fields": { + "name": "Technical or scientific reports", + "description": "A technical report is a formal, structured document that conveys, analyses, and explains technical, scientific, or research information, focusing on processes, results, and recommendations", + "slug": "technical-or-scientific-reports", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Technical_report", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 53, + "fields": { + "name": "Technical documentation", + "description": "Technical documentation is the structured creation of materials (manuals, guides, FAQs, API documentation) that describe the functionality, architecture, and usage of a product, system, or service", + "slug": "technical-documentation", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Technical_documentation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 54, + "fields": { + "name": "TCP", + "description": "Fundamental, connection-oriented transport layer protocol that ensures reliable, ordered, and error-checked delivery of data between applications over IP networks.", + "slug": "tcp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Internet_protocol_suite", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 55, + "fields": { + "name": "TAU", + "description": "The Tuning and Analysis Utilities used for performance analysis of parallel programs.", + "slug": "tau", + "kind": "tool", + "url": "https://www.cs.uoregon.edu/research/tau/home.php", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 56, + "fields": { + "name": "Tailwind", + "description": "A utility-first CSS framework for rapidly building custom user interfaces.", + "slug": "tailwind", + "kind": "tool", + "url": "https://tailwindcss.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 57, + "fields": { + "name": "Systematic literature review", + "description": "A rigorous, transparent, and reproducible methodology used to identify, select, and critically appraise all relevant research on a specific, narrowly defined question.", + "slug": "systematic-literature-review", + "kind": "methodology", + "url": "https://subjects.library.manchester.ac.uk/systematic-reviews/What", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 58, + "fields": { + "name": "System testing", + "description": "The process of testing an integrated hardware and software system to verify it meets requirements.", + "slug": "system-testing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/System_testing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 59, + "fields": { + "name": "System on a chip (SoC)", + "description": "An integrated circuit that integrates all components of a computer or other electronic system.", + "slug": "system-on-a-chip-soc", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/System_on_a_chip", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 60, + "fields": { + "name": "Synchronisation and concurrency control", + "description": "Coordinating parallel tasks to ensure correct execution while minimising synchronisation overhead and contention.", + "slug": "synchronisation-and-concurrency-control", + "kind": "methodology", + "url": "https://algocademy.com/blog/an-introduction-to-synchronization-algorithms-ensuring-harmony-in-concurrent-systems/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 61, + "fields": { + "name": "Sylc", + "description": "Open source singularity", + "slug": "sylc", + "kind": "tool", + "url": "https://sylabs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 62, + "fields": { + "name": "SYCL", + "description": "C++ programming for heterogeneous parallel computing.", + "slug": "sycl", + "kind": "tool", + "url": "https://www.khronos.org/sycl/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 63, + "fields": { + "name": "Swift", + "description": "A general-purpose compiled programming language developed by Apple.", + "slug": "swift", + "kind": "language", + "url": "https://www.swift.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 64, + "fields": { + "name": "svn", + "description": "Apache Subversion (often abbreviated SVN, after its command name svn) is a version control system that predates Git.", + "slug": "svn", + "kind": "tool", + "url": "https://subversion.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 65, + "fields": { + "name": "Svelte", + "description": "A free and open-source component-based front-end software framework and language.", + "slug": "svelte", + "kind": "tool", + "url": "https://svelte.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 66, + "fields": { + "name": "SurveyMonkey", + "description": "An online survey development cloud-based software as a service company.", + "slug": "surveymonkey", + "kind": "tool", + "url": "https://www.surveymonkey.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 67, + "fields": { + "name": "Supervised learning", + "description": "The machine learning task of learning a function that maps an input to an output based on example input-output pairs.", + "slug": "supervised-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Supervised_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 68, + "fields": { + "name": "styler", + "description": "An R package that formats your code according to the tidyverse style guide.", + "slug": "styler", + "kind": "tool", + "url": "https://styler.r-lib.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 69, + "fields": { + "name": "Streamlit", + "description": "An open-source Python library that makes it easy to create custom web apps for machine learning.", + "slug": "streamlit", + "kind": "tool", + "url": "https://streamlit.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 70, + "fields": { + "name": "Storage performance management", + "description": "Monitoring, analysis and optimisation of storage system performance to maintain efficient data access, throughput and latency. ", + "slug": "storage-performance-management", + "kind": "methodology", + "url": "https://www.brendangregg.com/systems-performance-2nd-edition-book.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 71, + "fields": { + "name": "Storage hardware", + "description": "Physical hardware used to record and store data (e.g. HDD, SSD).", + "slug": "storage-hardware", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Computer_data_storage", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 72, + "fields": { + "name": "Storage architecture", + "description": "Storage architecture defines how data is stored, accessed, and managed within a computing environment, with primary types including Direct-Attached Storage (DAS), Network-Attached Storage (NAS), and Storage Area Network (SAN). ", + "slug": "storage-architecture", + "kind": "methodology", + "url": "https://www.xbyte.com/blog/understanding-the-three-common-storage-architecture-types/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 73, + "fields": { + "name": "Static program analysis", + "description": "Examining code without executing it to find errors or style issues.", + "slug": "static-program-analysis", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Static_program_analysis", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 74, + "fields": { + "name": "Stata", + "description": "A general-purpose statistical software package used for data science and econometrics.", + "slug": "stata", + "kind": "tool", + "url": "https://www.stata.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 75, + "fields": { + "name": "Stakeholder analysis", + "description": "The process of identifying and understanding the requirements of people invested in a project.", + "slug": "stakeholder-analysis", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Stakeholder_analysis", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 76, + "fields": { + "name": "SSL/TLS", + "description": "SSL (Secure Sockets Layer) and TLS (Transport Layer Security) are cryptographic protocols that secure communications over networks by encrypting data to ensure privacy, data integrity and authentication.", + "slug": "ssltls", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Transport_Layer_Security", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 77, + "fields": { + "name": "SSH", + "description": "Secure Shell Protocol (SSH Protocol) is a cryptographic network protocol for operating network services securely over an unsecured network - tyically used for remote login and command-line execution.", + "slug": "ssh", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Secure_Shell", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 78, + "fields": { + "name": "SQLite", + "description": "A small, fast, self-contained, high-reliability, full-featured, SQL database engine.", + "slug": "sqlite", + "kind": "tool", + "url": "https://sqlite.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 79, + "fields": { + "name": "SQL Server", + "description": "A relational database management system developed by Microsoft.", + "slug": "sql-server", + "kind": "tool", + "url": "https://www.microsoft.com/sql-server", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 80, + "fields": { + "name": "SQL", + "description": "Structured Query Language a standard language for managing relational databases.", + "slug": "sql", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/SQL", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 81, + "fields": { + "name": "SPSS", + "description": "A software package used for interactive or batched statistical analysis.", + "slug": "spss", + "kind": "tool", + "url": "https://www.ibm.com/products/spss-statistics", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 82, + "fields": { + "name": "Spreadsheets", + "description": "A spreadsheet is a computer application for entry, organisation, analysis and storage of data in tabular form.", + "slug": "spreadsheets", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Spreadsheet", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 83, + "fields": { + "name": "Sphynx", + "description": "A tool that makes it easy to create intelligent and beautiful documentation for Python projects.", + "slug": "sphynx", + "kind": "tool", + "url": "https://www.sphinx-doc.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 84, + "fields": { + "name": "SPARQL", + "description": "An RDF query language and data access protocol for the semantic web.", + "slug": "sparql", + "kind": "language", + "url": "https://www.w3.org/TR/sparql11-query/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 85, + "fields": { + "name": "Spack.io", + "description": "A multi-platform package manager that builds and installs multiple versions and configurations of software.", + "slug": "spack-io", + "kind": "tool", + "url": "https://spack.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 86, + "fields": { + "name": "Sonarqube", + "description": "An open-source, static code analysis platform for continuous inspection of code quality and security.", + "slug": "sonarqube", + "kind": "tool", + "url": "https://www.sonarsource.com/products/sonarqube/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 87, + "fields": { + "name": "Software quality practices", + "description": "Data that describes the attributes of software quality such as reliability or test coverage.", + "slug": "software-quality-practices", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Software_quality", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 88, + "fields": { + "name": "Software Management Plans", + "description": "Formal documents describing how software will be developed maintained and preserved.", + "slug": "software-management-plans", + "kind": "methodology", + "url": "https://software.ac.uk/software-management-plans", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 89, + "fields": { + "name": "SOAP", + "description": "An XML-based messaging protocol specification for exchanging structured information in the implementation of web services.", + "slug": "soap", + "kind": "language", + "url": "https://www.w3schools.com/xml/xml_soap.asp", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 90, + "fields": { + "name": "Snakemake", + "description": "A workflow management system that creates reproducible and scalable data analyses.", + "slug": "snakemake", + "kind": "tool", + "url": "https://snakemake.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 91, + "fields": { + "name": "Snakefiles", + "description": "The configuration files used by the Snakemake workflow management system.", + "slug": "snakefiles", + "kind": "language", + "url": "https://snakemake.readthedocs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 92, + "fields": { + "name": "SMTP", + "description": "Simple Mail Transfer Protocol the standard for email transmission.", + "slug": "smtp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 93, + "fields": { + "name": "Smalltalk", + "description": "An object-oriented dynamically typed reflective programming language.", + "slug": "smalltalk", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/Smalltalk", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 94, + "fields": { + "name": "Simple Linux Utility for Resource Management (SLURM)", + "description": "An open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters.", + "slug": "simple-linux-utility-for-resource-management-slurm", + "kind": "tool", + "url": "https://slurm.schedmd.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 95, + "fields": { + "name": "SLURM accounting tools", + "description": "Tools used to track and report resource usage within a SLURM cluster.", + "slug": "slurm-accounting-tools", + "kind": "tool", + "url": "https://slurm.schedmd.com/accounting.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 96, + "fields": { + "name": "Slack", + "description": "A cloud-based proprietary instant messaging platform for team communication.", + "slug": "slack", + "kind": "tool", + "url": "https://slack.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 97, + "fields": { + "name": "Singularity", + "description": "A container platform designed to execute applications on HPC clusters safely.", + "slug": "singularity", + "kind": "tool", + "url": "https://docs.sylabs.io/guides/main/user-guide/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 98, + "fields": { + "name": "Single Instruction Multiple Data (SIMD)", + "description": "Vectorised execution model where one instruction operates simultaneously on multiple data elements.", + "slug": "single-instruction-multiple-data-simd", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Single_instruction,_multiple_data", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 99, + "fields": { + "name": "Simulations", + "description": "The use of software like MATLAB or LabVIEW to model real-world processes or systems.", + "slug": "simulations", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Computer_simulation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 100, + "fields": { + "name": "Simplifying technical jargon", + "description": "The skill of explaining complex concepts in accessible language for non-experts.", + "slug": "simplifying-technical-jargon", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Plain_English", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 101, + "fields": { + "name": "SimGrid", + "description": "A scientific framework to simulate the behavior of large-scale distributed systems.", + "slug": "simgrid", + "kind": "tool", + "url": "https://simgrid.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 102, + "fields": { + "name": "Signals", + "description": "Asynchronous notifications sent to a process to notify it of an event or trigger specific behavior.", + "slug": "signals", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Signal_(IPC)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 103, + "fields": { + "name": "Shiny", + "description": "An R package that makes it easy to build interactive web apps directly from R.", + "slug": "shiny", + "kind": "tool", + "url": "https://shiny.posit.co/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 104, + "fields": { + "name": "Shell scripting", + "description": "The process of writing programs for the Unix/Linux shells to automate tasks.", + "slug": "shell-scripting", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Scripting_language", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 105, + "fields": { + "name": "Shared Memory Programming", + "description": "Programming model where multiple threads operate on shared memory space and coordinate through synchronisation mechanisms.", + "slug": "shared-memory-programming", + "kind": "methodology", + "url": "https://vinayak2002590.medium.com/shared-memory-programming-a-concept-to-understand-the-complexity-of-multithreading-493b4b41c3f4", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 106, + "fields": { + "name": "Setting agenda", + "description": "The act of defining the topics to be discussed in a formal meeting.", + "slug": "setting-agenda", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Agenda_(meeting)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 107, + "fields": { + "name": "Server Message Block (SMB) ", + "description": "Server Message Block (SMB) is a communication protocol used to share files, printers and serial ports between nodes on a network.", + "slug": "server-message-block-smb", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Server_Message_Block", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 108, + "fields": { + "name": "Sensors", + "description": "Devices that detect and respond to some type of input from the physical environment.", + "slug": "sensors", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Sensor", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 109, + "fields": { + "name": "Semi-supervised learning", + "description": "An approach to machine learning that combines a small amount of labeled data with a large amount of unlabeled data.", + "slug": "semi-supervised-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Semi-supervised_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 110, + "fields": { + "name": "Semaphores", + "description": "Variables or abstract data types used to coordinate access to shared resources in multitasking environments.", + "slug": "semaphores", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Semaphore_(programming)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 111, + "fields": { + "name": "Self-supervised learning", + "description": "A form of machine learning where the data provides the supervision by leveraging its internal structure.", + "slug": "self-supervised-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Self-supervised_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 112, + "fields": { + "name": "Selenium", + "description": "An open source umbrella project for a range of tools and libraries aimed at supporting browser automation.", + "slug": "selenium", + "kind": "tool", + "url": "https://www.selenium.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 113, + "fields": { + "name": "Seaborn", + "description": "A Python data visualization library based on matplotlib that provides a high-level interface for statistical graphics.", + "slug": "seaborn", + "kind": "tool", + "url": "https://seaborn.pydata.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 114, + "fields": { + "name": "Scrum", + "description": "An agile team collaboration framework commonly used in software development and other industries.", + "slug": "scrum", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Scrum_(project_management)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 115, + "fields": { + "name": "Scikit-learn", + "description": "A free software machine learning library for the Python programming language.", + "slug": "scikit-learn", + "kind": "tool", + "url": "https://scikit-learn.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 116, + "fields": { + "name": "Schema.org", + "description": "A collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet.", + "slug": "schema-org", + "kind": "language", + "url": "https://schema.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 117, + "fields": { + "name": "Scalasca", + "description": "A software tool that supports the performance optimisation of parallel programs by measuring and analyzing their runtime behaviour.", + "slug": "scalasca", + "kind": "tool", + "url": "https://www.scalasca.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 118, + "fields": { + "name": "Scalability analysis", + "description": "Evaluating how application performance changes as the number of processors or nodes increases.", + "slug": "scalability-analysis", + "kind": "methodology", + "url": "https://hpc-wiki.info/hpc/Scaling", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 119, + "fields": { + "name": "SCALA", + "description": "A strong statically typed high-level programming language that scales from small scripts to large systems.", + "slug": "scala", + "kind": "language", + "url": "https://www.scala-lang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 120, + "fields": { + "name": "Satellite hardware", + "description": "The domain involving the development and operation of orbital hardware and data processing.", + "slug": "satellite-hardware", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Satellite", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 121, + "fields": { + "name": "Sass", + "description": "A preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS).", + "slug": "sass", + "kind": "language", + "url": "https://sass-lang.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 122, + "fields": { + "name": "SAS", + "description": "A statistical software suite developed by SAS Institute for data management and analytics.", + "slug": "sas", + "kind": "tool", + "url": "https://www.sas.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 123, + "fields": { + "name": "Rust", + "description": "A multi-paradigm programming language focused on performance and safety especially safe concurrency.", + "slug": "rust", + "kind": "language", + "url": "https://www.rust-lang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 124, + "fields": { + "name": "Ruff", + "description": "An extremely fast Python linter and code formatter.", + "slug": "ruff", + "kind": "tool", + "url": "https://docs.astral.sh/ruff/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 125, + "fields": { + "name": "Ruby on Rails", + "description": "A server-side web application framework written in Ruby.", + "slug": "ruby-on-rails", + "kind": "tool", + "url": "https://rubyonrails.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 126, + "fields": { + "name": "Ruby", + "description": "A dynamic open source programming language with a focus on simplicity and productivity.", + "slug": "ruby", + "kind": "language", + "url": "https://www.ruby-lang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 127, + "fields": { + "name": "RStudio", + "description": "An integrated development environment for R now known as Positron/Posit.", + "slug": "rstudio", + "kind": "tool", + "url": "https://posit.co/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 128, + "fields": { + "name": "Routing and traffic engineering", + "description": "The methods used to determine and control how data is routed and distributed across a network to ensure efficient, reliable, and balanced communication.", + "slug": "routing-and-traffic-engineering", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Traffic_engineering_(telecommunications)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 129, + "fields": { + "name": "Routing algorithms", + "description": "The logic that determines the path of data packets across a network.", + "slug": "routing-algorithms", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Routing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 130, + "fields": { + "name": "Robotics", + "description": "An interdisciplinary branch of computer science and engineering that involves the design of robots.", + "slug": "robotics", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Robotics", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 131, + "fields": { + "name": "Risk matrix", + "description": "Risk assessment to define the level of risk by considering the category of probability.", + "slug": "risk-matrix", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Risk_matrix", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 132, + "fields": { + "name": "REST", + "description": "Representational State Transfer an architectural style for providing standards between computer systems.", + "slug": "rest", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/REST", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 133, + "fields": { + "name": "Remora", + "description": "A tool for monitoring resource utilisation of HPC jobs.", + "slug": "remora", + "kind": "tool", + "url": "https://github.com/TACC/remora", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 134, + "fields": { + "name": "Reinforcement learning", + "description": "An area of machine learning concerned with how intelligent agents ought to take actions in an environment.", + "slug": "reinforcement-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Reinforcement_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 135, + "fields": { + "name": "Regular expressions", + "description": "A sequence of characters that specifies a search pattern in text.", + "slug": "regular-expressions", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Regular_expression", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 136, + "fields": { + "name": "Regression", + "description": "A set of statistical processes for estimating the relationships between a dependent variable and independent variables.", + "slug": "regression", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Regression_analysis", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 137, + "fields": { + "name": "Preregistration", + "description": "The process of formally documenting a research study or clinical trial before it begins.", + "slug": "preregistration", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Preregistration_(science)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 138, + "fields": { + "name": "ReFrame", + "description": "A framework for writing regression tests for HPC systems.", + "slug": "reframe", + "kind": "tool", + "url": "https://reframe-hpc.readthedocs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 139, + "fields": { + "name": "Reference management", + "description": "A process of collecting, storing, organising, annotating bibliograpgic references that can be shared and used for citing work.", + "slug": "reference-management", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Reference_management_software", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 140, + "fields": { + "name": "Redis", + "description": "An in-memory data structure store used as a distributed cache and message broker.", + "slug": "redis", + "kind": "tool", + "url": "https://redis.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 141, + "fields": { + "name": "RedHat Cluster Suite", + "description": "A set of software components that allow a group of computers to work together as a cluster.", + "slug": "redhat-cluster-suite", + "kind": "tool", + "url": "https://www.redhat.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 142, + "fields": { + "name": "Recording clear actions", + "description": "Documenting specific outcomes and responsibilities during meetings.", + "slug": "recording-clear-actions", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Minutes", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 143, + "fields": { + "name": "Recognising stereotypes", + "description": "The pre-reflective attribution of particular qualities by an individual to a member of some social out group.", + "slug": "recognising-stereotypes", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Implicit_stereotype", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 144, + "fields": { + "name": "README", + "description": "A text file containing information about the other files in a directory or software package.", + "slug": "readme", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/README", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 145, + "fields": { + "name": "Read the Docs", + "description": "An open-source free software documentation hosting platform.", + "slug": "read-the-docs", + "kind": "tool", + "url": "https://readthedocs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 146, + "fields": { + "name": "React Native", + "description": "A framework for building native applications using React.", + "slug": "react-native", + "kind": "tool", + "url": "https://reactnative.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 147, + "fields": { + "name": "React", + "description": "A JavaScript library for building user interfaces maintained by Meta.", + "slug": "react", + "kind": "tool", + "url": "https://react.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 148, + "fields": { + "name": "RDF", + "description": "The Resource Description Framework a standard for model data interchange on the web.", + "slug": "rdf", + "kind": "methodology", + "url": "https://www.w3.org/RDF/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 149, + "fields": { + "name": "Rayyan", + "description": "AI-powered systematic review management platform\n", + "slug": "rayyan", + "kind": "tool", + "url": "https://www.rayyan.ai/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 150, + "fields": { + "name": "Ray", + "description": "An open-source unified framework for scaling AI and Python applications.", + "slug": "ray", + "kind": "tool", + "url": "https://www.ray.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 151, + "fields": { + "name": "Raspberry Pi", + "description": "A series of small single-board computers developed to promote teaching of basic computer science.", + "slug": "raspberry-pi", + "kind": "tool", + "url": "https://www.raspberrypi.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 152, + "fields": { + "name": "Radars", + "description": "Object-detection systems that use radio waves to determine the range and velocity of objects.", + "slug": "radars", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Radar", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 153, + "fields": { + "name": "R Markdown", + "description": "A file format for making dynamic documents with R.", + "slug": "r-markdown", + "kind": "tool", + "url": "https://rmarkdown.rstudio.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 154, + "fields": { + "name": "R", + "description": "A programming language and free software environment for statistical computing and graphics.", + "slug": "r", + "kind": "language", + "url": "https://www.r-project.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 155, + "fields": { + "name": "Querying an API", + "description": "The act of requesting data from or sending data to a remote application interface.", + "slug": "querying-an-api", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/API", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 156, + "fields": { + "name": "Quarto", + "description": "An open-source scientific and technical publishing system built on Pandoc.", + "slug": "quarto", + "kind": "tool", + "url": "https://quarto.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 157, + "fields": { + "name": "Quantitative methods", + "description": "Research methods focused on numerical data (quantitative).", + "slug": "quantitative-methods", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Quantitative_research", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 158, + "fields": { + "name": "Qualtrics", + "description": "An experience management platform used for complex survey research and data analysis.", + "slug": "qualtrics", + "kind": "tool", + "url": "https://www.qualtrics.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 159, + "fields": { + "name": "Qualitative methods", + "description": "Research methods focused on non-numerical data (qualitative).", + "slug": "qualitative-methods", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Qualitative_research", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 160, + "fields": { + "name": "Qt", + "description": "A cross-platform software framework for creating graphical user interfaces and various applications.", + "slug": "qt", + "kind": "tool", + "url": "https://www.qt.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 161, + "fields": { + "name": "PyUnit", + "description": "The standard unit testing framework for Python also known as unittest.", + "slug": "pyunit", + "kind": "tool", + "url": "https://docs.python.org/3/library/unittest.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 162, + "fields": { + "name": "PyTorch GAN", + "description": "A Generative Adversarial Network (GAN) built using PyTorch to perform generative machine learning such as human faces.", + "slug": "pytorch-gan", + "kind": "tool", + "url": "https://github.com/eriklindernoren/Pytorch-GAN", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 163, + "fields": { + "name": "PyTorch", + "description": "An open-source machine learning framework based on the Torch library.", + "slug": "pytorch", + "kind": "tool", + "url": "https://pytorch.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 164, + "fields": { + "name": "Python", + "description": "A high-level interpreted general-purpose programming language.", + "slug": "python", + "kind": "language", + "url": "https://www.python.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 165, + "fields": { + "name": "Pytest", + "description": "A framework that makes it easy to write small readable tests for Python code.", + "slug": "pytest", + "kind": "tool", + "url": "https://docs.pytest.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 166, + "fields": { + "name": "PySide", + "description": "The official Python module from the Qt project providing access to the complete Qt framework.", + "slug": "pyside", + "kind": "tool", + "url": "https://www.qt.io/qt-for-python", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 167, + "fields": { + "name": "PyQt", + "description": "A set of Python bindings for the Qt application framework developed by Riverbank Computing.", + "slug": "pyqt", + "kind": "tool", + "url": "https://www.riverbankcomputing.com/software/pyqt/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 168, + "fields": { + "name": "PyPI", + "description": "The Python Package Index a repository of software for the Python programming language.", + "slug": "pypi", + "kind": "tool", + "url": "https://pypi.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 169, + "fields": { + "name": "Pulumi", + "description": "An infrastructure as code tool that allows using familiar programming languages to manage cloud resources.", + "slug": "pulumi", + "kind": "tool", + "url": "https://www.pulumi.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 170, + "fields": { + "name": "Pull requests", + "description": "A human-centric process for proposing changes to a repository and discussing them before integration.", + "slug": "pull-requests", + "kind": "methodology", + "url": "https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 171, + "fields": { + "name": "Public key certificates", + "description": "Public key certificates (or digital certificates) are electronic documents that bind a public key to an entity (user, device, or organization) to prove their identity in cryptographic transactions", + "slug": "public-key-certificates", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Public_key_certificate", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 172, + "fields": { + "name": "Prompt engineering", + "description": "The process of optimising text input to guide large language models toward desired outputs.", + "slug": "prompt-engineering", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Prompt_engineering", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 173, + "fields": { + "name": "Prometheus", + "description": "An open-source systems monitoring and alerting toolkit originally built at SoundCloud.", + "slug": "prometheus", + "kind": "tool", + "url": "https://prometheus.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 174, + "fields": { + "name": "PROLOG", + "description": "A logic programming language associated with artificial intelligence and computational linguistics.", + "slug": "prolog", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/Prolog", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 175, + "fields": { + "name": "Procedural programming", + "description": "A programming paradigm derived from structured programming based on the concept of the procedure call.", + "slug": "procedural-programming", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Procedural_programming", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 176, + "fields": { + "name": "PRINCE2", + "description": "A globally recognised structured project management method offering clear, easy to follow guidance for managing projects effectively to ensure project success.", + "slug": "prince2", + "kind": "methodology", + "url": "https://www.prince2.com/uk", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 177, + "fields": { + "name": "Presentations", + "description": "A demonstration, lecture or speach, typically prepared and delivered with slides or other visual aids.", + "slug": "presentations", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Presentation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 178, + "fields": { + "name": "Postman", + "description": "An API platform for developers to design build test and iterate their APIs.", + "slug": "postman", + "kind": "tool", + "url": "https://www.postman.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 179, + "fields": { + "name": "PostgreSQL", + "description": "A free and open-source relational database management system emphasising extensibility and SQL compliance.", + "slug": "postgresql", + "kind": "tool", + "url": "https://www.postgresql.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 180, + "fields": { + "name": "Post-processing", + "description": "Analysing and visualising outputs from large-scale (domain-specific) simulations or computations directly on high-performance infrastructure. ", + "slug": "post-processing", + "kind": "methodology", + "url": "https://link.springer.com/book/10.1007/978-3-030-33495-6", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 181, + "fields": { + "name": "POSIX threads", + "description": "A POSIX standard for threads commonly known as Pthreads.", + "slug": "posix-threads", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Pthreads", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 182, + "fields": { + "name": "POSIX file permissions", + "description": "The standard for defining access rights to files and directories in Unix-like systems.", + "slug": "posix-file-permissions", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/File-system_permissions", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 183, + "fields": { + "name": "Portable Batch System (PBS)", + "description": "A computer software that performs job scheduling in high-performance computing.", + "slug": "portable-batch-system-pbs", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Portable_Batch_System", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 184, + "fields": { + "name": "POP3", + "description": "An internet standard protocol used by local e-mail clients to retrieve e-mail from a remote server over a TCP/IP connection.", + "slug": "pop3", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Post_Office_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 185, + "fields": { + "name": "Pomodoro", + "description": "A time management technique to break work into intervals, typically 25 minutes in length, separated by short breaks.", + "slug": "pomodoro", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Pomodoro_Technique", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 186, + "fields": { + "name": "Podman", + "description": "An open-source daemonless container engine for developing managing and running OCI Containers.", + "slug": "podman", + "kind": "tool", + "url": "https://podman.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 187, + "fields": { + "name": "Podcasts", + "description": "An episodic series of audio recordings on a given topic, typically a discussion led by a regular host.", + "slug": "podcasts", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Podcast", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 188, + "fields": { + "name": "PHP", + "description": "A general-purpose scripting language geared towards web development.", + "slug": "php", + "kind": "language", + "url": "https://www.php.net/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 189, + "fields": { + "name": "pf", + "description": "A BSD licensed stateful packet filter.", + "slug": "pf", + "kind": "tool", + "url": "https://www.openbsd.org/faq/pf/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 190, + "fields": { + "name": "Persistent identifiers (PID)", + "description": "Long-lasting references to a digital resource.", + "slug": "persistent-identifiers-pid", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Persistent_identifier", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 191, + "fields": { + "name": "Pascal", + "description": "An imperative and procedural programming language intended to encourage good programming practices.", + "slug": "pascal", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/Pascal_(programming_language)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 192, + "fields": { + "name": "Parsl", + "description": "A flexible and scalable parallel programming library for Python.", + "slug": "parsl", + "kind": "tool", + "url": "https://parsl-project.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 193, + "fields": { + "name": "Paraver", + "description": "A package devoted to generate Paraver trace-files for a post-mortem analysis of parallel applications.", + "slug": "paraver", + "kind": "tool", + "url": "https://tools.bsc.es/paraver", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 194, + "fields": { + "name": "Parallel File Systems", + "description": "A high-performance, scalable storage architecture that allows multiple clients or compute nodes to access the same files simultaneously.", + "slug": "parallel-file-systems", + "kind": "methodology", + "url": "https://www.datacore.com/glossary/parallel-file-systems/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 195, + "fields": { + "name": "Parallel (data and task) decomposition", + "description": "Breaking a computational problem into smaller tasks that can be executed concurrently across multiple processors or threads.", + "slug": "parallel-data-and-task-decomposition", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Task_parallelism", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 196, + "fields": { + "name": "Paper Digest", + "description": "AI journal article summariser", + "slug": "paper-digest", + "kind": "tool", + "url": "https://www.paperdigest.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 197, + "fields": { + "name": "Pandas", + "description": "A fast flexible and expressive data structure library designed for relational and labeled data in Python.", + "slug": "pandas", + "kind": "tool", + "url": "https://pandas.pydata.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 198, + "fields": { + "name": "Pair programming", + "description": "An agile software development technique in which two programmers work together at one workstation.", + "slug": "pair-programming", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Pair_programming", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 199, + "fields": { + "name": "Packer", + "description": "An open-source tool for creating identical machine images for multiple platforms from a single source configuration.", + "slug": "packer", + "kind": "tool", + "url": "https://www.packer.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 200, + "fields": { + "name": "Overleaf", + "description": "An online collaborative LaTeX editor used for writing and publishing scientific documents.", + "slug": "overleaf", + "kind": "tool", + "url": "https://www.overleaf.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 201, + "fields": { + "name": "Oracle VirtualBox", + "description": "A free and open-source hosted hypervisor for x86 virtualisation.", + "slug": "oracle-virtualbox", + "kind": "tool", + "url": "https://www.virtualbox.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 202, + "fields": { + "name": "Oracle Grid Engine", + "description": "Oracle Grid Engine, previously known as Sun Grid Engine (SGE), is a grid computing computer cluster software system (otherwise known as a batch-queuing system)", + "slug": "oracle-grid-engine", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Oracle_Grid_Engine", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 203, + "fields": { + "name": "Oracle", + "description": "A multi-model database management system produced and marketed by Oracle Corporation.", + "slug": "oracle", + "kind": "tool", + "url": "https://www.oracle.com/database/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 204, + "fields": { + "name": "Optical Character Recognition (OCR)", + "description": "Software used to convert different types of documents into editable and searchable data.", + "slug": "optical-character-recognition-ocr", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Optical_character_recognition", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 205, + "fields": { + "name": "Operating systems", + "description": "System software that manages computer hardware and software resources and provides common services.", + "slug": "operating-systems", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Operating_system", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 206, + "fields": { + "name": "OpenRefine", + "description": "A powerful tool for working with messy data: cleaning it; transforming it from one format into another.", + "slug": "openrefine", + "kind": "tool", + "url": "https://openrefine.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 207, + "fields": { + "name": "OpenMP", + "description": "An application programming interface that supports multi-platform shared-memory multiprocessing programming.", + "slug": "openmp", + "kind": "methodology", + "url": "https://www.openmp.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 208, + "fields": { + "name": "OPeNDAP", + "description": "A data architectural framework and network protocol for structured data systems.", + "slug": "opendap", + "kind": "methodology", + "url": "https://www.opendap.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 209, + "fields": { + "name": "OpenAI", + "description": "An artificial intelligence research laboratory and the platform behind models like GPT.", + "slug": "openai", + "kind": "tool", + "url": "https://openai.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 210, + "fields": { + "name": "OpenACC", + "description": "A programming standard for parallel computing developed by Cray NVIDIA and others.", + "slug": "openacc", + "kind": "methodology", + "url": "https://www.openacc.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 211, + "fields": { + "name": "Open source principles", + "description": "A set of principles derived from open source software development models and applied more broadly to additional industries and domains.", + "slug": "open-source-principles", + "kind": "methodology", + "url": "https://opensource.com/open-source-way", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 212, + "fields": { + "name": "Open formats", + "description": "Published specifications for storing digital data which can be used and implemented by anyone.", + "slug": "open-formats", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Open_format", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 213, + "fields": { + "name": "Onboarding new members", + "description": "The process of helping new employees or collaborators adapt to their new roles.", + "slug": "onboarding-new-members", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Onboarding", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 214, + "fields": { + "name": "OBS", + "description": "A free and open-source cross-platform streaming and recording program.", + "slug": "obs", + "kind": "tool", + "url": "https://obsproject.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 215, + "fields": { + "name": "Object-Oriented Programming (OOP)", + "description": "A programming paradigm based on the concept of \"objects\" which can contain data and code.", + "slug": "object-oriented-programming-oop", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Object-oriented_programming", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 216, + "fields": { + "name": "NVivo", + "description": "A qualitative data analysis software package.", + "slug": "nvivo", + "kind": "tool", + "url": "https://www.qsrinternational.com/nvivo-qualitative-data-analysis-software/home", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 217, + "fields": { + "name": "NVIDIA Nsight", + "description": "A suite of developer tools for debugging and profiling GPU-accelerated applications.", + "slug": "nvidia-nsight", + "kind": "tool", + "url": "https://developer.nvidia.com/nsight-visual-studio-edition", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 218, + "fields": { + "name": "NVIDIA HPC SDK", + "description": "A comprehensive suite of compilers and libraries for GPU-accelerated computing.", + "slug": "nvidia-hpc-sdk", + "kind": "tool", + "url": "https://developer.nvidia.com/hpc-sdk", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 219, + "fields": { + "name": "Nuxt", + "description": "An open-source framework under MIT license that makes web development intuitive and powerful.", + "slug": "nuxt", + "kind": "tool", + "url": "https://nuxt.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 220, + "fields": { + "name": "NumPy", + "description": "Python package for scientific computing.\n", + "slug": "numpy", + "kind": "tool", + "url": "https://numpy.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 221, + "fields": { + "name": "NoSQL", + "description": "A mechanism for storage and retrieval of data that is modeled in means other than tabular relations.", + "slug": "nosql", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/NoSQL", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 222, + "fields": { + "name": "Normalisation", + "description": "The process of adjusting values measured on different scales to a notionally common scale.", + "slug": "normalisation", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Normalization_(statistics)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 223, + "fields": { + "name": "Node.js", + "description": "A free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.", + "slug": "node-js", + "kind": "tool", + "url": "https://nodejs.org/en", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 224, + "fields": { + "name": "Node", + "description": "An open-source cross-platform JavaScript runtime environment.", + "slug": "node", + "kind": "tool", + "url": "https://nodejs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 225, + "fields": { + "name": "nginx", + "description": "An HTTP web server, reverse proxy, content cache, load balancer, TCP/UDP proxy server, and mail proxy server.", + "slug": "nginx", + "kind": "tool", + "url": "https://nginx.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 226, + "fields": { + "name": "nftables", + "description": "Modern Linux kernel packet filtering framework, replacing older tools like iptables, offering a unified syntax for IPv4/IPv6, better performance, and a more flexible rule structure using tables, chains, and rules processed by an in-kernel virtual machine.", + "slug": "nftables", + "kind": "tool", + "url": "https://www.netfilter.org/projects/nftables/index.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 227, + "fields": { + "name": "NFS", + "description": "A distributed file system protocol allowing a user on a client computer to access files over a network.", + "slug": "nfs", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Network_File_System", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 228, + "fields": { + "name": "Nextflow DSL", + "description": "The domain-specific language used within the Nextflow framework.", + "slug": "nextflow-dsl", + "kind": "language", + "url": "https://www.nextflow.io/docs/latest/dsl2.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 229, + "fields": { + "name": "Nextflow", + "description": "A workflow system for writing and executing data-intensive pipelines.", + "slug": "nextflow", + "kind": "tool", + "url": "https://www.nextflow.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 230, + "fields": { + "name": "Next", + "description": "A React framework for building full-stack web applications.", + "slug": "next", + "kind": "tool", + "url": "https://nextjs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 231, + "fields": { + "name": "Neural Networks and Deep Learning", + "description": "A subfield of machine learning inspired by the structure and function of the human brain.", + "slug": "neural-networks-and-deep-learning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Neural_network", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 232, + "fields": { + "name": "Network topology design", + "description": "The design and organisation of network structures that define how nodes are interconnected to optimise scalability, performance, and communication efficiency.", + "slug": "network-topology-design", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Network_topology", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 233, + "fields": { + "name": "Network resilience and fault tolerance", + "description": "The design of networks to maintain operation and recover from failures through redundancy, failover mechanisms, and robust system design.", + "slug": "network-resilience-and-fault-tolerance", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Fault_tolerance", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 234, + "fields": { + "name": "Network performance analysis", + "description": "The measurement and evaluation of key network performance characteristics to assess and optimise data transfer capacity, delay, and overall efficiency.", + "slug": "network-performance-analysis", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Network_performance", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 235, + "fields": { + "name": "Network architecture", + "description": "The design of a computer network including physical and logical layouts.", + "slug": "network-architecture", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Network_architecture", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 236, + "fields": { + "name": "Netlify", + "description": "A platform for automating modern web projects with serverless functions and deployment.", + "slug": "netlify", + "kind": "tool", + "url": "https://www.netlify.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 237, + "fields": { + "name": "NetBox", + "description": "An infrastructure resource modeling tool designed to help manage and document computer networks.", + "slug": "netbox", + "kind": "tool", + "url": "https://netbox.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 238, + "fields": { + "name": "Nest", + "description": "A progressive Node.js framework for building efficient reliable and scalable server-side applications.", + "slug": "nest", + "kind": "tool", + "url": "https://nestjs.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 239, + "fields": { + "name": "Natural Language Processing (NLP)", + "description": "A subfield of AI concerned with the interactions between computers and human languages.", + "slug": "natural-language-processing-nlp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Natural_language_processing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 240, + "fields": { + "name": "Nagios", + "description": "An open-source computer-software application that monitors systems networks and infrastructure.", + "slug": "nagios", + "kind": "tool", + "url": "https://www.nagios.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 241, + "fields": { + "name": "N-tier architecture", + "description": "A logical and physical architecture that divides an application into layers such as presentation logic and data.", + "slug": "n-tier-architecture", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Multitier_architecture", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 242, + "fields": { + "name": "MySQL", + "description": "An open-source relational database management system.", + "slug": "mysql", + "kind": "tool", + "url": "https://www.mysql.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 243, + "fields": { + "name": "Multi-threading", + "description": "The ability of a central processing unit to provide multiple threads of execution concurrently.", + "slug": "multi-threading", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Multithreading_(computer_architecture)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 244, + "fields": { + "name": "Multi-processing", + "description": "The use of two or more central processing units within a single computer system.", + "slug": "multi-processing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Multiprocessing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 245, + "fields": { + "name": "MongoDB", + "description": "A source-available cross-platform document-oriented database program.", + "slug": "mongodb", + "kind": "tool", + "url": "https://www.mongodb.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 246, + "fields": { + "name": "Model-View-Controller (MVC)", + "description": "A software design pattern commonly used for developing user interfaces.", + "slug": "model-view-controller-mvc", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Model\u2013view\u2013controller", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 247, + "fields": { + "name": "Model Evaluation and Validation", + "description": "Methods for assessing how well a machine learning model performs on unseen data.", + "slug": "model-evaluation-and-validation", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Model_selection", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 248, + "fields": { + "name": "Mockito", + "description": "A mocking framework for Java applications that allows the creation of test double objects.", + "slug": "mockito", + "kind": "tool", + "url": "https://site.mockito.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 249, + "fields": { + "name": "Mocha", + "description": "A feature-rich JavaScript test framework running on Node.js and in the browser.", + "slug": "mocha", + "kind": "tool", + "url": "https://mochajs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 250, + "fields": { + "name": "MLflow", + "description": "An open-source platform to manage the ML lifecycle including experimentation and deployment.", + "slug": "mlflow", + "kind": "tool", + "url": "https://mlflow.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 251, + "fields": { + "name": "MkDocs", + "description": "A static site generator that's geared towards building project documentation.", + "slug": "mkdocs", + "kind": "tool", + "url": "https://www.mkdocs.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 252, + "fields": { + "name": "Microsoft Windows", + "description": "A proprietary graphical operating system developed and marketed by Microsoft.", + "slug": "microsoft-windows", + "kind": "tool", + "url": "https://www.microsoft.com/en-gb/windows", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 253, + "fields": { + "name": "Microsoft Teams", + "description": "A team collaboration platform developed by Microsoft as part of the Microsoft 365 suite.", + "slug": "microsoft-teams", + "kind": "tool", + "url": "https://www.microsoft.com/en-us/microsoft-teams/group-chat-software", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 254, + "fields": { + "name": "Microsoft SharePoint", + "description": "A web-based collaborative platform primarily used for building corporate intranets, document and content management, and file sharing.", + "slug": "microsoft-sharepoint", + "kind": "tool", + "url": "https://www.microsoft.com/microsoft-365/sharepoint/collaboration", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 255, + "fields": { + "name": "Microsoft PowerPoint ", + "description": "Presentation software by Microsoft Corporation.", + "slug": "microsoft-powerpoint", + "kind": "tool", + "url": "https://www.microsoft.com/en-gb/microsoft-365/powerpoint", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 256, + "fields": { + "name": "Microsoft Hyper-V", + "description": "A native hypervisor that can create virtual machines on x86-64 systems running Windows.", + "slug": "microsoft-hyper-v", + "kind": "tool", + "url": "https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 257, + "fields": { + "name": "Microsoft Defender", + "description": "A host-based firewall component of Microsoft Windows.", + "slug": "microsoft-defender", + "kind": "tool", + "url": "https://learn.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 258, + "fields": { + "name": "Microsoft Copilot", + "description": "A generative artificial intelligence chatbot developed by Microsoft AI.", + "slug": "microsoft-copilot", + "kind": "tool", + "url": "https://copilot.cloud.microsoft/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 259, + "fields": { + "name": "Microservices", + "description": "An architectural style where an application is developed as a collection of small independent services.", + "slug": "microservices", + "kind": "methodology", + "url": "https://cloud.google.com/learn/what-is-microservices-architecture", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 260, + "fields": { + "name": "Message Passing Parallelism (MPP)", + "description": "Programming model where parallel processes communicate by explicitly sending and receiving messages.", + "slug": "message-passing-parallelism-mpp", + "kind": "methodology", + "url": "https://www.matillion.com/blog/what-is-massively-parallel-processing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 261, + "fields": { + "name": "Message Passing Interface (MPI)", + "description": "A standardised and portable message-passing standard designed to function on parallel computing architectures.", + "slug": "message-passing-interface-mpi", + "kind": "methodology", + "url": "https://www.mpi-forum.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 262, + "fields": { + "name": "Mercurial", + "description": "A free distributed source control management tool.", + "slug": "mercurial", + "kind": "tool", + "url": "https://www.mercurial-scm.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 263, + "fields": { + "name": "Mendeley", + "description": "A company based in London which provides products and services for academic researchers including a reference manager.", + "slug": "mendeley", + "kind": "tool", + "url": "https://www.mendeley.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 264, + "fields": { + "name": "Memory hierarchy and data locality optimisation", + "description": "Designing data structures and access patterns to minimise memory latency and maximise use of caches and local memory.", + "slug": "memory-hierarchy-and-data-locality-optimisation", + "kind": "methodology", + "url": "https://www.researchgate.net/publication/389044560_Memory_Hierarchy_Optimization_Strategies_for_High-_Performance_Computing_Architectures", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 265, + "fields": { + "name": "Memory hierarchies", + "description": "The organisation of computer storage into levels based on response time.", + "slug": "memory-hierarchies", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Memory_hierarchy", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 266, + "fields": { + "name": "Meeting rules", + "description": "Setting rules for effective meetings.", + "slug": "meeting-rules", + "kind": "methodology", + "url": "https://third-bit.com/py-rse/teams.html#teams-meetings", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 267, + "fields": { + "name": "Medical devices", + "description": "Instruments or software used for medical purposes as regulated by healthcare authorities.", + "slug": "medical-devices", + "kind": "tool", + "url": "https://www.who.int/health-topics/medical-devices", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 268, + "fields": { + "name": "Mattermost", + "description": "An open core, self-hosted collaboration platform that offers chat, workflow automation, voice calling, screen sharing, and AI integration.", + "slug": "mattermost", + "kind": "tool", + "url": "https://mattermost.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 269, + "fields": { + "name": "Matplotlib", + "description": "A comprehensive Python library for creating static animated and interactive visualizations.", + "slug": "matplotlib", + "kind": "tool", + "url": "https://matplotlib.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 270, + "fields": { + "name": "MATLAB", + "description": "A proprietary multi-paradigm programming language and numeric computing environment.", + "slug": "matlab", + "kind": "language", + "url": "https://www.mathworks.com/products/matlab.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 271, + "fields": { + "name": "Mathematica", + "description": "A system for technical computing, combining symbolic, numerical, and graphical computation with a vast knowledge base.", + "slug": "mathematica", + "kind": "tool", + "url": "https://www.wolfram.com/mathematica/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 272, + "fields": { + "name": "Mastodon", + "description": "A free open-source self-hosted social networking service.", + "slug": "mastodon", + "kind": "tool", + "url": "https://joinmastodon.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 273, + "fields": { + "name": "Martha's rules", + "description": "A process for discussing and deciding on issues in group meetings", + "slug": "marthas-rules", + "kind": "tool", + "url": "https://third-bit.com/py-rse/teams.html#teams-martha", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 274, + "fields": { + "name": "Markdown", + "description": "A lightweight markup language for creating formatted text using a plain-text editor.", + "slug": "markdown", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/Markdown", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 275, + "fields": { + "name": "Makefiles", + "description": "Files containing a set of directives used by a make build automation tool to generate targets.", + "slug": "makefiles", + "kind": "tool", + "url": "https://www.gnu.org/software/make/manual/make.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 276, + "fields": { + "name": "macOS", + "description": "A proprietary Unix-based operating system, derived from OPENSTEP for Mach and FreeBSD, the current operating system for Apple's Mac computers.", + "slug": "macos", + "kind": "tool", + "url": "https://www.apple.com/uk/os/macos/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 277, + "fields": { + "name": "Machine Learning Frameworks", + "description": "Libraries or tools that provide a standardised way to build and train machine learning models.", + "slug": "machine-learning-frameworks", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Outline_of_machine_learning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 278, + "fields": { + "name": "Lustre", + "description": "A type of parallel distributed file system generally used for large-scale cluster computing.", + "slug": "lustre", + "kind": "tool", + "url": "https://www.lustre.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 279, + "fields": { + "name": "Logic programming", + "description": "A programming paradigm which is largely based on formal logic.", + "slug": "logic-programming", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Logic_programming", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 280, + "fields": { + "name": "Locks", + "description": "Synchronisation primitives that enforce mutual exclusion by allowing only one thread to access a critical section.", + "slug": "locks", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Lock_(computer_science)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 281, + "fields": { + "name": "Load Sharing Facility (LSF)", + "description": "A workload management and job scheduling software for distributed computing environments.", + "slug": "load-sharing-facility-lsf", + "kind": "tool", + "url": "https://www.ibm.com/products/hpc-workload-management", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 282, + "fields": { + "name": "Load balancing", + "description": "Distributing work evenly across processors or nodes to maximise resource utilisation and minimise idle time. Workload distribution is usually decided in the algorithm design but can appear in HPC runtime tuning.", + "slug": "load-balancing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Load_balancing_(computing)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 283, + "fields": { + "name": "Lmod", + "description": "A Lua-based environment modules system that easily handles the MODULEPATH environment variable.", + "slug": "lmod", + "kind": "tool", + "url": "https://lmod.readthedocs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 284, + "fields": { + "name": "LISP", + "description": "A family of programming languages with a long history and a distinctive fully parenthesised prefix notation.", + "slug": "lisp", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/Lisp_(programming_language)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 285, + "fields": { + "name": "Linux", + "description": "An open-source Unix-like operating system kernel and family of distributions based on it.", + "slug": "linux", + "kind": "tool", + "url": "https://www.linux.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 286, + "fields": { + "name": "lintr", + "description": "The canonical way to configure R projects and packages for linting.", + "slug": "lintr", + "kind": "tool", + "url": "https://lintr.r-lib.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 287, + "fields": { + "name": "Linters", + "description": "Tools that check source code against a set of style guidelines.", + "slug": "linters", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Linter_(software)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 288, + "fields": { + "name": "LinkedIn", + "description": "A business and employment-oriented online service for professional networking.", + "slug": "linkedin", + "kind": "tool", + "url": "https://www.linkedin.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 289, + "fields": { + "name": "LightGBM", + "description": "A free and open source distributed gradient boosting framework for machine learning.", + "slug": "lightgbm", + "kind": "tool", + "url": "https://lightgbm.readthedocs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 290, + "fields": { + "name": "Licensing", + "description": "Granting a license to authorise others to use, copy or sell someone's intellectual property (IP) such as software or patented inventions.", + "slug": "licensing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/License", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 291, + "fields": { + "name": "Libraries", + "description": "Collections of non-volatile resources used by computer programs for software development (e.g. MPI OpenMP BLAS).", + "slug": "libraries", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Library_(computing)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 292, + "fields": { + "name": "Lex", + "description": "A tool that generates lexical analysers (converts the stream of characters into tokens).", + "slug": "lex", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Lex_(software)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 293, + "fields": { + "name": "LaTeX", + "description": "A software system for document preparation and high-quality typesetting.", + "slug": "latex", + "kind": "tool", + "url": "https://www.latex-project.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 294, + "fields": { + "name": "Large Language Models (LLM)", + "description": "A type of artificial intelligence algorithm that uses deep learning and large datasets to understand and generate new content.", + "slug": "large-language-models-llm", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Large_language_model", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 295, + "fields": { + "name": "LAPACK", + "description": "A high-performance standard library for numerical linear algebra including routines for linear equations.", + "slug": "lapack", + "kind": "tool", + "url": "https://www.netlib.org/lapack/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 296, + "fields": { + "name": "LangChain", + "description": "A framework designed to simplify the creation of applications using large language models.", + "slug": "langchain", + "kind": "tool", + "url": "https://www.langchain.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 297, + "fields": { + "name": "LabVIEW", + "description": "A system-design platform and development environment for a visual programming language from National Instruments.", + "slug": "labview", + "kind": "tool", + "url": "https://www.ni.com/en-us/shop/labview.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 298, + "fields": { + "name": "Kubernetes", + "description": "An open-source container-orchestration system for automating software deployment scaling and management.", + "slug": "kubernetes", + "kind": "tool", + "url": "https://kubernetes.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 299, + "fields": { + "name": "Kro", + "description": "A tool used for creating and managing data visualisations and diagrams.", + "slug": "kro", + "kind": "tool", + "url": "https://github.com/kro-org/kro", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 300, + "fields": { + "name": "KNIME", + "description": "An open-source data analytics reporting and integration platform.", + "slug": "knime", + "kind": "tool", + "url": "https://www.knime.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 301, + "fields": { + "name": "Keras", + "description": "An open-source software library that provides a Python interface for artificial neural networks.", + "slug": "keras", + "kind": "tool", + "url": "https://keras.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 302, + "fields": { + "name": "Karma", + "description": "A test runner for JavaScript that allows you to execute code in multiple real browsers.", + "slug": "karma", + "kind": "tool", + "url": "https://karma-runner.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 303, + "fields": { + "name": "Jupyter Notebooks", + "description": "An interactive web application for creating and sharing documents containing live code and text.", + "slug": "jupyter-notebooks", + "kind": "tool", + "url": "https://jupyter.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 304, + "fields": { + "name": "Junit", + "description": "A unit testing framework for the Java programming language.", + "slug": "junit", + "kind": "tool", + "url": "https://junit.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 305, + "fields": { + "name": "Julia", + "description": "A high-level, high-performance dynamic language for technical computing.", + "slug": "julia", + "kind": "language", + "url": "https://julialang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 306, + "fields": { + "name": "JSON", + "description": "JavaScript Object Notation a lightweight data-interchange format.", + "slug": "json", + "kind": "methodology", + "url": "https://www.json.org/json-en.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 307, + "fields": { + "name": "JSLint", + "description": "A static code analysis tool used in software development for checking JavaScript source code.", + "slug": "jslint", + "kind": "tool", + "url": "https://www.jslint.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 308, + "fields": { + "name": "JSDoc", + "description": "A markup language used to annotate and document JavaScript code. ", + "slug": "jsdoc", + "kind": "tool", + "url": "https://jsdoc.app/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 309, + "fields": { + "name": "jQuery", + "description": "A JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animations, and Ajax.", + "slug": "jquery", + "kind": "tool", + "url": "https://jquery.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 310, + "fields": { + "name": "JProfiler", + "description": "A commercially licensed Java profiling tool developed by ej-technologies GmbH, targeted at Java EE and Java SE applications.", + "slug": "jprofiler", + "kind": "tool", + "url": "https://www.ej-technologies.com/jprofiler", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 311, + "fields": { + "name": "Job scheduling", + "description": "Controlling unattended background program execution of jobs (commonly called batch scheduling).", + "slug": "job-scheduling", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Job_scheduler", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 312, + "fields": { + "name": "Jest", + "description": "A delightful JavaScript Testing Framework with a focus on simplicity.", + "slug": "jest", + "kind": "tool", + "url": "https://jestjs.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 313, + "fields": { + "name": "Jenkins", + "description": "An open source automation server. ", + "slug": "jenkins", + "kind": "tool", + "url": "https://www.jenkins.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 314, + "fields": { + "name": "Jekyll", + "description": "A static website generator written in Ruby and popular on GitHub, using the Liquid template engine.", + "slug": "jekyll", + "kind": "tool", + "url": "https://jekyllrb.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 315, + "fields": { + "name": "JavaScript", + "description": "A programming language that is one of the core technologies of the World Wide Web.", + "slug": "javascript", + "kind": "language", + "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 316, + "fields": { + "name": "Javadoc", + "description": "A documentation generator for the Java language for generating API documentation in HTML format.", + "slug": "javadoc", + "kind": "tool", + "url": "https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 317, + "fields": { + "name": "Java", + "description": "A high-level class-based object-oriented programming language.", + "slug": "java", + "kind": "language", + "url": "https://www.java.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 318, + "fields": { + "name": "Jasmine", + "description": "A behavior-driven development framework for testing JavaScript code.", + "slug": "jasmine", + "kind": "tool", + "url": "https://jasmine.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 319, + "fields": { + "name": "janitor", + "description": "An R package of simple functions for examining and cleaning dirty data.", + "slug": "janitor", + "kind": "tool", + "url": "http://rdocumentation.org/packages/janitor/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 320, + "fields": { + "name": "ISAD(G)", + "description": "The General International Standard Archival Description.", + "slug": "isadg", + "kind": "methodology", + "url": "https://www.ica.org/en/isadg-general-international-standard-archival-description-second-edition", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 321, + "fields": { + "name": "iptables", + "description": "Firewall utility for Linux, used to configure the kernel's Netfilter framework to filter, modify, and route network traffic (IPv4)", + "slug": "iptables", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Iptables", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 322, + "fields": { + "name": "IPSec", + "description": "IPsec (Internet Protocol Security) is a suite of network layer protocols that secure internet communication by authenticating and encrypting IP packets, ensuring data confidentiality, integrity and authenticity.", + "slug": "ipsec", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/IPsec", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 323, + "fields": { + "name": "Internet Protocol (IP)", + "description": "Internet Protocol (IP) is a fundamental network-layer protocol responsible for addressing, routing, and delivering data packets across network boundaries, essentially enabling the internet", + "slug": "internet-protocol-ip", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Internet_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 324, + "fields": { + "name": "Internet of Things (IoT)", + "description": "A network of physical objects embedded with sensors and software for data exchange.", + "slug": "internet-of-things-iot", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Internet_of_things", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 325, + "fields": { + "name": "Interconnected computing nodes", + "description": "The physical or logical connection of multiple servers to act as a single system.", + "slug": "interconnected-computing-nodes", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Node_(networking)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 326, + "fields": { + "name": "Intellectual property (IP)", + "description": "A category of property that includes intangible creations of the human intellect.", + "slug": "intellectual-property-ip", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Intellectual_property", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 327, + "fields": { + "name": "Intel VTune", + "description": "A performance analysis tool for finding serial and parallel code bottlenecks.", + "slug": "intel-vtune", + "kind": "tool", + "url": "https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 328, + "fields": { + "name": "Intel Advisor", + "description": "A design and analysis tool for vectorisation threading and memory usage.", + "slug": "intel-advisor", + "kind": "tool", + "url": "https://www.intel.com/content/www/us/en/developer/tools/oneapi/advisor.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 329, + "fields": { + "name": "Integration testing", + "description": "A level of software testing where individual units are combined and tested as a group.", + "slug": "integration-testing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Integration_testing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 330, + "fields": { + "name": "InfiniBand", + "description": "A technology designed for low-latency and high-bandwidth data transfer.", + "slug": "infiniband", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/InfiniBand", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 331, + "fields": { + "name": "Immutable operating systems", + "description": "Operating systems where the root filesystem is read-only to ensure stability and security.", + "slug": "immutable-operating-systems", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/System_image", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 332, + "fields": { + "name": "IMAP", + "description": "An internet standard protocol used by email clients to retrieve email messages from a mail server.", + "slug": "imap", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 333, + "fields": { + "name": "Identifying target audience", + "description": "The process of determining who a project or piece of communication is intended for.", + "slug": "identifying-target-audience", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Target_audience", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 334, + "fields": { + "name": "IDE", + "description": "Integrated Development Environments like Jupyter Notebooks RStudio or VS Code.", + "slug": "ide", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Integrated_development_environment", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 335, + "fields": { + "name": "Hugging Face Transformers", + "description": "A library providing state-of-the-art machine learning models for natural language processing.", + "slug": "hugging-face-transformers", + "kind": "tool", + "url": "https://huggingface.co/docs/transformers/index", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 336, + "fields": { + "name": "HTTP(S)", + "description": "Hypertext Transfer Protocol Secure (HTTP) is a protocol used for transmitting web pages over the Internet. HTTPS (Hypertext Transfer Protocol Secure) is the secure, encrypted version of HTTP, utilising SSL/TLS certificates to protect data integrity and user privacy between a browser and a server. ", + "slug": "https", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/HTTPS", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 337, + "fields": { + "name": "HTML", + "description": "The standard markup language for documents designed to be displayed in a web browser.", + "slug": "html", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/HTML", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 338, + "fields": { + "name": "HTCondor", + "description": "A specialised workload management system for compute-intensive jobs.", + "slug": "htcondor", + "kind": "tool", + "url": "https://htcondor.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 339, + "fields": { + "name": "HPCtoolkit", + "description": "A suite of tools for measuring and analysing the performance of HPC applications.", + "slug": "hpctoolkit", + "kind": "tool", + "url": "https://hpctoolkit.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 340, + "fields": { + "name": "HPC tools", + "description": "Software used to manage and build high-performance computing environments (e.g. Spack CMake).", + "slug": "hpc-tools", + "kind": "tool", + "url": "https://spack.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 341, + "fields": { + "name": "HPC Tiers", + "description": "A hierarchical classification of high-performance computing centers (Tier-0 to Tier-3) based on scale and mission.", + "slug": "hpc-tiers", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Supercomputing_in_Europe", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 342, + "fields": { + "name": "HPC hardware", + "description": "The physical infrastructure required for supercomputing including nodes and interconnects.", + "slug": "hpc-hardware", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Supercomputer", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 343, + "fields": { + "name": "HIP", + "description": "A C++ runtime API and kernel language that allows developers to create portable GPU applications for AMD and NVIDIA hardware.", + "slug": "hip", + "kind": "language", + "url": "https://rocm.docs.amd.com/projects/HIP/en/latest/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 344, + "fields": { + "name": "Helm", + "description": "A package manager for Kubernetes that uses 'charts' as its package format, based on YAML.", + "slug": "helm", + "kind": "tool", + "url": "https://helm.sh/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 345, + "fields": { + "name": "HedgeDoc", + "description": "An open-source collaborative real-time markdown editor.", + "slug": "hedgedoc", + "kind": "tool", + "url": "https://hedgedoc.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 346, + "fields": { + "name": "Hadoop", + "description": "A framework that allows for the distributed processing of large data sets across clusters of computers.", + "slug": "hadoop", + "kind": "tool", + "url": "https://hadoop.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 347, + "fields": { + "name": "Guiding discussions", + "description": "The act of facilitating group conversation to reach a specific outcome or consensus.", + "slug": "guiding-discussions", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Facilitation_(business)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 348, + "fields": { + "name": "GraphQL", + "description": "A query language for APIs and a runtime for fulfilling those queries with existing data.", + "slug": "graphql", + "kind": "language", + "url": "https://graphql.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 349, + "fields": { + "name": "Graphical User Interfaces", + "description": "The visual representation of a program's functionality.", + "slug": "graphical-user-interfaces", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Graphical_user_interface", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 350, + "fields": { + "name": "Grafana", + "description": "Tool to query, visualise, alert on, and explore metrics, logs, and traces.", + "slug": "grafana", + "kind": "tool", + "url": "https://grafana.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 351, + "fields": { + "name": "Gradio", + "description": "An open-source Python library used to build machine learning and data science demos.", + "slug": "gradio", + "kind": "tool", + "url": "https://gradio.app/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 352, + "fields": { + "name": "GPUs", + "description": "Graphics Processing Units used for rendering and accelerated parallel computing.", + "slug": "gpus", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Graphics_processing_unit", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 353, + "fields": { + "name": "GPFS", + "description": "The General Parallel File System (now IBM Storage Scale) for high-performance data access.", + "slug": "gpfs", + "kind": "tool", + "url": "https://www.ibm.com/products/storage-scale", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 354, + "fields": { + "name": "Google Slides", + "description": "An online presentation app that lets you create and format presentations and collaborate on creating presentations with other people.", + "slug": "google-slides", + "kind": "tool", + "url": "https://docs.google.com/presentation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 355, + "fields": { + "name": "Google Sheets", + "description": "A web-based spreadsheet application included as part of the Google Docs Editors suite.", + "slug": "google-sheets", + "kind": "tool", + "url": "https://www.google.com/sheets/about/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 356, + "fields": { + "name": "Google Scholar", + "description": "A freely accessible web search engine that indexes the full text or metadata of scholarly literature across an array of publishing formats and disciplines.", + "slug": "google-scholar", + "kind": "tool", + "url": "https://scholar.google.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 357, + "fields": { + "name": "Google Gemini", + "description": "Google's AI assistant, a family of multimodal generative AI models and a conversational chatbot.", + "slug": "google-gemini", + "kind": "tool", + "url": "https://gemini.google.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 358, + "fields": { + "name": "Google Forms", + "description": "A survey administration software included as part of the free web-based Google Docs Editors suite.", + "slug": "google-forms", + "kind": "tool", + "url": "https://www.google.com/forms/about/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 359, + "fields": { + "name": "Google Docs", + "description": "A free web-based word processor that can be used to create, edit and store digital documents.", + "slug": "google-docs", + "kind": "tool", + "url": "https://docs.google.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 360, + "fields": { + "name": "Google Cloud Functions", + "description": "A serverless compute platform that allows you to run code in response to events without having to provision or manage servers.", + "slug": "google-cloud-functions", + "kind": "tool", + "url": "https://cloud.google.com/functions", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 361, + "fields": { + "name": "Google Cloud for AI", + "description": "Scalable AI offerings including video and image analysis, speech recognition, and multi-language processing.", + "slug": "google-cloud-for-ai", + "kind": "tool", + "url": "https://cloud.google.com/ai", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 362, + "fields": { + "name": "Google Cloud Armor", + "description": "Google Cloud Armor is a network security service that provides defenses against DDoS and application attacks, and offers a rich set of Web-application Firewall (WAF) rules.", + "slug": "google-cloud-armor", + "kind": "tool", + "url": "https://cloud.google.com/security/products/armor", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 363, + "fields": { + "name": "Globus", + "description": "A research data management service for secure reliable file transfer and sharing.", + "slug": "globus", + "kind": "tool", + "url": "https://www.globus.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 364, + "fields": { + "name": "GitLab CI/CD", + "description": "A tool built into GitLab for software development using continuous methodologies.", + "slug": "gitlab-cicd", + "kind": "tool", + "url": "https://docs.gitlab.com/ee/ci/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 365, + "fields": { + "name": "GitLab", + "description": "A web-based Git repository manager with wiki code reviews and CI/CD pipeline features.", + "slug": "gitlab", + "kind": "tool", + "url": "https://about.gitlab.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 366, + "fields": { + "name": "GitHub's Minimum Viable Governance", + "description": "A repository-based framework providing lightweight, template-driven structures to help open-source projects manage, collaborate, and scale efficiently", + "slug": "githubs-minimum-viable-governance", + "kind": "tool", + "url": "https://github.com/github/MVG", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 367, + "fields": { + "name": "GitHub releases", + "description": "A way to package and deliver software iterations to users via GitHub.", + "slug": "github-releases", + "kind": "methodology", + "url": "https://docs.github.com/en/repositories/releasing-projects-on-github/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 368, + "fields": { + "name": "GitHub Projects", + "description": "An adaptable project management tool on GitHub that uses tables boards and roadmaps to track work.", + "slug": "github-projects", + "kind": "tool", + "url": "https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 369, + "fields": { + "name": "GitHub Pages", + "description": "A static site hosting service that takes HTML CSS and JavaScript files from a repository.", + "slug": "github-pages", + "kind": "tool", + "url": "https://pages.github.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 370, + "fields": { + "name": "GitHub Issues", + "description": "A lightweight tracking system integrated into GitHub repositories for reporting bugs and discussing tasks.", + "slug": "github-issues", + "kind": "tool", + "url": "https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 371, + "fields": { + "name": "GitHub Copilot", + "description": "An AI pair programmer that offers autocomplete-style suggestions as you code.", + "slug": "github-copilot", + "kind": "tool", + "url": "https://github.com/features/copilot", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 372, + "fields": { + "name": "GitHub Container Registry (GHCR)", + "description": "GitHub's container image registry service, integrated with GitHub repositories and Actions. It provides free storage for public images and supports private images for GitHub users.", + "slug": "github-container-registry-ghcr", + "kind": "tool", + "url": "https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 373, + "fields": { + "name": "GitHub Actions", + "description": "A CI/CD platform that allows you to automate your build test and deployment pipeline.", + "slug": "github-actions", + "kind": "tool", + "url": "https://github.com/features/actions", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 374, + "fields": { + "name": "GitHub", + "description": "A platform for hosting and collaborating on Git repositories.", + "slug": "github", + "kind": "tool", + "url": "https://github.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 375, + "fields": { + "name": "Git", + "description": "A distributed version control system for tracking changes in source code.", + "slug": "git", + "kind": "tool", + "url": "https://git-scm.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 376, + "fields": { + "name": "ggplot2", + "description": "A system for declaratively creating graphics in the R language based on the Grammar of Graphics.", + "slug": "ggplot2", + "kind": "tool", + "url": "https://ggplot2.tidyverse.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 377, + "fields": { + "name": "Generative models", + "description": "A class of machine learning models that can generate new data samples similar to training data.", + "slug": "generative-models", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Generative_model", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 378, + "fields": { + "name": "Generative adversarial network (GAN)", + "description": "A class of machine learning frameworks and a prominent framework for approaching generative artificial intelligence", + "slug": "generative-adversarial-network-gan", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Generative_adversarial_network", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 379, + "fields": { + "name": "GDPR", + "description": "The General Data Protection Regulation a legal framework for data privacy in the EU.", + "slug": "gdpr", + "kind": "methodology", + "url": "https://gdpr.eu/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 380, + "fields": { + "name": "gdb", + "description": "The standard debugger for the GNU operating system.", + "slug": "gdb", + "kind": "tool", + "url": "https://www.sourceware.org/gdb/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 381, + "fields": { + "name": "GCC", + "description": "The GNU Compiler Collection supporting various programming languages.", + "slug": "gcc", + "kind": "tool", + "url": "https://gcc.gnu.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 382, + "fields": { + "name": "Gantt charts", + "description": "A type of bar chart that illustrates a project schedule by showing task durations and dependencies over time.", + "slug": "gantt-charts", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Gantt_chart", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 383, + "fields": { + "name": "Ganglia", + "description": "A scalable distributed monitoring system for high-performance computing systems.", + "slug": "ganglia", + "kind": "tool", + "url": "http://ganglia.sourceforge.net/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 384, + "fields": { + "name": "Galaxy", + "description": "An open source web-based platform for data intensive biomedical research.", + "slug": "galaxy", + "kind": "tool", + "url": "https://galaxyproject.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 385, + "fields": { + "name": "Functional programming", + "description": "A programming paradigm where programs are constructed by applying and composing functions.", + "slug": "functional-programming", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Functional_programming", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 386, + "fields": { + "name": "FTP/SFTP", + "description": "FTP (File Transfer Protocol) and SFTP (SSH File Transfer Protocol) are standard network protocols for transferring computer files, with SFTP being the secure, modern standard and FTP transferring data in plain text and used only for public/non-sensitive data in trusted networks.", + "slug": "ftpsftp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/File_Transfer_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 387, + "fields": { + "name": "Free and open source licences", + "description": "Comparison of software licences aproved by the Free Software Foundation, the Open Source Initiative, the Debian Project or the Fedora Project.", + "slug": "free-and-open-source-licences", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 388, + "fields": { + "name": "Fortran", + "description": "A general-purpose compiled imperative programming language especially suited to numeric computation.", + "slug": "fortran", + "kind": "language", + "url": "https://fortran-lang.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 389, + "fields": { + "name": "Formatting text", + "description": "The act of composing text and arranging it according to specific stylistic rules.", + "slug": "formatting-text", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Technical_writing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 390, + "fields": { + "name": "Folder structure", + "description": "The way in which files are organised into a directory hierarchy.", + "slug": "folder-structure", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Directory_(computing)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 391, + "fields": { + "name": "Flutter", + "description": "An open-source UI software development kit created by Google; Flutter apps are written in the Dart language.", + "slug": "flutter", + "kind": "tool", + "url": "https://flutter.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 392, + "fields": { + "name": "Flask", + "description": "A micro web framework written in Python.", + "slug": "flask", + "kind": "tool", + "url": "https://flask.palletsprojects.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 393, + "fields": { + "name": "Firewalls", + "description": "Network security systems that monitor and control incoming and outgoing network traffic.", + "slug": "firewalls", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Firewall_(computing)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 394, + "fields": { + "name": "FastAPI", + "description": "A modern fast web framework for building APIs with Python based on standard Python type hints.", + "slug": "fastapi", + "kind": "tool", + "url": "https://fastapi.tiangolo.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 395, + "fields": { + "name": "FastAI", + "description": "A deep learning library which provides high-level components for common deep learning patterns.", + "slug": "fastai", + "kind": "tool", + "url": "https://docs.fast.ai/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 396, + "fields": { + "name": "Fast storage", + "description": "High-performance data storage solutions like NVMe, SSDs or parallel file systems.", + "slug": "fast-storage", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Solid-state_drive", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 397, + "fields": { + "name": "FAIRSoft", + "description": "A practical framework and set of tools for evaluating the FAIRness of research software.", + "slug": "fairsoft", + "kind": "tool", + "url": "https://github.com/inab/FAIRsoft", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 398, + "fields": { + "name": "FAIR software", + "description": "The application of the FAIR principles (Findable, Accessible, Interoperable and Reusable) specifically to research software code.", + "slug": "fair-software", + "kind": "methodology", + "url": "https://fair-software.eu/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 399, + "fields": { + "name": "FAIR data", + "description": "Principles that ensure data are Findable Accessible Interoperable and Reusable.", + "slug": "fair-data", + "kind": "methodology", + "url": "https://www.go-fair.org/fair-principles/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 400, + "fields": { + "name": "Extrae", + "description": "A set of tools for performance analysis of parallel applications.", + "slug": "extrae", + "kind": "tool", + "url": "https://tools.bsc.es/extrae", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 401, + "fields": { + "name": "Express", + "description": "A minimal and flexible Node.js web application framework.", + "slug": "express", + "kind": "tool", + "url": "https://expressjs.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 402, + "fields": { + "name": "Export control", + "description": "Laws and regulations that manage the export of sensitive technologies and information.", + "slug": "export-control", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Export_control", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 403, + "fields": { + "name": "Experimental design", + "description": "The process of planning a study to meet specified objectives efficiently.", + "slug": "experimental-design", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Design_of_experiments", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 404, + "fields": { + "name": "EXIF", + "description": "A standard that specifies the formats for images sound and ancillary tags used by digital cameras.", + "slug": "exif", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Exif", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 405, + "fields": { + "name": "Excel", + "description": "A spreadsheet developed by Microsoft featuring calculation graphing tools and pivot tables.", + "slug": "excel", + "kind": "tool", + "url": "https://www.microsoft.com/microsoft-365/excel", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 406, + "fields": { + "name": "ExCALIBUR tests", + "description": "Performance benchmarks and regression tests for the ExCALIBUR project", + "slug": "excalibur-tests", + "kind": "tool", + "url": "https://github.com/ukri-excalibur/excalibur-tests", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 407, + "fields": { + "name": "Ethics approvals", + "description": "A mandatory review process for research involving human participants or data, ensuring safety, dignity and confidentiality.", + "slug": "ethics-approvals", + "kind": "methodology", + "url": "https://www.ukri.org/publications/mrc-guidance-for-applicants/ethics-and-approvals/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 408, + "fields": { + "name": "ESLint", + "description": "A static code analysis tool for identifying problematic patterns found in JavaScript code.", + "slug": "eslint", + "kind": "tool", + "url": "https://eslint.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 409, + "fields": { + "name": "Entity Relationship Diagrams (ERD)", + "description": "A visual representation of different entities within a system and how they relate to each other.", + "slug": "entity-relationship-diagrams-erd", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Entity\u2013relationship_model", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 410, + "fields": { + "name": "EndNote", + "description": "A commercial reference management software package used to manage bibliographies and references.", + "slug": "endnote", + "kind": "tool", + "url": "https://endnote.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 411, + "fields": { + "name": "Encryption", + "description": "Encryption is the process of encoding data into an unreadable format (ciphertext) using an algorithm and a secret key, ensuring only authorised parties can access the original information (plaintext).", + "slug": "encryption", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Encryption", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 412, + "fields": { + "name": "Embeddings", + "description": "Numerical representations of data - such as text, images, or audio - converted into vectors (lists of numbers) that capture their semantic meaning.", + "slug": "embeddings", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Embedding_(machine_learning)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 413, + "fields": { + "name": "Embedded systems", + "description": "Computer systems with a dedicated function within a larger mechanical or electrical system.", + "slug": "embedded-systems", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Embedded_system", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 414, + "fields": { + "name": "EESSI.io", + "description": "The European Environment for Scientific Software Installations \u2013 a shared stack of scientific software.", + "slug": "eessi-io", + "kind": "tool", + "url": "https://www.eessi.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 415, + "fields": { + "name": "EDAM", + "description": "An ontology of data analysis and management for life sciences and beyond.", + "slug": "edam", + "kind": "language", + "url": "https://edamontology.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 416, + "fields": { + "name": "Dublin Core", + "description": "A basic set of metadata elements for describing digital and physical resources.", + "slug": "dublin-core", + "kind": "methodology", + "url": "https://www.dublincore.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 417, + "fields": { + "name": "Drupal", + "description": "An open-source web content management system written in PHP.", + "slug": "drupal", + "kind": "tool", + "url": "https://drupal.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 418, + "fields": { + "name": "Dropbox", + "description": "A file hosting service that offers cloud storage file synchronisation and personal cloud.", + "slug": "dropbox", + "kind": "tool", + "url": "https://www.dropbox.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 419, + "fields": { + "name": "DPC++", + "description": "An open-source implementation of SYCL for architectures including CPUs GPUs and FPGAs.", + "slug": "dpc-plus-plus", + "kind": "language", + "url": "https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-cpp.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 420, + "fields": { + "name": "Docstrings", + "description": "String literals that appear right after the definition of a function method class or module used for documentation.", + "slug": "docstrings", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Docstring", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 421, + "fields": { + "name": "Docker Hub", + "description": "Container registry built for developers and open source contributors to find, use, and share their Docker images.", + "slug": "docker-hub", + "kind": "tool", + "url": "https://hub.docker.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 422, + "fields": { + "name": "Docker", + "description": "A platform that uses OS-level virtualisation to deliver software in packages called containers.", + "slug": "docker", + "kind": "tool", + "url": "https://www.docker.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 423, + "fields": { + "name": "DNS", + "description": "The hierarchical and decentralised naming system for computers services and other resources connected to the Internet.", + "slug": "dns", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Domain_Name_System", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 424, + "fields": { + "name": "DMPonline", + "description": "A tool that helps users create review and share data management plans that meet institutional requirements.", + "slug": "dmponline", + "kind": "tool", + "url": "https://dmponline.dcc.ac.uk/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 425, + "fields": { + "name": "Django", + "description": "A high-level Python web framework that encourages rapid development and clean design.", + "slug": "django", + "kind": "tool", + "url": "https://www.djangoproject.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 426, + "fields": { + "name": "Distributed computing", + "description": "A field of computer science that studies systems whose components are located on different networked computers.", + "slug": "distributed-computing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Distributed_computing", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 427, + "fields": { + "name": "Diffusers", + "description": "A library for state-of-the-art pretrained diffusion models for generating images and audio.", + "slug": "diffusers", + "kind": "methodology", + "url": "https://github.com/huggingface/diffusers", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 428, + "fields": { + "name": "Designing presentations", + "description": "A structured way to communicate information, ideas, or a message to an audience, often using visual aids like slides, to inform, persuade, or entertain, and involves preparation, organisation (content, flow), and delivery (speaker's presence) to achieve a goal like teaching a concept, presenting information or pitching an idea.", + "slug": "designing-presentations", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Presentation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 429, + "fields": { + "name": "Design thinking", + "description": "A human-centered, iterative problem-solving method that focuses on deeply understanding user needs to create innovative, practical solutions.", + "slug": "design-thinking", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Design_thinking", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 430, + "fields": { + "name": "Design Patterns", + "description": "Reusable solutions to commonly occurring problems in software design.", + "slug": "design-patterns", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Software_design_pattern", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 431, + "fields": { + "name": "Delegation", + "description": "The assignment of authority to another person to carry out specific activities.", + "slug": "delegation", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Delegation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 432, + "fields": { + "name": "Decision trees", + "description": "A decision support tool that uses a tree-like model of decisions and their consequences.", + "slug": "decision-trees", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Decision_tree", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 433, + "fields": { + "name": "Decision making processes", + "description": "Systematic approaches and software used to select a course of action from alternatives.", + "slug": "decision-making-processes", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Decision-making", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 434, + "fields": { + "name": "DBeaver", + "description": "A free multi-platform database tool for developers and database administrators.", + "slug": "dbeaver", + "kind": "tool", + "url": "https://dbeaver.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 435, + "fields": { + "name": "DB2", + "description": "A family of data management products including database servers developed by IBM.", + "slug": "db2", + "kind": "tool", + "url": "https://www.ibm.com/products/db2", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 436, + "fields": { + "name": "data.validator", + "description": "An R package for scalable and reproducible data quality checks.", + "slug": "data-validator", + "kind": "tool", + "url": "https://appsilon.github.io/data.validator/articles/data_validator.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 437, + "fields": { + "name": "Data versioning", + "description": "The process of tracking and managing changes to datasets over time.", + "slug": "data-versioning", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Version_control", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 438, + "fields": { + "name": "Data redundancy and reliability", + "description": "Redundancy techniques, such as RAID configurations and data replication, to ensure data durability, fault tolerance, and recovery in the event of system or hardware failures.", + "slug": "data-redundancy-and-reliability", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_redundancy", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 439, + "fields": { + "name": "Data Management Plans", + "description": "Formal documents that outline how data will be handled during and after a research project.", + "slug": "data-management-plans", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_management_plan", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 440, + "fields": { + "name": "Data collection tools", + "description": "Instruments used to collect data such as surveys, questionnaires and interview guides.", + "slug": "data-collection-tools", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Data_collection", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 441, + "fields": { + "name": "Data collection techniques", + "description": "Methods used to gather information from various sources to find answers to research problems.", + "slug": "data-collection-techniques", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_collection", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 442, + "fields": { + "name": "Data citation", + "description": "The practice of providing a reference to data in the same way as a bibliographic reference.", + "slug": "data-citation", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_publishing#Data_citation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 443, + "fields": { + "name": "Data availability and capacity planning", + "description": "Forecasting and planning of storage capacity and access requirements to ensure that data remains available, scalable, and aligned with current and future demand. ", + "slug": "data-availability-and-capacity-planning", + "kind": "methodology", + "url": "https://www.techtarget.com/searchstorage/definition/storage-capacity-planning", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 444, + "fields": { + "name": "Data and information visualisation process", + "description": "The graphic representation of data to help communicate information clearly and efficiently.", + "slug": "data-and-information-visualisation-process", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_visualization", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 445, + "fields": { + "name": "Data analysis process", + "description": "Process of inspecting, cleansing, transforming, and modeling data with the goal of discovering useful information and supporting decision-making", + "slug": "data-analysis-process", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Data_analysis", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 446, + "fields": { + "name": "Dask", + "description": "A flexible library for parallel computing in Python.", + "slug": "dask", + "kind": "tool", + "url": "https://dask.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 447, + "fields": { + "name": "Dash", + "description": "A productive Python framework for building web analytic applications.", + "slug": "dash", + "kind": "tool", + "url": "https://plotly.com/dash/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 448, + "fields": { + "name": "Dart", + "description": "A client-optimised programming language for apps on multiple platforms developed by Google.", + "slug": "dart", + "kind": "language", + "url": "https://dart.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 449, + "fields": { + "name": "Cypress", + "description": "A next-generation front-end testing tool built for the modern web.", + "slug": "cypress", + "kind": "tool", + "url": "https://www.cypress.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 450, + "fields": { + "name": "CWL", + "description": "A standard for describing data analysis workflows in a way that makes them portable and scalable.", + "slug": "cwl", + "kind": "methodology", + "url": "https://www.commonwl.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 451, + "fields": { + "name": "CUDA", + "description": "A programming platform for writing parallel applications that run on NVIDIA GPUs.", + "slug": "cuda", + "kind": "tool", + "url": "https://developer.nvidia.com/cuda-zone", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 452, + "fields": { + "name": "CSS", + "description": "A style sheet language used for describing the presentation of a document written in HTML.", + "slug": "css", + "kind": "language", + "url": "https://www.w3.org/Style/CSS/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 453, + "fields": { + "name": "CPUs", + "description": "The primary component of a computer that acts as its control center.", + "slug": "cpus", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Central_processing_unit", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 454, + "fields": { + "name": "Covidence", + "description": "A web-based software platform that streamlines the production of systematic reviews.", + "slug": "covidence", + "kind": "tool", + "url": "https://www.covidence.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 455, + "fields": { + "name": "Controlling actuators", + "description": "The method of using software or signals to manage mechanical components that move systems.", + "slug": "controlling-actuators", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Actuator", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 456, + "fields": { + "name": "Contribution guidelines", + "description": "Rules and instructions for how people can help with a project (like open-source software or a publication), explaining the required formats, processes, and expectations for submitting work, ensuring quality, consistency, and clarity for both contributors and maintainers.", + "slug": "contribution-guidelines", + "kind": "methodology", + "url": "https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 457, + "fields": { + "name": "Content management systems", + "description": "A computer software used to manage the creation and modification of digital content (content management).", + "slug": "content-management-systems", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Content_management_system", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 458, + "fields": { + "name": "Connected Papers", + "description": "A visual tool to help researchers find and explore academic papers related to their field.", + "slug": "connected-papers", + "kind": "tool", + "url": "https://www.connectedpapers.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 459, + "fields": { + "name": "Conda-forge", + "description": "A community-led collection of recipes and build infrastructure for the conda package manager.", + "slug": "conda-forge", + "kind": "tool", + "url": "https://conda-forge.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 460, + "fields": { + "name": "concurrent.futures", + "description": "A standard library module for providing a high-level interface for asynchronously executing callables.", + "slug": "concurrent-futures", + "kind": "tool", + "url": "https://docs.python.org/3/library/concurrent.futures.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 461, + "fields": { + "name": "Computer vision", + "description": "An interdisciplinary field that deals with how computers gain high-level understanding from digital images.", + "slug": "computer-vision", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Computer_vision", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 462, + "fields": { + "name": "Compilers", + "description": "Programs that translate source code from a high-level language to a lower-level language.", + "slug": "compilers", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Compiler", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 463, + "fields": { + "name": "Communication with technical audiences", + "description": "Technical communication is communication of technical subject matter such as engineering, science, or technology content to technical audiences or audiences from the same domain.", + "slug": "communication-with-technical-audiences", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Technical_communication", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 464, + "fields": { + "name": "Communication with non-technical audiences", + "description": "Professional communication encompasses written, oral, visual and digital communication within a workplace context woth colleagues from different domains or fields. ", + "slug": "communication-with-non-technical-audiences", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Professional_communication", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 465, + "fields": { + "name": "Communication with general public", + "description": "Science communication encompasses informing non-experts about scientific findings, raising the public awareness of and interest in science.", + "slug": "communication-with-general-public", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Science_communication", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 466, + "fields": { + "name": "Communication optimisation", + "description": "Reducing and structuring data exchange between processes or threads to minimise communication overhead.", + "slug": "communication-optimisation", + "kind": "methodology", + "url": "https://dehesa.unex.es/server/api/core/bitstreams/c697d0af-8091-47a3-92fe-9ddd7233f9ff/content", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 467, + "fields": { + "name": "Colour contrast checking", + "description": "Tools that ensure text and background colours meet accessibility standards for readability.", + "slug": "colour-contrast-checking", + "kind": "tool", + "url": "https://webaim.org/resources/contrastchecker/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 468, + "fields": { + "name": "Collaboration tools", + "description": "Applications that allow people to work together on common tasks regardless of location.", + "slug": "collaboration-tools", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Collaborative_software", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 469, + "fields": { + "name": "CodiMD", + "description": "A real-time collaborative markdown notes platform.", + "slug": "codimd", + "kind": "tool", + "url": "https://hackmd.io/c/codimd", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 470, + "fields": { + "name": "CodeMeta", + "description": "A shared, minimal metadata vocabulary for software, designed to support research, discovery, citation, and interoperability across platforms. ", + "slug": "codemeta", + "kind": "language", + "url": "https://codemeta.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 471, + "fields": { + "name": "CODECHECK", + "description": "A process and system to independently execute and verify the results of computational research code.", + "slug": "codecheck", + "kind": "methodology", + "url": "https://codecheck.org.uk/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 472, + "fields": { + "name": "Code of Conduct", + "description": "A code of conduct is a formal document outlining an organisation's, profession's, or group's values, ethical standards, and expected behaviors.", + "slug": "code-of-conduct", + "kind": "methodology", + "url": "https://third-bit.com/py-rse/teams.html#teams-coc", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 473, + "fields": { + "name": "Cobol", + "description": "A compiled English-like computer programming language designed for business use.", + "slug": "cobol", + "kind": "language", + "url": "https://en.wikipedia.org/wiki/COBOL", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 474, + "fields": { + "name": "CMake", + "description": "An open-source cross-platform family of tools designed to build test and package software.", + "slug": "cmake", + "kind": "tool", + "url": "https://cmake.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 475, + "fields": { + "name": "Clustering", + "description": "The task of grouping a set of objects such that items in the same group are more similar to each other.", + "slug": "clustering", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Cluster_analysis", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 476, + "fields": { + "name": "Cloudflare", + "description": "A company providing content delivery network services and cloud cybersecurity.", + "slug": "cloudflare", + "kind": "tool", + "url": "https://www.cloudflare.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 477, + "fields": { + "name": "Cloud cost calculators", + "description": "Tools provided by cloud vendors to estimate usage fees for infrastructure.", + "slug": "cloud-cost-calculators", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Cloud_computing_comparison", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 478, + "fields": { + "name": "Clinical trials regulations", + "description": "The legal and ethical frameworks governing the conduct of research involving human subjects.", + "slug": "clinical-trials-regulations", + "kind": "methodology", + "url": "https://www.fda.gov/science-research/clinical-trials-and-human-subject-protection/regulations-good-clinical-practice-and-clinical-trials", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 479, + "fields": { + "name": "Classification", + "description": "A task that predicts the label of a given input data point.", + "slug": "classification", + "kind": "methodology", + "url": "https://developers.google.com/machine-learning/glossary#classification", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 480, + "fields": { + "name": "CITATION.cff", + "description": "A plain text file with human- and machine-readable citation information for software and datasets.", + "slug": "citation-cff", + "kind": "tool", + "url": "https://citation-file-format.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 481, + "fields": { + "name": "Checkmarx", + "description": "An agentic application security and testing tool.", + "slug": "checkmarx", + "kind": "tool", + "url": "https://checkmarx.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 482, + "fields": { + "name": "ChatGPT", + "description": "A generative artificial intelligence chatbot developed by OpenAI.", + "slug": "chatgpt", + "kind": "tool", + "url": "https://chatgpt.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 483, + "fields": { + "name": "Cgroups", + "description": "A Linux kernel feature that limits and accounts for the resource usage of a collection of processes.", + "slug": "cgroups", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Cgroups", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 484, + "fields": { + "name": "cffinit", + "description": "A web application which helps users create a CITATION. cff file.", + "slug": "cffinit", + "kind": "tool", + "url": "https://citation-file-format.github.io/cff-initializer-javascript/#/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 485, + "fields": { + "name": "CARE Principles for Indigenous Data Governance", + "description": "Guidelines for the stewardship of Indigenous data: Collective Benefit Authority to Control Responsibility and Ethics.", + "slug": "care-principles-for-indigenous-data-governance", + "kind": "methodology", + "url": "https://www.gida-global.org/care", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 486, + "fields": { + "name": "Canva", + "description": "An online graphic design tool with a free tier.", + "slug": "canva", + "kind": "tool", + "url": "https://www.canva.com/en_gb/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 487, + "fields": { + "name": "C++", + "description": "A high-level general-purpose programming language that extends the C language.", + "slug": "c-plus-plus", + "kind": "language", + "url": "https://isocpp.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 488, + "fields": { + "name": "C#", + "description": "A modern object-oriented programming language developed by Microsoft.", + "slug": "c-sharp", + "kind": "language", + "url": "https://learn.microsoft.com/en-us/dotnet/csharp/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 489, + "fields": { + "name": "C", + "description": "A general-purpose procedural computer programming language.", + "slug": "c", + "kind": "language", + "url": "https://en.cppreference.com/w/c", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 490, + "fields": { + "name": "Bulma", + "description": "A free open-source framework based on Flexbox used to build responsive web interfaces.", + "slug": "bulma", + "kind": "tool", + "url": "https://bulma.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 491, + "fields": { + "name": "Building systems from source", + "description": "The process of building software from source code specifically for supercomputing environments.", + "slug": "building-systems-from-source", + "kind": "methodology", + "url": "https://pawsey.atlassian.net/wiki/spaces/US/pages/51925878/How+to+Manually+Build+Software", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 492, + "fields": { + "name": "Border Gateway Protocol (BGP)", + "description": "A standardised gateway protocol designed to exchange routing information among autonomous systems.", + "slug": "border-gateway-protocol-bgp", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Border_Gateway_Protocol", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 493, + "fields": { + "name": "Bootstrap", + "description": "A free and open-source CSS framework directed at responsive mobile-first front-end web development.", + "slug": "bootstrap", + "kind": "tool", + "url": "https://getbootstrap.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 494, + "fields": { + "name": "BlueSky", + "description": "A decentralised social network protocol and application.", + "slug": "bluesky", + "kind": "tool", + "url": "https://bsky.app/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 495, + "fields": { + "name": "BLAS", + "description": "A specification for low-level routines for performing common linear algebra operations.", + "slug": "blas", + "kind": "methodology", + "url": "http://www.netlib.org/blas/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 496, + "fields": { + "name": "Black", + "description": "The uncompromising Python code formatter.", + "slug": "black", + "kind": "tool", + "url": "https://github.com/psf/black", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 497, + "fields": { + "name": "BitBucket Pipelines", + "description": "An integrated CI/CD service built into Bitbucket.", + "slug": "bitbucket-pipelines", + "kind": "tool", + "url": "https://bitbucket.org/product/features/pipelines", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 498, + "fields": { + "name": "BitBucket", + "description": "A Git-based source code repository hosting service owned by Atlassian.", + "slug": "bitbucket", + "kind": "tool", + "url": "https://bitbucket.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 499, + "fields": { + "name": "Bison", + "description": "A general-purpose parser generator that converts an annotated context-free grammar.", + "slug": "bison", + "kind": "tool", + "url": "https://www.gnu.org/software/bison/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 500, + "fields": { + "name": "Bioschemas", + "description": "An extension to Schema.org to improve the findability of life sciences resources such as datasets, software and training materials.", + "slug": "bioschemas", + "kind": "language", + "url": "https://bioschemas.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 501, + "fields": { + "name": "Binary executables", + "description": "Ready-to-run computer files containing binary code that a computer executes directly, compiled from source code for a specific operating system and hardware", + "slug": "binary-executables", + "kind": "tool", + "url": "https://www.sciencedirect.com/topics/computer-science/executable-binary-file", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 502, + "fields": { + "name": "BigQuery", + "description": "A fully managed serverless data warehouse that enables scalable analysis over petabytes of data in Google Cloud.", + "slug": "bigquery", + "kind": "tool", + "url": "https://cloud.google.com/bigquery", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 503, + "fields": { + "name": "BibTeX", + "description": "A reference management software for formatting lists of citations used in LaTeX documents.", + "slug": "bibtex", + "kind": "tool", + "url": "http://www.bibtex.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 504, + "fields": { + "name": "Bibliography management tools", + "description": "Software that helps users create and manage lists of references for scholarly work.", + "slug": "bibliography-management-tools", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Reference_management_software", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 505, + "fields": { + "name": "BeeGFS", + "description": "High-performance parallel file system.", + "slug": "beegfs", + "kind": "tool", + "url": "https://www.beegfs.io/c/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 506, + "fields": { + "name": "Bash", + "description": "Bash (short for \"Bourne Again SHell\") is an interactive command interpreter and scripting language developed for Unix-like operating systems.", + "slug": "bash", + "kind": "tool", + "url": "https://en.wikipedia.org/wiki/Bash_(Unix_shell)", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 507, + "fields": { + "name": "Azure Functions", + "description": "A serverless compute service on Microsoft Azure that lets you run event-driven code (functions) without managing infrastructure, supporting multiple languages.", + "slug": "azure-functions", + "kind": "tool", + "url": "https://azure.microsoft.com/en-us/products/functions", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 508, + "fields": { + "name": "Azure Firewall", + "description": "A managed cloud-based network security service that protects your Azure Virtual Network resources.", + "slug": "azure-firewall", + "kind": "tool", + "url": "https://azure.microsoft.com/services/azure-firewall/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 509, + "fields": { + "name": "Azure DevOps", + "description": "A suite of services for developers to plan work collaborate on code and build applications.", + "slug": "azure-devops", + "kind": "tool", + "url": "https://azure.microsoft.com/services/devops/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 510, + "fields": { + "name": "Azure Data Studio", + "description": "A retired cross-platform desktop IDE for managing SQL databases (Azure SQL, SQL Server, PostgreSQL).", + "slug": "azure-data-studio", + "kind": "tool", + "url": "https://learn.microsoft.com/en-us/sql/tools/whats-happening-azure-data-studio?view=sql-server-ver17&tabs=dev", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 511, + "fields": { + "name": "Azure Calculator", + "description": "A tool to estimate your expected monthly bill for Azure services.", + "slug": "azure-calculator", + "kind": "tool", + "url": "https://azure.microsoft.com/pricing/calculator/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 512, + "fields": { + "name": "Azure AI", + "description": "A set of artificial intelligence services offered by Microsoft Azure for building intelligent apps.", + "slug": "azure-ai", + "kind": "tool", + "url": "https://azure.microsoft.com/solutions/ai/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 513, + "fields": { + "name": "Azure", + "description": "A cloud computing service operated by Microsoft for application management.", + "slug": "azure", + "kind": "tool", + "url": "https://azure.microsoft.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 514, + "fields": { + "name": "AWX", + "description": "An open-source project that provides a web-based user interface and API for Ansible.", + "slug": "awx", + "kind": "tool", + "url": "https://github.com/ansible/awx", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 515, + "fields": { + "name": "AWS Web Application Firewall", + "description": "A web application firewall that helps protect web applications or APIs against web exploits.", + "slug": "aws-web-application-firewall", + "kind": "tool", + "url": "https://aws.amazon.com/waf/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 516, + "fields": { + "name": "AWS SageMaker", + "description": "A fully managed service for building training and deploying machine learning models.", + "slug": "aws-sagemaker", + "kind": "tool", + "url": "https://aws.amazon.com/sagemaker/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 517, + "fields": { + "name": "AWS S3", + "description": "Simple Storage Service a scalable high-speed web-based cloud storage service from AWS.", + "slug": "aws-s3", + "kind": "tool", + "url": "https://aws.amazon.com/s3/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 518, + "fields": { + "name": "AWS Pricing Calculator", + "description": "A web-based tool to estimate the cost of AWS services for your architecture.", + "slug": "aws-pricing-calculator", + "kind": "tool", + "url": "https://calculator.aws/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 519, + "fields": { + "name": "AWS Lambda", + "description": "An event-driven, serverless Function as a Service, designed to enable developers to run code without provisioning or managing servers. ", + "slug": "aws-lambda", + "kind": "tool", + "url": "https://aws.amazon.com/lambda/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 520, + "fields": { + "name": "AWS CodePipeline", + "description": "A fully managed continuous delivery service that helps you automate your release pipelines.", + "slug": "aws-codepipeline", + "kind": "tool", + "url": "https://aws.amazon.com/codepipeline/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 521, + "fields": { + "name": "AWS", + "description": "A comprehensive and evolving cloud computing platform provided by Amazon.", + "slug": "aws", + "kind": "tool", + "url": "https://aws.amazon.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 522, + "fields": { + "name": "Authorisation and access control", + "description": "Authorisation is a set of permissions, rules and policies defining what an individual may access, and access controls are mechanisms used to enforce such rules and policies. ", + "slug": "authorisation-and-access-control", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Authorization", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 523, + "fields": { + "name": "Authentication", + "description": "Verifying the identity of a user, device or system before granting access to resources.", + "slug": "authentication", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Authentication", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 524, + "fields": { + "name": "Atomic operations", + "description": "Operations that run completely independently of any other processes.", + "slug": "atomic-operations", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Atomic_operation", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 525, + "fields": { + "name": "Atlassian Confluence", + "description": "A web-based team collaboration and knowledge management tool.", + "slug": "atlassian-confluence", + "kind": "tool", + "url": "https://www.atlassian.com/software/confluence", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 526, + "fields": { + "name": "ATLAS.ti", + "description": "A computer-assisted qualitative data analysis software.", + "slug": "atlas-ti", + "kind": "tool", + "url": "https://atlasti.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 527, + "fields": { + "name": "Assessing Community Health", + "description": "A structured approach used to evaluate the vitality, sustainability, and inclusiveness of a community by analysing indicators such as participation, governance, collaboration practices, and contributor experience.", + "slug": "assessing-community-health", + "kind": "methodology", + "url": "https://guidebook.theopensourceway.org/measuring-success/understanding-community-metrics", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 528, + "fields": { + "name": "Asana", + "description": "A web and mobile application designed to help teams organise track and manage their work.", + "slug": "asana", + "kind": "tool", + "url": "https://asana.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 529, + "fields": { + "name": "ArXiv", + "description": "A free distribution service and an open-access archive for scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics.\n\n", + "slug": "arxiv", + "kind": "tool", + "url": "https://arxiv.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 530, + "fields": { + "name": "Arm Performance Reports", + "description": "A tool that provides a one-page summary of the performance of HPC applications.", + "slug": "arm-performance-reports", + "kind": "tool", + "url": "https://www.arm.com/products/development-tools/server-and-hpc/forge/performance-reports", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 531, + "fields": { + "name": "Arm MAP", + "description": "A profiler for C++ Fortran and Python codes that helps developers optimise code performance.", + "slug": "arm-map", + "kind": "tool", + "url": "https://www.arm.com/products/development-tools/server-and-hpc/forge/map", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 532, + "fields": { + "name": "Argo CD", + "description": "A declarative GitOps continuous delivery tool for Kubernetes, part of the Argo ecosystem of Kubernetes-native tools.", + "slug": "argo-cd", + "kind": "tool", + "url": "https://argoproj.github.io/cd/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 533, + "fields": { + "name": "Argo", + "description": "A set of open-source tools for Kubernetes to run workflows and manage clusters using GitOps.", + "slug": "argo", + "kind": "tool", + "url": "https://argoproj.github.io/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 534, + "fields": { + "name": "Arduino", + "description": "Open-source electronic prototyping platform enabling users to create interactive electronic objects.", + "slug": "arduino", + "kind": "tool", + "url": "https://www.arduino.cc/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 535, + "fields": { + "name": "Apptainer", + "description": "A Linux Foundation project providing container technology for High-Performance Computing (HPC).", + "slug": "apptainer", + "kind": "tool", + "url": "https://apptainer.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 536, + "fields": { + "name": "Apache Web Server", + "description": "An open source, secure, efficient and extensible server that provides HTTP services for modern operating systems.", + "slug": "apache-web-server", + "kind": "tool", + "url": "https://httpd.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 537, + "fields": { + "name": "Apache Tomcat", + "description": "An open source implementation of the Jakarta EE platform (an evolution of the Java EE platform).", + "slug": "apache-tomcat", + "kind": "tool", + "url": "https://tomcat.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 538, + "fields": { + "name": "Apache Spark MLlib", + "description": "A scalable machine learning library for Apache Spark providing common learning algorithms and utilities.", + "slug": "apache-spark-mllib", + "kind": "tool", + "url": "https://spark.apache.org/mllib/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 539, + "fields": { + "name": "Apache Spark", + "description": "A unified analytics engine for large-scale data processing.", + "slug": "apache-spark", + "kind": "tool", + "url": "https://spark.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 540, + "fields": { + "name": "Apache Airflow", + "description": "An open-source platform to programmatically author schedule and monitor workflows.", + "slug": "apache-airflow", + "kind": "tool", + "url": "https://airflow.apache.org/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 541, + "fields": { + "name": "Ansible", + "description": "An open-source IT automation engine that automates provisioning and configuration management.", + "slug": "ansible", + "kind": "tool", + "url": "https://www.ansible.com/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 542, + "fields": { + "name": "Angular", + "description": "A web development framework for building modern apps.", + "slug": "angular", + "kind": "tool", + "url": "https://angular.dev/", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 543, + "fields": { + "name": "Algorithms", + "description": "Specific procedures or sets of rules followed in calculations or other problem-solving operations.", + "slug": "algorithms", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Algorithm", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 544, + "fields": { + "name": "Algorithm scalability design", + "description": "Designing parallel algorithms so that their performance improves as the number of processors or compute resources increases, applying principles such as Amdahl's Law and Gustafson's Law to evaluate theoretical performance limits.", + "slug": "algorithm-scalability-design", + "kind": "methodology", + "url": "https://tcpp.cs.gsu.edu/curriculum/?q=system/files/Ch04_0.pdf", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 545, + "fields": { + "name": "Agile", + "description": "Agile is an iterative approach to project management and software development that emphasises flexibility, collaboration, customer feedback, and rapid delivery of small, functional pieces of a product, rather than one big release.", + "slug": "agile", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Agile_software_development", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 546, + "fields": { + "name": "Adobe Premiere", + "description": "A timeline-based video editing software application.", + "slug": "adobe-premiere", + "kind": "tool", + "url": "https://www.adobe.com/products/premiere.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 547, + "fields": { + "name": "Adobe Photoshop", + "description": "A raster graphics editor used for image editing and digital art.", + "slug": "adobe-photoshop", + "kind": "tool", + "url": "https://www.adobe.com/products/photoshop.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 548, + "fields": { + "name": "Adobe Illustrator", + "description": "A vector graphics editor and design program used for creating logos and complex illustrations.", + "slug": "adobe-illustrator", + "kind": "tool", + "url": "https://www.adobe.com/products/illustrator.html", + "learning_resources": [] + } + }, + { + "model": "main.toollanguagemethodology", + "pk": 549, + "fields": { + "name": "Acceptance testing", + "description": "A process to determine if a software system meets the required specifications and is ready for delivery.", + "slug": "acceptance-testing", + "kind": "methodology", + "url": "https://en.wikipedia.org/wiki/Acceptance_testing", + "learning_resources": [] + } + }, + { + "model": "main.skill", + "pk": 1, + "fields": { + "name": "Computational scientific workflows (data pipelines)", + "description": "Ability to design and implement automated sequences of data processing steps that move and transform data between systems - typically within Workflow Management Systems (WMS) using workflow definition languages. ", + "slug": "computational-scientific-workflows-data-pipelines", + "competency": 1, + "rank": 140, + "tools": [ + 20, + 90, + 91, + 192, + 228, + 229, + 300, + 384, + 450, + 540 + ], + "learning_resources": [], + "related_skills": [ + 36, + 46 + ] + } + }, + { + "model": "main.skill", + "pk": 2, + "fields": { + "name": "Data acquisition", + "description": "Ability to identify, collect and process data effectively using suitable methods, tools and protocols.", + "slug": "data-acquisition", + "competency": 1, + "rank": 60, + "tools": [ + 19, + 66, + 155, + 158, + 358, + 440, + 441 + ], + "learning_resources": [], + "related_skills": [ + 88 + ] + } + }, + { + "model": "main.skill", + "pk": 3, + "fields": { + "name": "Data and database management", + "description": "Ability to effectively select a data storage system and store, retrieve, manage and analyse information within it.", + "slug": "data-and-database-management", + "competency": 1, + "rank": 40, + "tools": [ + 7, + 39, + 44, + 78, + 79, + 82, + 140, + 148, + 179, + 203, + 208, + 221, + 242, + 245, + 355, + 363, + 405, + 434, + 435, + 510 + ], + "learning_resources": [], + "related_skills": [ + 4, + 62 + ] + } + }, + { + "model": "main.skill", + "pk": 4, + "fields": { + "name": "Data and database query languages", + "description": "Proficiency in data or database query languages for managing and manipulating data.", + "slug": "data-and-database-query-languages", + "competency": 1, + "rank": 50, + "tools": [ + 6, + 8, + 80, + 84, + 348 + ], + "learning_resources": [ + 151 + ], + "related_skills": [ + 3 + ] + } + }, + { + "model": "main.skill", + "pk": 5, + "fields": { + "name": "Data cleaning", + "description": "Ability to identify, correct and remove errors, inconsistencies and missing values from datasets.", + "slug": "data-cleaning", + "competency": 1, + "rank": 70, + "tools": [ + 206, + 319, + 436 + ], + "learning_resources": [ + 81, + 85, + 165 + ], + "related_skills": [ + 10 + ] + } + }, + { + "model": "main.skill", + "pk": 6, + "fields": { + "name": "Data curation", + "description": "Ability to steward and enrich data to ensure it is accurate, well-annotated, properly documented, accessible and preserved for long-term reuse.", + "slug": "data-curation", + "competency": 1, + "rank": 90, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 7, + "fields": { + "name": "Data lifecycle management", + "description": "Ability to effectively manage data throughout its lifecycle, encompassing planning, collection, organisation, processing, storage, preservation and sharing, ensuring data quality, accessibility, compliance, protection and reuse. ", + "slug": "data-lifecycle-management", + "competency": 1, + "rank": 120, + "tools": [ + 190, + 212, + 399, + 424, + 437, + 439, + 442, + 485 + ], + "learning_resources": [ + 6, + 19, + 43, + 161, + 162 + ], + "related_skills": [ + 12 + ] + } + }, + { + "model": "main.skill", + "pk": 8, + "fields": { + "name": "Data modelling and design", + "description": "Ability to plan, architect and implement data systems using appropriate data formats that satisfy research requirements and manage data assets.", + "slug": "data-modelling-and-design", + "competency": 1, + "rank": 30, + "tools": [ + 4, + 8, + 36, + 306 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 9, + "fields": { + "name": "Data protection and ethics", + "description": "Understanding of data protection frameworks and measures to ensure secure and ethical data handling practices.", + "slug": "data-protection-and-ethics", + "competency": 1, + "rank": 110, + "tools": [ + 379, + 485 + ], + "learning_resources": [ + 140 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 10, + "fields": { + "name": "Data wrangling ", + "description": "Ability to transform raw, messy data into clean, structured formats suitable for analysis, including cleaning, reshaping, enriching, transforming and integrating data from multiple sources.", + "slug": "data-wrangling", + "competency": 1, + "rank": 80, + "tools": [ + 206 + ], + "learning_resources": [ + 136, + 153 + ], + "related_skills": [ + 5 + ] + } + }, + { + "model": "main.skill", + "pk": 11, + "fields": { + "name": "Digitisation of text and images", + "description": "Converting physical or analog materials (such as printed documents or photographs) into digital formats making them easier to store, process and share electronically.", + "slug": "digitisation-of-text-and-images", + "competency": 1, + "rank": 130, + "tools": [ + 48, + 204, + 461 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 12, + "fields": { + "name": "Metadata standards", + "description": "Ability to understand and utilise metadata to ensure data quality, consistency and discoverability.", + "slug": "metadata-standards", + "competency": 1, + "rank": 100, + "tools": [ + 116, + 306, + 320, + 404, + 415, + 416, + 470, + 500 + ], + "learning_resources": [ + 3 + ], + "related_skills": [ + 7, + 28 + ] + } + }, + { + "model": "main.skill", + "pk": 13, + "fields": { + "name": "AI/ML concepts and theory", + "description": "Ability to understand and apply fundamental concepts underlying AI/ML systems and applications.", + "slug": "aiml-concepts-and-theory", + "competency": 2, + "rank": 200, + "tools": [ + 136, + 247, + 432, + 475, + 479 + ], + "learning_resources": [], + "related_skills": [ + 14 + ] + } + }, + { + "model": "main.skill", + "pk": 14, + "fields": { + "name": "AI/ML models and technologies", + "description": "Ability to design, build, test, and deploy machine learning models and systems as software applications", + "slug": "aiml-models-and-technologies", + "competency": 2, + "rank": 210, + "tools": [ + 9, + 31, + 42, + 51, + 67, + 109, + 111, + 115, + 134, + 162, + 163, + 231, + 239, + 250, + 289, + 294, + 301, + 377, + 378, + 395, + 412, + 461, + 538 + ], + "learning_resources": [ + 35, + 69, + 102, + 123, + 127 + ], + "related_skills": [ + 15, + 13 + ] + } + }, + { + "model": "main.skill", + "pk": 15, + "fields": { + "name": "Big data technologies", + "description": "Proficiency in using big data frameworks and methodologies for managing and processing large datasets.", + "slug": "big-data-technologies", + "competency": 2, + "rank": 190, + "tools": [ + 346, + 502, + 539 + ], + "learning_resources": [], + "related_skills": [ + 16, + 17, + 14 + ] + } + }, + { + "model": "main.skill", + "pk": 16, + "fields": { + "name": "Data analysis", + "description": "Ability to process, analyse and interpret data using mathematical and statistical methods.", + "slug": "data-analysis", + "competency": 2, + "rank": 160, + "tools": [ + 74, + 81, + 82, + 113, + 122, + 154, + 164, + 197, + 216, + 220, + 222, + 269, + 270, + 271, + 355, + 376, + 405, + 445, + 526 + ], + "learning_resources": [ + 57, + 155 + ], + "related_skills": [ + 18, + 17, + 15, + 36, + 88 + ] + } + }, + { + "model": "main.skill", + "pk": 17, + "fields": { + "name": "Data mining", + "description": "Ability to discover patterns and insights from large sets of data, using techniques from statistics, machine learning and database systems. ", + "slug": "data-mining", + "competency": 2, + "rank": 180, + "tools": [ + 115, + 216 + ], + "learning_resources": [], + "related_skills": [ + 16, + 15 + ] + } + }, + { + "model": "main.skill", + "pk": 18, + "fields": { + "name": "Data visualisation", + "description": "Ability to facilitate understanding of data and communicate data analysis findings effectively through visual representations.", + "slug": "data-visualisation", + "competency": 2, + "rank": 170, + "tools": [ + 444 + ], + "learning_resources": [], + "related_skills": [ + 16, + 36, + 88 + ] + } + }, + { + "model": "main.skill", + "pk": 19, + "fields": { + "name": "APIs", + "description": "Ability design and use Application Programming Interfaces (APIs) that effectively facilitate communication between different software systems.", + "slug": "apis", + "competency": 3, + "rank": 570, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 20, + "fields": { + "name": "Code review", + "description": "Ability to effectively evaluate and improve the quality of code by understanding the code structure, logic as well as soft skills like clear communication and constructive feedback", + "slug": "code-review", + "competency": 3, + "rank": 410, + "tools": [ + 170, + 198 + ], + "learning_resources": [ + 75, + 115 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 21, + "fields": { + "name": "Coding conventions, code formatting and linting", + "description": "Understanding and applying coding standards, using code formatting tools and linters to ensure code quality consistency and readability.", + "slug": "coding-conventions-code-formatting-and-linting", + "competency": 3, + "rank": 380, + "tools": [ + 68, + 73, + 124, + 286, + 287, + 307, + 408, + 496 + ], + "learning_resources": [ + 183, + 191 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 22, + "fields": { + "name": "Compiling code", + "description": "Understanding how compilers translate high-level languages into machine code, including concepts like lexical analysis, parsing and code optimisation.", + "slug": "compiling-code", + "competency": 3, + "rank": 310, + "tools": [ + 5, + 292, + 462, + 499 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 23, + "fields": { + "name": "Computer modelling and simulation", + "description": "Ability to develop and use computational models to represent real-world systems and simulate their behaviour under different conditions.", + "slug": "computer-modelling-and-simulation", + "competency": 3, + "rank": 360, + "tools": [], + "learning_resources": [], + "related_skills": [ + 32 + ] + } + }, + { + "model": "main.skill", + "pk": 24, + "fields": { + "name": "Containerisation", + "description": "Ability to package, deploy and manage applications using containers, enabling consistent and reliable execution across diverse environments.", + "slug": "containerisation", + "competency": 3, + "rank": 510, + "tools": [ + 97, + 298, + 422, + 532, + 533, + 535 + ], + "learning_resources": [ + 207 + ], + "related_skills": [ + 79 + ] + } + }, + { + "model": "main.skill", + "pk": 25, + "fields": { + "name": "Deploying code", + "description": "Ability to take packaged software and make it available in target environments, including provisioning infrastructure, configuring services, rolling out updates, managing rollbacks and ensuring minimal downtime.", + "slug": "deploying-code", + "competency": 3, + "rank": 500, + "tools": [ + 41, + 313, + 364, + 373, + 497, + 509, + 520, + 541 + ], + "learning_resources": [ + 174 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 26, + "fields": { + "name": "Documenting software", + "description": "Ability to create clear, concise and comprehensive technical documentation that communicates the design, functionality and usage of a software product.", + "slug": "documenting-software", + "competency": 3, + "rank": 470, + "tools": [ + 83, + 144, + 145, + 153, + 156, + 251, + 274, + 308, + 316, + 420, + 456, + 472, + 480, + 484 + ], + "learning_resources": [ + 52, + 67, + 72, + 148, + 150 + ], + "related_skills": [ + 117, + 122 + ] + } + }, + { + "model": "main.skill", + "pk": 27, + "fields": { + "name": "Generative AI", + "description": "Ability to leverage AI tools to augment and enhance traditional software development processes.", + "slug": "generative-ai", + "competency": 3, + "rank": 330, + "tools": [ + 50, + 69, + 162, + 163, + 172, + 209, + 258, + 296, + 335, + 351, + 357, + 361, + 371, + 378, + 427, + 482, + 512, + 516 + ], + "learning_resources": [ + 127 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 28, + "fields": { + "name": "Good software practices", + "description": "Understanding of and expertise in developing and maintaining software that adheres to the \"good\" software practices and knowledge of tools that test for them.", + "slug": "good-software-practices", + "competency": 3, + "rank": 460, + "tools": [ + 87, + 397, + 398, + 470, + 471, + 480 + ], + "learning_resources": [ + 33, + 199 + ], + "related_skills": [ + 12 + ] + } + }, + { + "model": "main.skill", + "pk": 29, + "fields": { + "name": "Green computing", + "description": "Understanding of environmentally sustainable computing - environmental consequences of software development and deployment, including energy consumption, resource usage and the overall carbon footprint of the software lifecycle.", + "slug": "green-computing", + "competency": 3, + "rank": 530, + "tools": [], + "learning_resources": [ + 120, + 121, + 146 + ], + "related_skills": [ + 35 + ] + } + }, + { + "model": "main.skill", + "pk": 30, + "fields": { + "name": "Intellectual Property (IP) and software licensing", + "description": "Understanding Intellectual Property (IP) - who owns or controls creative work (including software) - and software licensing as the legal mechanism that grants others the right to use, modify or distribute software.", + "slug": "intellectual-property-ip-and-software-licensing", + "competency": 3, + "rank": 480, + "tools": [ + 387 + ], + "learning_resources": [ + 14, + 67, + 79, + 186 + ], + "related_skills": [ + 86 + ] + } + }, + { + "model": "main.skill", + "pk": 31, + "fields": { + "name": "Log analysis", + "description": "Ability to use log analysis tools, identify patterns and anomalies and interpret log data to diagnose issues and improve system performance.", + "slug": "log-analysis", + "competency": 3, + "rank": 430, + "tools": [], + "learning_resources": [], + "related_skills": [ + 40 + ] + } + }, + { + "model": "main.skill", + "pk": 32, + "fields": { + "name": "Numerical analysis", + "description": "Ability to develop, apply and improve numerical methods to approximate solutions to mathematical problems.", + "slug": "numerical-analysis", + "competency": 3, + "rank": 370, + "tools": [], + "learning_resources": [], + "related_skills": [ + 23 + ] + } + }, + { + "model": "main.skill", + "pk": 33, + "fields": { + "name": "Packaging and releasing code", + "description": "Preparing software for distribution, including compiling, bundling dependencies, versioning, preparing release notes and creating installable or deployable artifacts.", + "slug": "packaging-and-releasing-code", + "competency": 3, + "rank": 490, + "tools": [ + 2, + 4, + 43, + 85, + 168, + 306, + 367, + 372, + 421, + 422, + 459, + 474, + 501 + ], + "learning_resources": [ + 34, + 49 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 34, + "fields": { + "name": "Parallel programming", + "description": "Applying core parallel software design concepts, methodologies and algorithms for writing parallel code.", + "slug": "parallel-programming", + "competency": 3, + "rank": 540, + "tools": [ + 60, + 62, + 98, + 102, + 105, + 110, + 181, + 195, + 207, + 210, + 243, + 244, + 260, + 261, + 264, + 265, + 280, + 282, + 343, + 419, + 446, + 451, + 460, + 466, + 524, + 544 + ], + "learning_resources": [ + 22, + 59, + 60, + 95, + 96, + 201 + ], + "related_skills": [ + 73 + ] + } + }, + { + "model": "main.skill", + "pk": 35, + "fields": { + "name": "Profiling and optimising code", + "description": "Ability to analyse code execution, identify performance bottlenecks and implement changes to improve efficiency and responsiveness.", + "slug": "profiling-and-optimising-code", + "competency": 3, + "rank": 420, + "tools": [], + "learning_resources": [], + "related_skills": [ + 44, + 29, + 74 + ] + } + }, + { + "model": "main.skill", + "pk": 36, + "fields": { + "name": "Programming", + "description": "Writing code using the knowledge of programming languages - understanding syntax, algorithms, code and data structures.", + "slug": "programming", + "competency": 3, + "rank": 320, + "tools": [ + 38, + 104, + 119, + 123, + 126, + 127, + 154, + 164, + 174, + 191, + 197, + 220, + 270, + 275, + 284, + 303, + 305, + 315, + 317, + 334, + 388, + 487, + 488, + 489, + 506, + 543 + ], + "learning_resources": [ + 32, + 98, + 191 + ], + "related_skills": [ + 1, + 16, + 18 + ] + } + }, + { + "model": "main.skill", + "pk": 37, + "fields": { + "name": "Programming paradigms", + "description": "Ability to understand and apply different approaches to structuring and organising code.", + "slug": "programming-paradigms", + "competency": 3, + "rank": 550, + "tools": [ + 93, + 164, + 174, + 175, + 191, + 215, + 279, + 284, + 317, + 385, + 388, + 473 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 38, + "fields": { + "name": "Reading and understanding code and documentation", + "description": "Comprehending technical documents to grasp software functionality, architecture and usage.", + "slug": "reading-and-understanding-code-and-documentation", + "competency": 3, + "rank": 340, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 39, + "fields": { + "name": "Software architecture and design", + "description": "Ability to conceptualise and design the foundational structure of a software system aligned with stakeholder requirements.", + "slug": "software-architecture-and-design", + "competency": 3, + "rank": 590, + "tools": [ + 36, + 241, + 246, + 259, + 409, + 430 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 40, + "fields": { + "name": "Software debugging", + "description": "Ability to use various techniques and tools to identify, isolate and fix errors in software code.", + "slug": "software-debugging", + "competency": 3, + "rank": 400, + "tools": [ + 380 + ], + "learning_resources": [], + "related_skills": [ + 31 + ] + } + }, + { + "model": "main.skill", + "pk": 41, + "fields": { + "name": "Software patterns ", + "description": "Ability to identify, understand and apply well-established, reusable solutions to common problems in software development.", + "slug": "software-patterns", + "competency": 3, + "rank": 560, + "tools": [ + 430, + 543 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 42, + "fields": { + "name": "Software requirements", + "description": "Ability to effectively elicit, analyse and document the needs and requirements of stakeholders, translating them into a clear and actionable set of software specifications.", + "slug": "software-requirements", + "competency": 3, + "rank": 580, + "tools": [], + "learning_resources": [ + 107 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 43, + "fields": { + "name": "Software testing", + "description": "Ability to design, execute and analyse various types of tests, covering both manual and automated techniques.", + "slug": "software-testing", + "competency": 3, + "rank": 390, + "tools": [ + 34, + 47, + 58, + 86, + 161, + 165, + 178, + 248, + 249, + 302, + 304, + 312, + 318, + 329, + 373, + 449, + 549 + ], + "learning_resources": [ + 182, + 191 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 44, + "fields": { + "name": "Software validation and verification", + "description": "Ensuring that a software system meets specifications and fulfills its intended purpose.", + "slug": "software-validation-and-verification", + "competency": 3, + "rank": 450, + "tools": [ + 58, + 86, + 112, + 310, + 449, + 481 + ], + "learning_resources": [], + "related_skills": [ + 35 + ] + } + }, + { + "model": "main.skill", + "pk": 45, + "fields": { + "name": "Software version control", + "description": "Ability to use tools and techniques to track and manage changes to source code, ensuring efficient development and collaboration.", + "slug": "software-version-control", + "competency": 3, + "rank": 440, + "tools": [ + 64, + 262, + 365, + 374, + 375, + 498 + ], + "learning_resources": [ + 7, + 125, + 179, + 189 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 46, + "fields": { + "name": "Task automation", + "description": "Expertise in creation and maintenance of automated scripts and workflows that build, test and deploy software.", + "slug": "task-automation", + "competency": 3, + "rank": 520, + "tools": [ + 41, + 275, + 313, + 364, + 373, + 497, + 509, + 520, + 541 + ], + "learning_resources": [], + "related_skills": [ + 1 + ] + } + }, + { + "model": "main.skill", + "pk": 47, + "fields": { + "name": "Text mining", + "description": "Ability to design expressions to match specific patterns within textual data.", + "slug": "text-mining", + "competency": 3, + "rank": 350, + "tools": [ + 135 + ], + "learning_resources": [ + 80 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 48, + "fields": { + "name": "General Web technologies and APIs", + "description": "Ability to understand, use and implement fundamental technologies for web development and communication.", + "slug": "general-web-technologies-and-apis", + "competency": 5, + "rank": 240, + "tools": [ + 76, + 89, + 132, + 336, + 337 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 49, + "fields": { + "name": "Mobile app development", + "description": "Ability to design, implement and optimise the user interface and user experience of mobile applications, translating design concepts into functional, responsive, and visually engaging app interfaces.", + "slug": "mobile-app-development", + "competency": 5, + "rank": 290, + "tools": [ + 11, + 63, + 146, + 391, + 448 + ], + "learning_resources": [], + "related_skills": [ + 53 + ] + } + }, + { + "model": "main.skill", + "pk": 50, + "fields": { + "name": "Web accessibility", + "description": "Ability to design and build websites and web applications that are usable by everyone, including individuals with disabilities.", + "slug": "web-accessibility", + "competency": 5, + "rank": 250, + "tools": [ + 22 + ], + "learning_resources": [ + 89 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 51, + "fields": { + "name": "Web frameworks for back-end development", + "description": "Ability to use web frameworks to build and maintain server-side applications, including implementing application logic, interacting with databases, and developing APIs for data and service access.", + "slug": "web-frameworks-for-backend-development", + "competency": 5, + "rank": 270, + "tools": [ + 69, + 103, + 125, + 146, + 188, + 224, + 230, + 238, + 314, + 391, + 392, + 394, + 401, + 425, + 447, + 448 + ], + "learning_resources": [], + "related_skills": [ + 52, + 53 + ] + } + }, + { + "model": "main.skill", + "pk": 52, + "fields": { + "name": "Web frameworks for front-end development", + "description": "Proficiency in using programming tools and libraries to build and maintain the interactive and visual aspects of websites and web applications.", + "slug": "web-frameworks-for-frontend-development", + "competency": 5, + "rank": 260, + "tools": [ + 15, + 26, + 38, + 56, + 65, + 121, + 147, + 219, + 223, + 309, + 315, + 452, + 490, + 493, + 542 + ], + "learning_resources": [], + "related_skills": [ + 51, + 53 + ] + } + }, + { + "model": "main.skill", + "pk": 53, + "fields": { + "name": "Website development", + "description": "Ability to create Web pages or websites to maintain a presence on the World Wide Web.", + "slug": "website-development", + "competency": 5, + "rank": 280, + "tools": [ + 15, + 121, + 274, + 306, + 315, + 337, + 369, + 452 + ], + "learning_resources": [], + "related_skills": [ + 52, + 51, + 49 + ] + } + }, + { + "model": "main.skill", + "pk": 54, + "fields": { + "name": "Accessible design", + "description": "Ability to design and develop user interfaces and experiences that are usable by people with a wide range of abilities and disabilities.", + "slug": "accessible-design", + "competency": 4, + "rank": 630, + "tools": [ + 21, + 467 + ], + "learning_resources": [ + 4 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 55, + "fields": { + "name": "Designing user experience", + "description": "Understanding user needs through research, creating intuitive interfaces via wireframing and prototyping and ensuring usability through testing.", + "slug": "designing-user-experience", + "competency": 4, + "rank": 620, + "tools": [ + 16, + 349 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 56, + "fields": { + "name": "Designing user interfaces", + "description": "Proficiency in design principles, best practices, heuristic, tools and understanding of user behaviour for interface design.", + "slug": "designing-user-interfaces", + "competency": 4, + "rank": 610, + "tools": [ + 16, + 45, + 160, + 166, + 167, + 349 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 57, + "fields": { + "name": "Environment and package management", + "description": "Technical proficiency in sourcing, compiling, building and adminstrating software environments (software packages and dependencies).", + "slug": "environment-and-package-management", + "competency": 7, + "rank": 730, + "tools": [ + 85, + 283, + 414, + 474, + 491, + 501 + ], + "learning_resources": [], + "related_skills": [ + 63, + 71 + ] + } + }, + { + "model": "main.skill", + "pk": 58, + "fields": { + "name": "Hardware systems", + "description": "Knowledge of the physical components (including CPUs, GPUs, memory and accelerators) that support small and large-scale computational tasks.", + "slug": "hardware-systems", + "competency": 7, + "rank": 660, + "tools": [ + 107, + 227, + 265, + 352, + 453 + ], + "learning_resources": [], + "related_skills": [ + 62, + 60, + 61, + 64, + 75 + ] + } + }, + { + "model": "main.skill", + "pk": 59, + "fields": { + "name": "Network and application security", + "description": "Proficiency in protecting networks, systems and applications from security threats.", + "slug": "network-and-application-security", + "competency": 7, + "rank": 700, + "tools": [ + 25, + 76, + 77, + 189, + 226, + 257, + 321, + 322, + 336, + 362, + 393, + 411, + 476, + 508, + 515, + 522, + 523 + ], + "learning_resources": [ + 2 + ], + "related_skills": [ + 61, + 63, + 67 + ] + } + }, + { + "model": "main.skill", + "pk": 60, + "fields": { + "name": "Network architecture design", + "description": "Ability to design and optimise network structures and topologies to ensure reliable, secure and high-performance communication between systems, considering factors such as scalability, latency, bandwidth and fault tolerance.", + "slug": "network-architecture-design", + "competency": 7, + "rank": 680, + "tools": [ + 128, + 232, + 233, + 234, + 235, + 330 + ], + "learning_resources": [], + "related_skills": [ + 58, + 61, + 64, + 75 + ] + } + }, + { + "model": "main.skill", + "pk": 61, + "fields": { + "name": "Network communication protocols", + "description": "Understanding how information is transmitted, routed and received across networks.", + "slug": "network-communication-protocols", + "competency": 7, + "rank": 690, + "tools": [ + 18, + 37, + 54, + 92, + 129, + 184, + 322, + 323, + 330, + 332, + 336, + 386, + 423, + 492 + ], + "learning_resources": [], + "related_skills": [ + 58, + 60, + 59, + 63, + 66, + 67 + ] + } + }, + { + "model": "main.skill", + "pk": 62, + "fields": { + "name": "Storage systems", + "description": "Ability to design, configure, manage and optimise systems used to store, organise, protect, and retrieve digital data, including storage hardware, storage architectures, data management strategies and reliability mechanisms.", + "slug": "storage-systems", + "competency": 7, + "rank": 670, + "tools": [ + 71, + 72, + 208, + 227, + 438, + 443 + ], + "learning_resources": [], + "related_skills": [ + 3, + 58, + 64, + 63, + 70 + ] + } + }, + { + "model": "main.skill", + "pk": 63, + "fields": { + "name": "System configuration and administration", + "description": "\nAbility to configure, manage and maintain systems to support live applications and services.", + "slug": "system-configuration-and-administration", + "competency": 7, + "rank": 720, + "tools": [ + 32, + 33, + 49, + 61, + 97, + 182, + 199, + 205, + 252, + 276, + 285, + 331, + 344, + 532, + 533, + 541 + ], + "learning_resources": [], + "related_skills": [ + 62, + 61, + 59, + 57 + ] + } + }, + { + "model": "main.skill", + "pk": 64, + "fields": { + "name": "Systems architecture and infrastructure design", + "description": "Ability to design integrated computing systems by selecting and organising compute, storage, and networking components to meet performance, scalability and reliability requirements.", + "slug": "systems-architecture-and-infrastructure-design", + "competency": 7, + "rank": 710, + "tools": [], + "learning_resources": [], + "related_skills": [ + 58, + 62, + 60 + ] + } + }, + { + "model": "main.skill", + "pk": 65, + "fields": { + "name": "Web and application servers", + "description": "Ability to manage and maintain the infrastructure that hosts websites and Web applications and services.", + "slug": "web-and-application-servers", + "competency": 9, + "rank": 910, + "tools": [ + 17, + 223, + 225, + 536, + 537 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 66, + "fields": { + "name": "Web protocols", + "description": "Ability to understand, implement, and manage the various communication standards that govern data exchange on the Web.", + "slug": "web-protocols", + "competency": 9, + "rank": 890, + "tools": [ + 76, + 336, + 423 + ], + "learning_resources": [], + "related_skills": [ + 61 + ] + } + }, + { + "model": "main.skill", + "pk": 67, + "fields": { + "name": "Web security", + "description": "Ability to protect websites, Web applications and web infrastructure from various online threats and vulnerabilities.", + "slug": "web-security", + "competency": 9, + "rank": 900, + "tools": [ + 76, + 77, + 171, + 322, + 336 + ], + "learning_resources": [], + "related_skills": [ + 61, + 59 + ] + } + }, + { + "model": "main.skill", + "pk": 68, + "fields": { + "name": "Cluster infrastructure", + "description": "Familiarity with cluster infrastructure's physical components including compute nodes, head nodes, login nodes, interconnects, networking, lock management.", + "slug": "cluster-infrastructure", + "competency": 8, + "rank": 820, + "tools": [ + 141 + ], + "learning_resources": [ + 42, + 185 + ], + "related_skills": [ + 77, + 70 + ] + } + }, + { + "model": "main.skill", + "pk": 69, + "fields": { + "name": "Cluster management", + "description": "Managing and maintaining HPC clusters to ensure reliability, performance, and availability. This includes system configuration, resource allocation, user and quota management, security, monitoring, upgrades, and troubleshooting hardware and software issues in multi-user, large-scale computing environments.", + "slug": "cluster-management", + "competency": 8, + "rank": 840, + "tools": [ + 10, + 24, + 173, + 240, + 350, + 383, + 541 + ], + "learning_resources": [], + "related_skills": [ + 71, + 72 + ] + } + }, + { + "model": "main.skill", + "pk": 70, + "fields": { + "name": "High-performance storage systems", + "description": "Ability to design, configure and use storage systems that allow multiple processes or compute nodes to read and write data simultaneously, enabling high-throughput data access in parallel and distributed computing environments.", + "slug": "highperformance-storage-systems", + "competency": 8, + "rank": 810, + "tools": [ + 70, + 194, + 278, + 353, + 396, + 505, + 517 + ], + "learning_resources": [], + "related_skills": [ + 62, + 75, + 68, + 71 + ] + } + }, + { + "model": "main.skill", + "pk": 71, + "fields": { + "name": "HPC software stack", + "description": "Understanding of the layered software environment that enables high-performance computing, including operating systems, compilers, libraries, middleware, runtimes, and scientific applications. This includes configuring, deploying, and maintaining software to support efficient and reproducible computation on HPC systems.", + "slug": "hpc-software-stack", + "competency": 8, + "rank": 830, + "tools": [ + 30, + 33, + 205, + 207, + 217, + 218, + 261, + 285, + 291, + 295, + 327, + 380, + 381, + 451, + 462, + 495, + 501 + ], + "learning_resources": [], + "related_skills": [ + 57, + 70, + 69 + ] + } + }, + { + "model": "main.skill", + "pk": 72, + "fields": { + "name": "Job scheduling and resource management", + "description": "Understanding of job schedulers and resource management to allocate compute resources effectively. This includes writing job submission scripts, understanding queue policies, optimising resource requests, and supporting fair and efficient use of shared HPC infrastructure.", + "slug": "job-scheduling-and-resource-management", + "competency": 8, + "rank": 850, + "tools": [ + 94, + 183, + 202, + 281, + 282, + 311, + 338, + 483 + ], + "learning_resources": [], + "related_skills": [ + 69, + 73 + ] + } + }, + { + "model": "main.skill", + "pk": 73, + "fields": { + "name": "Parallel computing and usage of HPC systems", + "description": "Understaning of cluster operation and proficiency in using HPC infrastructures and running, scaling and optimising parallel applications on high-performance computing systems.", + "slug": "parallel-computing-and-usage-of-hpc-systems", + "competency": 8, + "rank": 870, + "tools": [ + 118, + 150, + 180, + 265, + 282, + 341, + 426, + 451, + 539 + ], + "learning_resources": [ + 22, + 60, + 96 + ], + "related_skills": [ + 34, + 72, + 74 + ] + } + }, + { + "model": "main.skill", + "pk": 74, + "fields": { + "name": "Performance analysis and optimisation", + "description": "Ability to profile and benchmark applications to identify bottlenecks and optimise applications and systems on HPC systems for high performance.", + "slug": "performance-analysis-and-optimisation", + "competency": 8, + "rank": 860, + "tools": [ + 29, + 55, + 117, + 138, + 193, + 328, + 339, + 400, + 406, + 530, + 531 + ], + "learning_resources": [], + "related_skills": [ + 35, + 73 + ] + } + }, + { + "model": "main.skill", + "pk": 75, + "fields": { + "name": "Supercomputer architecture", + "description": "Understanding of supercomputer architectures (e.g., node types, interconnects, storage systems).", + "slug": "supercomputer-architecture", + "competency": 8, + "rank": 800, + "tools": [], + "learning_resources": [], + "related_skills": [ + 58, + 60, + 70 + ] + } + }, + { + "model": "main.skill", + "pk": 76, + "fields": { + "name": "Cloud computing", + "description": "Ability to work with cloud services, platforms, and technologies in a cost-efficient and optimised manner.", + "slug": "cloud-computing", + "competency": 6, + "rank": 770, + "tools": [ + 49, + 513, + 521 + ], + "learning_resources": [ + 63 + ], + "related_skills": [ + 78 + ] + } + }, + { + "model": "main.skill", + "pk": 77, + "fields": { + "name": "Cost modelling", + "description": "Ability to estimate, monitor and optimise the cost of cloud resources and services.", + "slug": "cost-modelling", + "competency": 6, + "rank": 750, + "tools": [ + 95, + 101, + 133, + 477, + 511, + 518 + ], + "learning_resources": [ + 120 + ], + "related_skills": [ + 68 + ] + } + }, + { + "model": "main.skill", + "pk": 78, + "fields": { + "name": "Serverless computing", + "description": "Proficiency in serverless technologies, understanding of event-driven architectures and a cloud computing execution model that allows one to build and run application code without provisioning or managing servers or back-end infrastructure and allocates machine resources on an as-used basis. ", + "slug": "serverless-computing", + "competency": 6, + "rank": 760, + "tools": [ + 236, + 360, + 507, + 519 + ], + "learning_resources": [], + "related_skills": [ + 76 + ] + } + }, + { + "model": "main.skill", + "pk": 79, + "fields": { + "name": "Virtualisation and container infrastructure", + "description": "Ability to create, manage, orchestrate and troubleshoot virtualisation technologies, including the ability to deploy, scale, and monitor applications running within them.", + "slug": "virtualisation-and-container-infrastructure", + "competency": 6, + "rank": 780, + "tools": [ + 27, + 28, + 97, + 169, + 186, + 201, + 237, + 256, + 299, + 422, + 514, + 535, + 541 + ], + "learning_resources": [], + "related_skills": [ + 24 + ] + } + }, + { + "model": "main.skill", + "pk": 80, + "fields": { + "name": "Adaptability of technical skills across domains", + "description": "Ability to apply scientific, technical or engineering methodologies to different domains and problems.", + "slug": "adaptability-of-technical-skills-across-domains", + "competency": 10, + "rank": 1590, + "tools": [], + "learning_resources": [], + "related_skills": [ + 90 + ] + } + }, + { + "model": "main.skill", + "pk": 81, + "fields": { + "name": "Domain-specific background knowledge", + "description": "An understanding of concepts, theories, and best practices within a particular field or discipline.", + "slug": "domainspecific-background-knowledge", + "competency": 10, + "rank": 1570, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 82, + "fields": { + "name": "Specialist technical or hardware knowledge", + "description": "Knowledge of specialised computer or hardware systems designed to control specific functions within a larger device or machine", + "slug": "specialist-technical-or-hardware-knowledge", + "competency": 10, + "rank": 1600, + "tools": [ + 59, + 108, + 120, + 151, + 152, + 267, + 324, + 413, + 455, + 534 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 83, + "fields": { + "name": "Translating technical language for all stakeholders", + "description": "Translating between technical software engineering concepts and the language of non-software-engineer stakeholders, such as researchers, scientists or other business or academic teams.", + "slug": "translating-technical-language-for-all-stakeholders", + "competency": 10, + "rank": 1580, + "tools": [ + 100 + ], + "learning_resources": [], + "related_skills": [ + 121, + 122 + ] + } + }, + { + "model": "main.skill", + "pk": 84, + "fields": { + "name": "Ethical responsibility", + "description": "Ability to identify potential ethical concerns related to research subjects' welfare, data collection, storage and security methods, informed consent and privacy.", + "slug": "ethical-responsibility", + "competency": 11, + "rank": 1660, + "tools": [ + 379, + 407, + 485 + ], + "learning_resources": [ + 135 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 85, + "fields": { + "name": "Finding, understanding and synthesising relevant information", + "description": "Ability to do literature review - find, read and digest relevant research and synthesise information from multiple sources (such as academic literature, reports, books and research papers) and critically assess its relevance, credibility, and quality.", + "slug": "finding-understanding-and-synthesising-relevant-information", + "competency": 11, + "rank": 1630, + "tools": [ + 57, + 149, + 356, + 529 + ], + "learning_resources": [ + 68 + ], + "related_skills": [ + 88 + ] + } + }, + { + "model": "main.skill", + "pk": 86, + "fields": { + "name": "Legal and regulatory responsibility", + "description": "Understanding of legislation and legal responsibilities when conducting work in specific research areas.", + "slug": "legal-and-regulatory-responsibility", + "competency": 11, + "rank": 1670, + "tools": [ + 267, + 290, + 326, + 379, + 402, + 478 + ], + "learning_resources": [ + 84, + 141, + 142 + ], + "related_skills": [ + 30 + ] + } + }, + { + "model": "main.skill", + "pk": 87, + "fields": { + "name": "Peer review of research papers", + "description": "Ability to provide constructive, evidence-based feedback on other people\u2019s work to improve quality, foster learning and advance research.", + "slug": "peer-review-of-research-papers", + "competency": 11, + "rank": 1650, + "tools": [], + "learning_resources": [], + "related_skills": [ + 120 + ] + } + }, + { + "model": "main.skill", + "pk": 88, + "fields": { + "name": "Research methodologies", + "description": "Expertise in research methodology - formulating testable predictions based on observations, theories or existing knowledge and systematically evaluating them through empirical methods.", + "slug": "research-methodologies", + "competency": 11, + "rank": 1620, + "tools": [ + 1, + 57, + 99, + 137, + 139, + 149, + 157, + 159, + 196, + 263, + 270, + 297, + 403, + 410, + 454, + 458 + ], + "learning_resources": [ + 40 + ], + "related_skills": [ + 2, + 16, + 18, + 85 + ] + } + }, + { + "model": "main.skill", + "pk": 89, + "fields": { + "name": "Writing research papers", + "description": "Ability to present research ideas and work in research and scientific publications, including presenting evidence, evaluation and argumentation in academic paper structure.", + "slug": "writing-research-papers", + "competency": 11, + "rank": 1640, + "tools": [ + 1, + 139, + 200, + 263, + 293, + 389, + 410, + 503 + ], + "learning_resources": [ + 40, + 202 + ], + "related_skills": [ + 122 + ] + } + }, + { + "model": "main.skill", + "pk": 90, + "fields": { + "name": "Adaptability", + "description": "Ability to adjust to new conditions, changes in the environment or unexpected challenges.", + "slug": "adaptability", + "competency": 13, + "rank": 970, + "tools": [], + "learning_resources": [], + "related_skills": [ + 80 + ] + } + }, + { + "model": "main.skill", + "pk": 91, + "fields": { + "name": "Analytical skills and problem solving", + "description": "Ability to break down complex problems, evaluate information and available options critically, and select the most effective solution based on logical reasoning.", + "slug": "analytical-skills-and-problem-solving", + "competency": 13, + "rank": 940, + "tools": [], + "learning_resources": [ + 105 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 92, + "fields": { + "name": "Business acumen", + "description": "Understanding and application of fundamental business principles to make informed decisions that drive success.", + "slug": "business-acumen", + "competency": 13, + "rank": 990, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 93, + "fields": { + "name": "Curiosity", + "description": "Being inquisitive and willing to ask questions, explore new ideas and seek deeper understanding.", + "slug": "curiosity", + "competency": 13, + "rank": 950, + "tools": [], + "learning_resources": [], + "related_skills": [ + 96, + 111, + 131 + ] + } + }, + { + "model": "main.skill", + "pk": 94, + "fields": { + "name": "Decision making", + "description": "Ability to assess information, weigh options, consider potential outcomes and choose the best course of action in a given situation.", + "slug": "decision-making", + "competency": 13, + "rank": 1050, + "tools": [ + 433 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 95, + "fields": { + "name": "Goal-setting", + "description": "Ability to identify, plan and work toward achievable objectives, both short- and long-term, with focus and discipline.", + "slug": "goalsetting", + "competency": 13, + "rank": 1010, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 96, + "fields": { + "name": "Innovation and creativity", + "description": "Ability to think outside the box, generate new ideas and find novel solutions to problems or opportunities.", + "slug": "innovation-and-creativity", + "competency": 13, + "rank": 1020, + "tools": [ + 429 + ], + "learning_resources": [], + "related_skills": [ + 93 + ] + } + }, + { + "model": "main.skill", + "pk": 97, + "fields": { + "name": "Integrity and ethics", + "description": "Being ethical, acting with honesty, fairness and respect and upholding strong moral principles even when it is difficult or inconvenient.", + "slug": "integrity-and-ethics", + "competency": 13, + "rank": 1000, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 98, + "fields": { + "name": "Maintaining focus", + "description": "Ability to concentrate on a specific task despite distractions.", + "slug": "maintaining-focus", + "competency": 13, + "rank": 1040, + "tools": [ + 185 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 99, + "fields": { + "name": "Positive engagement", + "description": "Demonstrating a genuine interest, energy, enthusiasm and positive attitude toward tasks, learning and collaboration.", + "slug": "positive-engagement", + "competency": 13, + "rank": 960, + "tools": [], + "learning_resources": [ + 109 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 100, + "fields": { + "name": "Resilience", + "description": "Ability to recover from setbacks, cope with stress and maintain motivation and focus in face of difficulties.", + "slug": "resilience", + "competency": 13, + "rank": 980, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 101, + "fields": { + "name": "Self-reflection", + "description": "Ability to conduct reflective practice and identify opportunities for growth and improvement.", + "slug": "selfreflection", + "competency": 13, + "rank": 1070, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 102, + "fields": { + "name": "Time management and context switching", + "description": "Ability to effectively prioritise and shift focus between competing demands, manage deadlines and allocate time across multiple responsibilities without sacrificing quality.", + "slug": "time-management-and-context-switching", + "competency": 13, + "rank": 1030, + "tools": [ + 14, + 46 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 103, + "fields": { + "name": "Understanding of mental health, stress and burnout", + "description": "Awareness of emotional well-being, recognising signs of stress or burnout in yourself and others, and applying strategies for maintaining mental health.", + "slug": "understanding-of-mental-health-stress-and-burnout", + "competency": 13, + "rank": 1060, + "tools": [], + "learning_resources": [ + 25, + 77 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 104, + "fields": { + "name": "Conflict prevention and resolution", + "description": "Ability to identify potential sources of conflict and address them constructively through communication, compromise and mediation.", + "slug": "conflict-prevention-and-resolution", + "competency": 12, + "rank": 1140, + "tools": [], + "learning_resources": [ + 114, + 119, + 147, + 193 + ], + "related_skills": [ + 104 + ] + } + }, + { + "model": "main.skill", + "pk": 105, + "fields": { + "name": "Cultural awareness and sensitivity", + "description": "Ability to recognise, respect, and appropriately respond to cultural differences in beliefs, behaviors, and communication styles", + "slug": "cultural-awareness-and-sensitivity", + "competency": 12, + "rank": 1090, + "tools": [], + "learning_resources": [ + 20 + ], + "related_skills": [ + 106 + ] + } + }, + { + "model": "main.skill", + "pk": 106, + "fields": { + "name": "EDIA awareness", + "description": "Understanding principles of Equity, Diversity, Inclusion, and Accessibility (EDIA), and actively applying inclusive practices in your work and environment.", + "slug": "edia-awareness", + "competency": 12, + "rank": 1120, + "tools": [], + "learning_resources": [ + 10, + 200 + ], + "related_skills": [ + 105, + 110 + ] + } + }, + { + "model": "main.skill", + "pk": 107, + "fields": { + "name": "Emotional intelligence, empathy and respect for others", + "description": "Ability to understand, manage and respond to your own emotions and those of others, fostering trust, respect and effective communication.", + "slug": "emotional-intelligence-empathy-and-respect-for-others", + "competency": 12, + "rank": 1100, + "tools": [], + "learning_resources": [ + 21, + 205 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 108, + "fields": { + "name": "Influencing, persuasion and negotiation", + "description": "Communicating effectively to shape opinions, reach agreements, and achieve mutually beneficial outcomes while respecting others' viewpoints", + "slug": "influencing-persuasion-and-negotiation", + "competency": 12, + "rank": 1150, + "tools": [], + "learning_resources": [], + "related_skills": [ + 142 + ] + } + }, + { + "model": "main.skill", + "pk": 109, + "fields": { + "name": "Patience", + "description": "Ability to remaining calm, tolerant and professional during complex or slow processes.", + "slug": "patience", + "competency": 12, + "rank": 1110, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 110, + "fields": { + "name": "Recognising stereotypes and unconscious bias", + "description": "Identifying automatic, often unconscious, biases - in oneself, collegues or community - and consciously challenging them to avoid discrimination.", + "slug": "recognising-stereotypes-and-unconscious-bias", + "competency": 12, + "rank": 1130, + "tools": [ + 143 + ], + "learning_resources": [], + "related_skills": [ + 106 + ] + } + }, + { + "model": "main.skill", + "pk": 111, + "fields": { + "name": "Asking for help or asking to understand", + "description": "Willingness to seek clarification, request support or ask thoughtful questions to enhance understanding and avoid mistakes.", + "slug": "asking-for-help-or-asking-to-understand", + "competency": 14, + "rank": 1170, + "tools": [], + "learning_resources": [], + "related_skills": [ + 93, + 113 + ] + } + }, + { + "model": "main.skill", + "pk": 112, + "fields": { + "name": "Collaboration", + "description": "Working effectively with others, sharing resources and coordinating efforts to achieve shared objectives.", + "slug": "collaboration", + "competency": 14, + "rank": 1180, + "tools": [], + "learning_resources": [], + "related_skills": [ + 114, + 124 + ] + } + }, + { + "model": "main.skill", + "pk": 113, + "fields": { + "name": "Understanding, extracting and documenting other people's ideas or knowledge", + "description": "Ability to actively listen, ask clarifying questions and accurately capture and organise another person\u2019s insights or expertise for shared use.", + "slug": "understanding-extracting-and-documenting-other-peoples-ideas-or-knowledge", + "competency": 14, + "rank": 1200, + "tools": [], + "learning_resources": [], + "related_skills": [ + 111, + 115 + ] + } + }, + { + "model": "main.skill", + "pk": 114, + "fields": { + "name": "Using collaborative tools", + "description": "Ability to effectively use collaborative platforms and tools for sharing ideas, content and real-time collaboration across distances.", + "slug": "using-collaborative-tools", + "competency": 14, + "rank": 1190, + "tools": [ + 96, + 253, + 268, + 345, + 359, + 374, + 418, + 469 + ], + "learning_resources": [ + 203 + ], + "related_skills": [ + 112 + ] + } + }, + { + "model": "main.skill", + "pk": 115, + "fields": { + "name": "Active listening", + "description": "Ability to be an attentive and engaged listener.", + "slug": "active-listening", + "competency": 17, + "rank": 1750, + "tools": [], + "learning_resources": [], + "related_skills": [ + 113 + ] + } + }, + { + "model": "main.skill", + "pk": 116, + "fields": { + "name": "Assertive communication", + "description": "Ability to be assertive in communication, including setting boundaries and declining requests firmly and politely when needed.", + "slug": "assertive-communication", + "competency": 17, + "rank": 1770, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 117, + "fields": { + "name": "Information synthesis and concise written communication", + "description": "Ability to structure and condense information in a written form for engaging with a diverse audience.", + "slug": "information-synthesis-and-concise-written-communication", + "competency": 17, + "rank": 1710, + "tools": [ + 13, + 463, + 464, + 465 + ], + "learning_resources": [], + "related_skills": [ + 26, + 122, + 130 + ] + } + }, + { + "model": "main.skill", + "pk": 118, + "fields": { + "name": "Multimedia and social content production", + "description": "Ability to create, edit, and manage various forms of digital content across multiple media platforms, e.g. graphic design, audio/video/animation production, social media, etc.", + "slug": "multimedia-and-social-content-production", + "competency": 17, + "rank": 1730, + "tools": [ + 3, + 12, + 187, + 214, + 272, + 288, + 486, + 494, + 546, + 547, + 548 + ], + "learning_resources": [ + 29 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 119, + "fields": { + "name": "Note taking", + "description": "Ability to document and organise meeting information and capture clear actions.", + "slug": "note-taking", + "competency": 17, + "rank": 1740, + "tools": [ + 142 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 120, + "fields": { + "name": "Providing positive and constructive feedback", + "description": "Ability to offer supportive and insightful feedback and review comments on other's work to improve quality, foster learning, and uphold standards.", + "slug": "providing-positive-and-constructive-feedback", + "competency": 17, + "rank": 1760, + "tools": [], + "learning_resources": [ + 23, + 31, + 172 + ], + "related_skills": [ + 87 + ] + } + }, + { + "model": "main.skill", + "pk": 121, + "fields": { + "name": "Public speaking and presentation", + "description": "Public speaking, presentation and communication with a diverse audience (general public, non-technical, technical or cross-disciplinary audiences).", + "slug": "public-speaking-and-presentation", + "competency": 17, + "rank": 1700, + "tools": [ + 255, + 354, + 428, + 463, + 464, + 465 + ], + "learning_resources": [ + 50, + 56, + 145 + ], + "related_skills": [ + 83, + 130 + ] + } + }, + { + "model": "main.skill", + "pk": 122, + "fields": { + "name": "Technical writing", + "description": "Ability to create clear, concise, and structured technical documentation.", + "slug": "technical-writing", + "competency": 17, + "rank": 1720, + "tools": [ + 52, + 53, + 83, + 145, + 153, + 156, + 200, + 251, + 274, + 293, + 463 + ], + "learning_resources": [], + "related_skills": [ + 26, + 83, + 89, + 117 + ] + } + }, + { + "model": "main.skill", + "pk": 123, + "fields": { + "name": "Community building and leadership", + "description": "Ability to inspire, guide and mobilise people toward a shared vision or a goal.", + "slug": "community-building-and-leadership", + "competency": 15, + "rank": 1820, + "tools": [], + "learning_resources": [ + 124, + 171, + 176, + 203 + ], + "related_skills": [ + 162, + 125, + 127 + ] + } + }, + { + "model": "main.skill", + "pk": 124, + "fields": { + "name": "Community engagement", + "description": "Ability to actively and constructively participate in professional, research and open communities in ways that build relationships, enable collaboration, support others and strengthen shared goals.", + "slug": "community-engagement", + "competency": 15, + "rank": 1850, + "tools": [], + "learning_resources": [ + 61 + ], + "related_skills": [ + 112 + ] + } + }, + { + "model": "main.skill", + "pk": 125, + "fields": { + "name": "Community governance and management", + "description": "Setting norms, structures and processes to guide decision-making, coordination, communication and participation within a community.", + "slug": "community-governance-and-management", + "competency": 15, + "rank": 1830, + "tools": [ + 35, + 96, + 213, + 266, + 268, + 273, + 366, + 433, + 472, + 527 + ], + "learning_resources": [ + 11, + 41, + 76, + 122, + 124, + 177, + 187, + 204 + ], + "related_skills": [ + 148, + 123, + 127 + ] + } + }, + { + "model": "main.skill", + "pk": 126, + "fields": { + "name": "Networking and relationship building", + "description": "Establishing connections at professional gatherings to exchange knowledge, support and opportunities for growth.", + "slug": "networking-and-relationship-building", + "competency": 15, + "rank": 1800, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 127, + "fields": { + "name": "Open project culture, structure and practices ", + "description": "Understanding of different open science or open source communities of practice and how they work - structures, norms, governance, incentives and sustainability.", + "slug": "open-project-culture-structure-and-practices", + "competency": 15, + "rank": 1840, + "tools": [ + 211 + ], + "learning_resources": [ + 1, + 36, + 45, + 47, + 65, + 78, + 86, + 128, + 197 + ], + "related_skills": [ + 164, + 123, + 125 + ] + } + }, + { + "model": "main.skill", + "pk": 128, + "fields": { + "name": "Peer support and creating safe spaces", + "description": "Providing emotional, social and practical support to other members of a community, fostering mutual understanding, encouragement and personal growth.", + "slug": "peer-support-and-creating-safe-spaces", + "competency": 15, + "rank": 1790, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 129, + "fields": { + "name": "Raising awareness of or advocating for issues", + "description": "Identifying, communicating and educating others about a specific problem to generate action, support or change.", + "slug": "raising-awareness-of-or-advocating-for-issues", + "competency": 15, + "rank": 1810, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 130, + "fields": { + "name": "Knowledge exchange", + "description": "Ability to share information, expertise and good practices within a team, organisation or community.", + "slug": "knowledge-exchange", + "competency": 16, + "rank": 1900, + "tools": [ + 177, + 198, + 213, + 255, + 354, + 486 + ], + "learning_resources": [], + "related_skills": [ + 121, + 117 + ] + } + }, + { + "model": "main.skill", + "pk": 131, + "fields": { + "name": "Lifelong learning", + "description": "Ongoing, voluntary and self-motivated pursuit of learning for either personal or professional reasons.", + "slug": "lifelong-learning", + "competency": 16, + "rank": 1890, + "tools": [], + "learning_resources": [], + "related_skills": [ + 93 + ] + } + }, + { + "model": "main.skill", + "pk": 132, + "fields": { + "name": "Pedagogical skills and theory of learning", + "description": "Ability to design, deliver and evaluate teaching based on an understanding of the theory of how people learn and how best to teach them.", + "slug": "pedagogical-skills-and-theory-of-learning", + "competency": 16, + "rank": 1870, + "tools": [], + "learning_resources": [ + 24, + 143, + 188 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 133, + "fields": { + "name": "Self-learning", + "description": "Ability to learn independently and teach oneself new technical and non-technical skills.", + "slug": "selflearning", + "competency": 16, + "rank": 1880, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 134, + "fields": { + "name": "Teaching and training others", + "description": "Ability to convey theoretical and practical knowledge to others, address misconceptions, etc. in training events, while applying good practice from pedagogical theory.", + "slug": "teaching-and-training-others", + "competency": 16, + "rank": 1910, + "tools": [], + "learning_resources": [ + 24, + 143, + 188 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 135, + "fields": { + "name": "Training material development", + "description": "Ability to design and develop various short-format training materials (tutorials, courses, etc.), while applying good practice from pedagogical theory.", + "slug": "training-material-development", + "competency": 16, + "rank": 1920, + "tools": [], + "learning_resources": [ + 190 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 136, + "fields": { + "name": "Acknowledgement of contributions", + "description": "Acknowledging and appreciating contributions and achievements of team members, reinforcing positive behavior and boosting morale.", + "slug": "acknowledgement-of-contributions", + "competency": 19, + "rank": 1270, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 137, + "fields": { + "name": "Recruiting people", + "description": "Ability to recruite suitable candidates for a position, including the creation of clear and effective job descriptions that outline roles, responsibilities, qualifications and expectations.", + "slug": "recruiting-people", + "competency": 19, + "rank": 1250, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 138, + "fields": { + "name": "Shielding colleagues from destructive criticism", + "description": "Protecting team members from unconstructive or harmful feedback by offering support and ensuring criticism is delivered in a constructive, respectful manner.", + "slug": "shielding-colleagues-from-destructive-criticism", + "competency": 19, + "rank": 1280, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 139, + "fields": { + "name": "Team building and development", + "description": "Ability to bring new people, improve skills, knowledge, and overall capabilities in a team, and foster a positive and collaborative environment that enhances teamwork.", + "slug": "team-building-and-development", + "competency": 19, + "rank": 1260, + "tools": [], + "learning_resources": [ + 137 + ], + "related_skills": [ + 160 + ] + } + }, + { + "model": "main.skill", + "pk": 140, + "fields": { + "name": "Team management", + "description": "Ability to lead, coordinate and motivate a group of individuals to achieve common goals.", + "slug": "team-management", + "competency": 19, + "rank": 1230, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 141, + "fields": { + "name": "Team performance management", + "description": "Ability to set goals, monitor progress, provide feedback and evaluate performance of team members to improve efficiency and effectiveness.", + "slug": "team-performance-management", + "competency": 19, + "rank": 1240, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 142, + "fields": { + "name": "Understanding other people's goals and motivations", + "description": "Ability to empathise with and gain insight into the personal and professional goals of others, allowing for better collaboration, conflict resolution and alignment within teams.", + "slug": "understanding-other-peoples-goals-and-motivations", + "competency": 19, + "rank": 1290, + "tools": [], + "learning_resources": [], + "related_skills": [ + 108 + ] + } + }, + { + "model": "main.skill", + "pk": 143, + "fields": { + "name": "Budget management", + "description": "Ability to plan, allocate, monitor and control financial resources to ensure that activities are delivered within budget while meeting objectives.", + "slug": "budget-management", + "competency": 20, + "rank": 1420, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 144, + "fields": { + "name": "Content and knowledge management", + "description": "Ability to organise, store, share and leverage information and resources within an organisation or community effectively making it easily accessible, well-documented and utilised in decision-making, problem-solving and innovation.", + "slug": "content-and-knowledge-management", + "competency": 20, + "rank": 1490, + "tools": [ + 15, + 254, + 355, + 359, + 417, + 457, + 525 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 145, + "fields": { + "name": "Crisis and change management", + "description": "Ability to effectively navigate and manage sudden, unexpected situations (crisis) and significant transformations (change) within an organisation or project.", + "slug": "crisis-and-change-management", + "competency": 20, + "rank": 1460, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 146, + "fields": { + "name": "Event management", + "description": "Ability to plan, organise and execute events efficiently, ensuring that all aspects are well-coordinated and meet the goals of the event.", + "slug": "event-management", + "competency": 20, + "rank": 1470, + "tools": [], + "learning_resources": [ + 139 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 147, + "fields": { + "name": "Gathering and understanding stakeholder requirements", + "description": "Ability to actively listen to and engage with users, funders and other stakeholders to identify their needs, expectations and constraints - including asking the right questions, clarifying assumptions and documenting requirements in a way that can guide project planning and delivery.", + "slug": "gathering-and-understanding-stakeholder-requirements", + "competency": 20, + "rank": 1520, + "tools": [ + 75 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 148, + "fields": { + "name": "Meeting chairing and management", + "description": "Ability to lead and facilitate meetings effectively, ensuring they are well-organised, productive, achieve their objectives and encourage respectful and active participant engagement.", + "slug": "meeting-chairing-and-management", + "competency": 20, + "rank": 1500, + "tools": [ + 106, + 266, + 347, + 472 + ], + "learning_resources": [], + "related_skills": [ + 150, + 125 + ] + } + }, + { + "model": "main.skill", + "pk": 149, + "fields": { + "name": "Portfolio management", + "description": "Ability to oversee and manage a programme of work or a collection of projects within an organisation to ensure that they align with the strategic goals, priorities and resource availability.", + "slug": "portfolio-management", + "competency": 20, + "rank": 1440, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 150, + "fields": { + "name": "Project management", + "description": "Knowledge of the frameworks, processes and best practices that guide how a project is planned, executed, monitored and evaluated.", + "slug": "project-management", + "competency": 20, + "rank": 1410, + "tools": [ + 23, + 114, + 176, + 431, + 545 + ], + "learning_resources": [ + 9, + 118, + 170 + ], + "related_skills": [ + 151, + 148, + 153 + ] + } + }, + { + "model": "main.skill", + "pk": 151, + "fields": { + "name": "Project scoping and setting realistic goals", + "description": "Ability to define and clarify the boundaries, objectives and expected outcomes of a project, ensuring that they are achievable, measurable and aligned with the available resources.", + "slug": "project-scoping-and-setting-realistic-goals", + "competency": 20, + "rank": 1400, + "tools": [ + 88, + 439 + ], + "learning_resources": [], + "related_skills": [ + 150 + ] + } + }, + { + "model": "main.skill", + "pk": 152, + "fields": { + "name": "Risk management", + "description": "Ability to identify, assess, mitigate and monitor risks that could negatively affect a project, organisation or process.", + "slug": "risk-management", + "competency": 20, + "rank": 1450, + "tools": [ + 131 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 153, + "fields": { + "name": "Stakeholder and user engagement", + "description": "Building and maintaining positive relationships with stakeholders or users by communicating clearly, understanding their needs, involving them in the process, gathering feedback and providing value and ensuring satisfaction with the final product or service.", + "slug": "stakeholder-and-user-engagement", + "competency": 20, + "rank": 1540, + "tools": [], + "learning_resources": [], + "related_skills": [ + 150 + ] + } + }, + { + "model": "main.skill", + "pk": 154, + "fields": { + "name": "Stakeholder management", + "description": "Ability to manage expectations of different stakeholders (e.g. partners and PIs), negotiation between partner needs and RSE practicalities.", + "slug": "stakeholder-management", + "competency": 20, + "rank": 1480, + "tools": [ + 75 + ], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 155, + "fields": { + "name": "Task management", + "description": "Ability to effectively identify, break down, organise, assign, prioritise and track tasks and the use of resources (time, money and human resources) to ensure goals are achieved efficiently, within scope, and on schedule.", + "slug": "task-management", + "competency": 20, + "rank": 1430, + "tools": [ + 40, + 368, + 370, + 382, + 528 + ], + "learning_resources": [ + 26 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 156, + "fields": { + "name": "Understanding institutional bureaucracy or politics", + "description": "Ability to navigate and make sense of the complex structures, rules, power dynamics and interpersonal relationships within academic institutions.", + "slug": "understanding-institutional-bureaucracy-or-politics", + "competency": 20, + "rank": 1510, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 157, + "fields": { + "name": "Business development and grant proposal writing ", + "description": "Understanding the needs and interests of potential funders or decision-makers, articulating the goals and benefits of the proposed project or business case in a clear and persuasive way and providing strong justification for why it should be supported. ", + "slug": "business-development-and-grant-proposal-writing", + "competency": 18, + "rank": 1340, + "tools": [ + 88, + 439 + ], + "learning_resources": [ + 11, + 12, + 112, + 130, + 131, + 132, + 133, + 138, + 192 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 158, + "fields": { + "name": "Leading change", + "description": "Ability to create a shift in mindset and behavior, empowering individuals and ensuring that the change is sustainable in the long run - drawing on emotional intelligence, strategic thinking, communication and organisational management.", + "slug": "leading-change", + "competency": 18, + "rank": 1360, + "tools": [], + "learning_resources": [ + 82 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 159, + "fields": { + "name": "Long-term strategic planning", + "description": "Ability to do horizon scanning (identify emerging trends, technologies, risks and opportunities and anticipate their impact on research) in order to develop a roadmap for an organisation or initiative's future direction over an extended period of time.", + "slug": "longterm-strategic-planning", + "competency": 18, + "rank": 1310, + "tools": [], + "learning_resources": [ + 129 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 160, + "fields": { + "name": "Mentoring and coaching", + "description": "Providing guidance, support and advice to a less experienced individual to help them grow personally and professionally.", + "slug": "mentoring-and-coaching", + "competency": 18, + "rank": 1320, + "tools": [], + "learning_resources": [ + 137 + ], + "related_skills": [ + 139 + ] + } + }, + { + "model": "main.skill", + "pk": 161, + "fields": { + "name": "Motivation and inspiration", + "description": "Ability to encourage, energise, and empower others to take action, pursue goals, or strive for continuous improvement", + "slug": "motivation-and-inspiration", + "competency": 18, + "rank": 1330, + "tools": [], + "learning_resources": [], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 162, + "fields": { + "name": "Setting a mission", + "description": "Ability to define and articulate a clear mission that expresses the purpose, goals, and intended impact of a project, initiative, team or organisation, providing direction and alignment for decision-making and activities.", + "slug": "setting-a-mission", + "competency": 18, + "rank": 1370, + "tools": [], + "learning_resources": [ + 74 + ], + "related_skills": [ + 164, + 123 + ] + } + }, + { + "model": "main.skill", + "pk": 163, + "fields": { + "name": "Setting policies and guidelines", + "description": "Ability to analyse processes, identify areas for improvement and design clear policies and practical guidelines that establish standards, expectations or good practices within a project, organisation or across institutions.", + "slug": "setting-policies-and-guidelines", + "competency": 18, + "rank": 1350, + "tools": [], + "learning_resources": [ + 206 + ], + "related_skills": [] + } + }, + { + "model": "main.skill", + "pk": 164, + "fields": { + "name": "Starting an organisation", + "description": "Conceive, establish and formally structure a new entity, including defining its mission and scope, setting up governance and operational processes, securing resources, and ensuring legal, financial, and technical foundations are in place", + "slug": "starting-an-organisation", + "competency": 18, + "rank": 1380, + "tools": [], + "learning_resources": [ + 66, + 113, + 117 + ], + "related_skills": [ + 162, + 127 + ] + } + }, + { + "model": "main.skilllevel", + "pk": 1, + "fields": { + "name": "Expert", + "description": "Technical: highly skilled and independent; handles complex and unfamiliar challenges; recognised as an authority in the skill area, often mentoring others. creates new applications, contributes to or leads the development of reference and resource materials, and integrates the skill into wider systems, projects, or organisations.\nNon-technical: demonstrates exemplary use of the skill, adapting flexibly to complex or sensitive situations; mentors others, shapes cultural or systemic improvements, and applies the skill to influence organisational or sector-wide practices.", + "level": 4, + "short_description": "Leading and/or being a recognised authority", + "focus": "designing new solutions, setting strategy, and shaping organisational or systemic direction through analysis, evaluation, and creation" + } + }, + { + "model": "main.skilllevel", + "pk": 2, + "fields": { + "name": "Practitioner", + "description": "Technical: applies skills confidently across a range of tasks; adapts existing solutions to challenges and supports peers; may occasionally require expert guidance; understands and can discuss the application and implications of changes to processes and policies in the skill area; contributes to reference and resource materials.\nNon-technical: consistently applies the skill with confidence; demonstrates maturity, self-reflection, and constructive collaboration and interaction with others; communicates effectively with varied audiences to enhance understanding and foster shared practice.", + "level": 3, + "short_description": "Practical application by a competent (intermediate to advanced) practitioner", + "focus": "applying established practices, adapting to challenges, and deepening expertise and skill" + } + }, + { + "model": "main.skilllevel", + "pk": 3, + "fields": { + "name": "Working", + "description": "Technical: has the level of experience gained in a classroom or as a trainee on-the-job; applies the skill with some independence in familiar situations, still needs guidance when applying the skill but can draw on a range of reference materials; understands and can discuss terminology, concepts, principles, and issues related to this skill.\nNon-technical: understands the principles and issues; begins to reflect on practice and adapt behaviour.", + "level": 2, + "short_description": "Novice (limited experience) or emerging ability", + "focus": "developing understanding and gaining independence through practice" + } + }, + { + "model": "main.skilllevel", + "pk": 4, + "fields": { + "name": "Awareness", + "description": "Technical: has basic knowledge of the area and understands core techniques and concepts; can follow instructions and perform simple tasks with support, but the application of the skill is limited.\nNon-technical: recognises the importance of the skill, shows initial effort, and applies it inconsistently or only in simpler contexts.\n", + "level": 1, + "short_description": "Fundamental awareness (basic knowledge) or fundamental ability", + "focus": "learning and remembering" + } + }, + { + "model": "main.skilllevel", + "pk": 5, + "fields": { + "name": "None or N/A", + "description": "No ability demonstrated, or the skill is not required or applicable to the role.", + "level": 0, + "short_description": "No ability or not applicable", + "focus": "" + } + } +] diff --git a/doc-requirements.txt b/doc-requirements.txt index 630147ab..e2fa5e0c 100644 --- a/doc-requirements.txt +++ b/doc-requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.13 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile --extra=doc --output-file=doc-requirements.txt @@ -120,8 +120,6 @@ mkdocstrings==1.0.3 # mkdocstrings-python mkdocstrings-python==2.0.3 # via direct_webapp (pyproject.toml) -mysqlclient==2.2.8 - # via direct_webapp (pyproject.toml) nh3==0.3.4 # via direct_webapp (pyproject.toml) packaging==26.0 diff --git a/main/tables.py b/main/tables.py index 940d5662..0dae608a 100644 --- a/main/tables.py +++ b/main/tables.py @@ -3,17 +3,38 @@ from typing import TYPE_CHECKING import django_tables2 as tables +from django.db.models.query import QuerySet from django.urls import reverse from django.utils.html import format_html from django.utils.safestring import SafeString, mark_safe -from .models import LearningResource, Skill +from .models import LearningResource, Skill, ToolLanguageMethodology if TYPE_CHECKING: # pragma: no cover from django.db.models.fields.related_descriptors import ManyRelatedManager +external_link_html = ( + '<a href="{}" target="_blank" rel="noopener noreferrer" class="{}">{}</a>' +) +badge_html = '<span class="badge bg-secondary fs-sm">{}</span>' -class LearningResourcesTable(tables.Table): + +def _render_skills(qs: QuerySet[Skill]) -> SafeString: + """Helper function for rendering skills links as buttons in tables.""" + return mark_safe( + " ".join( + format_html( + external_link_html, + reverse("skill_detail", args=(skill.slug,)), + "btn btn-outline-primary rounded-pill btn-sm", + skill.name, + ) + for skill in qs + ) + ) + + +class LearningResourceTable(tables.Table): """Table class for the LearningResources model.""" skill_set = tables.ManyToManyColumn(verbose_name="Skills") @@ -27,10 +48,12 @@ class Meta: def render_name(self, value: str, record: LearningResource) -> SafeString: """Include the URL in the name.""" - return format_html( - '<a href="{}" target="_blank" rel="noopener noreferrer">{}</a>', - record.url, - value, + return format_html(external_link_html, record.url, "fs-lg", value) + + def render_language(self, value: str) -> SafeString: + """Render the language field as a badge.""" + return mark_safe( + " ".join(format_html(badge_html, val) for val in value.split(",")) ) def render_provider(self, value: str, record: LearningResource) -> SafeString: @@ -38,22 +61,33 @@ def render_provider(self, value: str, record: LearningResource) -> SafeString: if record.provider is None or not record.provider.url: return mark_safe(value) - return format_html( - '<a href="{}" target="_blank" rel="noopener noreferrer">{}</a>', - record.provider.url, - value, - ) + return format_html(external_link_html, record.provider.url, "", value) def render_skill_set(self, value: "ManyRelatedManager[Skill]") -> SafeString: - """Include the relevant skills as badges.""" - return mark_safe( - "".join( - format_html( - '<a href="{}" target="_blank" rel="noopener noreferrer" ' - 'class="badge bg-secondary">{}</a>', - reverse("skill_detail", args=(skill.slug,)), - skill.name, - ) - for skill in value.all() - ) - ) + """Include the relevant skills as button links.""" + return _render_skills(value.all()) + + +class ToolLanguageMethodologyTable(tables.Table): + """Table class for the LearningResources model.""" + + skill_set = tables.ManyToManyColumn(verbose_name="Skills") + + class Meta: + """Meta options for the LearningResourcesTable.""" + + model = ToolLanguageMethodology + fields = ("name", "kind") + order_by = "name" + + def render_name(self, value: str, record: ToolLanguageMethodology) -> SafeString: + """Include the URL in the name.""" + return format_html(external_link_html, record.url, "fs-lg", value) + + def render_kind(self, value: str) -> SafeString: + """Render the kind field as a badge.""" + return format_html(badge_html, value) + + def render_skill_set(self, value: "ManyRelatedManager[Skill]") -> SafeString: + """Include the relevant skills as button links.""" + return _render_skills(value.all()) diff --git a/main/templates/main/pages/tools-languages-methodologies.html b/main/templates/main/pages/tools-languages-methodologies.html new file mode 100644 index 00000000..c83668e3 --- /dev/null +++ b/main/templates/main/pages/tools-languages-methodologies.html @@ -0,0 +1,22 @@ +{% extends "main/base.page.html" %} +{% load static %} +{% load render_table from django_tables2 %} +{% block title %} + Digital Research Competencies Framework +{% endblock title %} +{% block breadcrumb_items %} + <li class="breadcrumb-item"> + <a href="{% url 'framework_overview' %}">Framework</a> + </li> + <li class="breadcrumb-item active" aria-current="page">Tools, languages and methodologies</li> +{% endblock breadcrumb_items %} +{% block content %} + <section id="learning-resources"> + <div class="row"> + <div class="col pe-lg-4 pe-xl-0"> + <h1 class="pb-2 pb-lg-3">Tools, languages and methodologies</h1> + {% render_table table %} + </div> + </div> + </section> +{% endblock content %} diff --git a/main/templates/main/snippets/navbar.html b/main/templates/main/snippets/navbar.html index ba313b63..491c8484 100644 --- a/main/templates/main/snippets/navbar.html +++ b/main/templates/main/snippets/navbar.html @@ -115,7 +115,11 @@ <h6 class="dropdown-header fs-xs fw-medium text-body-secondary text-uppercase pb <a class="dropdown-item" href="{% url 'learning_resources' %}">Learning resources</a> </li> <li> - <a class="dropdown-item" href="{% url 'roles' %}">Roles & career pathways</a> + <a class="dropdown-item" + href="{% url 'tools_languages_methodologies' %}">Tools, languages and methodologies</a> + </li> + <li> + <a class="dropdown-item" href="{% url 'roles' %}">Roles and career pathways</a> </li> </ul> </li> diff --git a/main/urls.py b/main/urls.py index 9cadf697..476593a9 100644 --- a/main/urls.py +++ b/main/urls.py @@ -22,6 +22,11 @@ views.LearningResourcesPageView.as_view(), name="learning_resources", ), + path( + "tools-languages-methodologies/", + views.ToolsLanguagesMethodologiesPageView.as_view(), + name="tools_languages_methodologies", + ), path("roles/", views.RolesPageView.as_view(), name="roles"), path("skills/<slug:slug>/", views.SkillPageView.as_view(), name="skill_detail"), ] diff --git a/main/views/page_views.py b/main/views/page_views.py index e3273a25..b224ec98 100644 --- a/main/views/page_views.py +++ b/main/views/page_views.py @@ -26,7 +26,7 @@ SkillLevel, ToolLanguageMethodology, ) -from ..tables import LearningResourcesTable +from ..tables import LearningResourceTable, ToolLanguageMethodologyTable logger = logging.getLogger(__name__) @@ -103,10 +103,18 @@ class LearningResourcesPageView(SingleTableView): """View that renders the page with all learning resources.""" model = LearningResource - table_class = LearningResourcesTable + table_class = LearningResourceTable template_name = "main/pages/learning-resources.html" +class ToolsLanguagesMethodologiesPageView(SingleTableView): + """View that renders the page with all tools, languages and methodologies.""" + + model = ToolLanguageMethodology + table_class = ToolLanguageMethodologyTable + template_name = "main/pages/tools-languages-methodologies.html" + + class GetInvolvedPageView(TemplateView): """View that renders the get involved page.""" diff --git a/prod-requirements.txt b/prod-requirements.txt new file mode 100644 index 00000000..e0055a91 --- /dev/null +++ b/prod-requirements.txt @@ -0,0 +1,69 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --extra=prod --output-file=prod-requirements.txt +# +asgiref==3.11.1 + # via django +certifi==2026.4.22 + # via requests +charset-normalizer==3.4.7 + # via requests +confusable-homoglyphs==3.3.1 + # via django-registration +crispy-bootstrap5==2026.3 + # via direct_webapp (pyproject.toml) +diff-match-patch==20241021 + # via django-import-export +django==6.0.3 + # via + # crispy-bootstrap5 + # direct_webapp (pyproject.toml) + # django-bootstrap5 + # django-crispy-forms + # django-import-export + # django-multiselectfield + # django-registration + # django-stubs-ext + # django-tables2 +django-bootstrap5==26.2 + # via direct_webapp (pyproject.toml) +django-crispy-forms==2.6 + # via + # crispy-bootstrap5 + # direct_webapp (pyproject.toml) +django-import-export==4.4.0 + # via direct_webapp (pyproject.toml) +django-multiselectfield==1.0.1 + # via direct_webapp (pyproject.toml) +django-registration==5.2.1 + # via direct_webapp (pyproject.toml) +django-stubs-ext==6.0.2 + # via direct_webapp (pyproject.toml) +django-tables2==3.0.0 + # via direct_webapp (pyproject.toml) +gunicorn==25.3.0 + # via direct_webapp (pyproject.toml) +idna==3.13 + # via requests +markdown==3.10.2 + # via direct_webapp (pyproject.toml) +mysqlclient==2.2.8 + # via direct_webapp (pyproject.toml) +nh3==0.3.4 + # via direct_webapp (pyproject.toml) +packaging==26.0 + # via gunicorn +requests==2.33.1 + # via direct_webapp (pyproject.toml) +sqlparse==0.5.5 + # via django +tablib==3.9.0 + # via django-import-export +typing-extensions==4.15.0 + # via django-stubs-ext +urllib3==2.6.3 + # via requests +whitenoise==6.12.0 + # via direct_webapp (pyproject.toml) diff --git a/pyproject.toml b/pyproject.toml index 17f76c63..27795725 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,6 @@ dependencies = [ "crispy-bootstrap5", "gunicorn", "whitenoise", - "mysqlclient", "django-import-export", "django-multiselectfield", "django-tables2", @@ -41,6 +40,9 @@ dev = [ "types-requests", "beautifulsoup4", ] +prod = [ + "mysqlclient", +] doc = [ "mkdocs<2", "mkdocstrings", diff --git a/requirements.txt b/requirements.txt index 39dfe18a..4b553555 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.13 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile @@ -49,8 +49,6 @@ idna==3.13 # via requests markdown==3.10.2 # via direct_webapp (pyproject.toml) -mysqlclient==2.2.8 - # via direct_webapp (pyproject.toml) nh3==0.3.4 # via direct_webapp (pyproject.toml) packaging==26.0 diff --git a/tests/main/test_main_views.py b/tests/main/test_main_views.py index 8082cdaa..cf79baf0 100644 --- a/tests/main/test_main_views.py +++ b/tests/main/test_main_views.py @@ -78,7 +78,12 @@ def test_navbar_contents(self, soup, auth_soup, admin_soup): href=reverse("learning_resources"), ) assert framework_dropdown.find( - tag_with_text_filter("a", "Roles & career pathways"), href=reverse("roles") + tag_with_text_filter("a", "Tools, languages and methodologies"), + href=reverse("tools_languages_methodologies"), + ) + assert framework_dropdown.find( + tag_with_text_filter("a", "Roles and career pathways"), + href=reverse("roles"), ) # Community Dropdown @@ -415,13 +420,13 @@ def test_page_content(self, learning_resource, skill, soup): assert tr.find( tag_with_text_filter("a", "Learning Resource"), href=learning_resource.url ) - assert tr.find(tag_with_text_filter("td", "English")) + assert tr.find(tag_with_text_filter("span", "English"), class_="badge") assert tr.find( tag_with_text_filter("a", "Provider"), href=learning_resource.provider.url ) assert tr.find( tag_with_text_filter("a", "Skill"), - class_="badge", + class_="btn", href=reverse("skill_detail", args=(skill.slug,)), ) diff --git a/tests/main/test_tables.py b/tests/main/test_tables.py index f46480b4..93a648ba 100644 --- a/tests/main/test_tables.py +++ b/tests/main/test_tables.py @@ -3,27 +3,27 @@ import pytest from django.urls import reverse -from main.models import LearningResource, Provider, Skill -from main.tables import LearningResourcesTable +from main.models import LearningResource, Provider, Skill, ToolLanguageMethodology +from main.tables import LearningResourceTable, ToolLanguageMethodologyTable @pytest.mark.django_db def test_learning_resources_table_render_name(learning_resource: LearningResource): """Test the learning resource name renders as an external link.""" - table = LearningResourcesTable([]) + table = LearningResourceTable([]) rendered = table.render_name(learning_resource.name, learning_resource) assert str(rendered) == ( f'<a href="{learning_resource.url}" target="_blank" ' - 'rel="noopener noreferrer">Learning Resource</a>' + 'rel="noopener noreferrer" class="fs-lg">Learning Resource</a>' ) @pytest.mark.django_db def test_learning_resources_table_render_provider(learning_resource: LearningResource): """Test the provider name renders as an external link when a URL exists.""" - table = LearningResourcesTable([]) + table = LearningResourceTable([]) assert isinstance(learning_resource.provider, Provider) @@ -31,7 +31,7 @@ def test_learning_resources_table_render_provider(learning_resource: LearningRes assert str(rendered) == ( f'<a href="{learning_resource.provider.url}" target="_blank" ' - 'rel="noopener noreferrer">Provider</a>' + 'rel="noopener noreferrer" class="">Provider</a>' ) @@ -40,7 +40,7 @@ def test_learning_resources_table_render_provider_without_url( learning_resource: LearningResource, ): """Test the provider name renders as plain text when no URL exists.""" - table = LearningResourcesTable([]) + table = LearningResourceTable([]) learning_resource.provider = None rendered = table.render_provider("Provider", learning_resource) @@ -53,11 +53,53 @@ def test_learning_resources_table_render_skill_set( learning_resource: LearningResource, skill: Skill ): """Test related skills render as badge links.""" - table = LearningResourcesTable([]) + table = LearningResourceTable([]) rendered = table.render_skill_set(learning_resource.skill_set) # type: ignore[arg-type] assert str(rendered) == ( '<a href="{}" target="_blank" rel="noopener noreferrer" ' - 'class="badge bg-secondary">Skill</a>' + 'class="btn btn-outline-primary rounded-pill btn-sm">Skill</a>' + ).format(reverse("skill_detail", args=(skill.slug,))) + + +@pytest.mark.django_db +def test_tool_language_methodology_table_render_name( + tool: ToolLanguageMethodology, +): + """Test the tool name renders as an external link.""" + table = ToolLanguageMethodologyTable([]) + + rendered = table.render_name(tool.name, tool) + + assert str(rendered) == ( + f'<a href="{tool.url}" target="_blank" ' + 'rel="noopener noreferrer" class="fs-lg">Tool</a>' + ) + + +@pytest.mark.django_db +def test_tool_language_methodology_table_render_kind( + tool: ToolLanguageMethodology, +): + """Test the tool kind renders as a badge.""" + table = ToolLanguageMethodologyTable([]) + + rendered = table.render_kind(tool.kind) + + assert str(rendered) == '<span class="badge bg-secondary fs-sm">tool</span>' + + +@pytest.mark.django_db +def test_tool_language_methodology_table_render_skill_set( + tool: ToolLanguageMethodology, skill: Skill +): + """Test related skills render as badge links.""" + table = ToolLanguageMethodologyTable([]) + + rendered = table.render_skill_set(tool.skill_set) # type: ignore[arg-type] + + assert str(rendered) == ( + '<a href="{}" target="_blank" rel="noopener noreferrer" ' + 'class="btn btn-outline-primary rounded-pill btn-sm">Skill</a>' ).format(reverse("skill_detail", args=(skill.slug,)))