diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 239863926a..0696e4308c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ -* @tessferrandez @fnocera @nyouens +* @tessferrandez @shiranr @nyouens /docs/* @tessferrandez @shiranr @tompaana diff --git a/.markdown-link-check.json b/.markdown-link-check.json index cdcc8089f6..2dca5cbce2 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -1,43 +1,17 @@ { - "ignorePatterns": [ - {"pattern": "^./INSERT_URL_TO_ISSUE"}, - {"pattern": "^./link-to-the-work-item"}, - {"pattern": "^https://portal.azure.com"}, - {"pattern": "^http://link-to-feature-or-story-work-item"}, - {"pattern": "^http://link-to-task-work-item"}, - {"pattern": "^http://link-to-story-work-item"}, - {"pattern": "^http://link-to-work-item"}, - {"pattern": "^https://tanzu.vmware.com/developer/guides/kubernetes/observability-prometheus-grafana-p1"}, - {"pattern": "^https://www.w3.org/blog/2019/12/trace-context-enters-proposed-recommendation/"}, - {"pattern": "^https://blog.cloudflare.com/cloudflare-outage/"}, - {"pattern": "^https://thanos.io"}, - {"pattern": "^https://gitlab.com/palisade/palisade-release"}, - {"pattern": "(.*\\.)?.opentelemetry.io"}, - {"pattern": "(.*\\.)?.pluralsight.com"}, - {"pattern": "^https://www.github.com"}, - {"pattern": "^https://marketplace.visualstudio.com"}, - {"pattern": "^https://opensource.org/licenses/MIT"}, - {"pattern": "^https://www.researchgate.net/publication/301839557_The_landscape_of_software_failure_cause_models"}, - {"pattern": "^https://www.cmu.edu/iso/governance/guidelines/data-classification.html"}, - {"pattern": "^https://machinelearningmastery.com/how-to-get-baseline-results-and-why-they-matter/"}, - {"pattern": "^https://www.perfecto.io/"}, - {"pattern": "^https://www.ranorex.com/free-trial/"}, - {"pattern": "^https://argo-cd.readthedocs.io/"}, - {"pattern": "^http://pytest.org/"}, - {"pattern": "^http://code.visualstudio.com/"}, - {"pattern": "^https://plantuml.com/"} - ], - "httpHeaders": [ - { - "urls": ["https://docs.github.com/", - "https://help.github.com/", - "https://github.com/", - "https://blog.cloudflare.com/"], - "headers": { - "Accept-Encoding": "zstd, br, gzip, deflate" + "ignorePatterns": [], + "httpHeaders": [ + { + "urls": [ + "https://docs.github.com/", + "https://help.github.com/", + "https://github.com/", + "https://blog.cloudflare.com/"], + "headers": { + "Accept-Encoding": "zstd, br, gzip, deflate" + } } - } - ], - "retryOn429": true, - "aliveStatusCodes": [200, 206, 302, 0] -} + ], + "retryOn429": true, + "aliveStatusCodes": [200, 206, 302, 0] + } diff --git a/docs/code-reviews/recipes/markdown.md b/docs/code-reviews/recipes/markdown.md index 65f8ff2531..bdd1ae0346 100644 --- a/docs/code-reviews/recipes/markdown.md +++ b/docs/code-reviews/recipes/markdown.md @@ -188,7 +188,7 @@ Save your guidelines together with your documentation, so they are easy to refer - Avoid duplication of content, instead link to the `single source of truth` - Link but don't summarize. Summarizing content on another page leads to the content living in two places - Use meaningful anchor texts, e.g. instead of writing `Follow the instructions [here](../recipes/markdown.md)` write `Follow the [Markdown guidelines](../recipes/markdown.md)` -- Make sure links to Microsoft docs (like `https://learn.microsoft.com/something/somethingelse`) do not contain the language marker `/en-us/` or `/fr-fr/`, as this is automatically determined by the site itself. +- Make sure links to Microsoft docs do not contain the language marker `/en-us/` or `/fr-fr/`, as this is automatically determined by the site itself. ### Lists diff --git a/docs/continuous-delivery/recipes/terraform/save-output-to-variable-group.md b/docs/continuous-delivery/recipes/terraform/save-output-to-variable-group.md index 702a944114..743031a776 100644 --- a/docs/continuous-delivery/recipes/terraform/save-output-to-variable-group.md +++ b/docs/continuous-delivery/recipes/terraform/save-output-to-variable-group.md @@ -118,22 +118,22 @@ In addition, you can notice we are also using [predefined variables](https://lea AZURE_DEVOPS_EXT_PAT: $(System.AccessToken) ``` -| System variables | Description | -| -- | -- | -| [System.AccessToken](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#systemaccesstoken)| Special variable that carries the security token used by the running build. | -| [System.TeamFoundationCollectionUri](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#system-variables-devops-services) | The URI of the Azure DevOps organization. | -| [System.TeamProjectId](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#system-variables-devops-services) | The ID of the project that this build belongs to. | +| System variables | Description | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------| +| [System.AccessToken](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#systemaccesstoken) | Special variable that carries the security token used by the running build. | +| [System.TeamFoundationCollectionUri](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#system-variables-devops-services) | The URI of the Azure DevOps organization. | +| [System.TeamProjectId](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#system-variables-devops-services) | The ID of the project that this build belongs to. | ## Library security Roles are defined for Library items, and membership of these roles governs the operations you can perform on those items. -| Role for library item | Description | -| -- | -- | -| Reader | Can view the item. | -| User | Can use the item when authoring build or release pipelines. For example, you must be a 'User' for a variable group to use it in a release pipeline. | -| Administrator | Can also manage membership of all other roles for the item. The user who created an item gets automatically added to the Administrator role for that item. By default, the following groups get added to the Administrator role of the library: Build Administrators, Release Administrators, and Project Administrators. | -| Creator | Can create new items in the library, but this role doesn't include Reader or User permissions. The Creator role can't manage permissions for other users. | +| Role for library item | Description | +|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Reader | Can view the item. | +| User | Can use the item when authoring build or release pipelines. For example, you must be a 'User' for a variable group to use it in a release pipeline. | +| Administrator | Can also manage membership of all other roles for the item. The user who created an item gets automatically added to the Administrator role for that item. By default, the following groups get added to the Administrator role of the library: Build Administrators, Release Administrators, and Project Administrators. | +| Creator | Can create new items in the library, but this role doesn't include Reader or User permissions. The Creator role can't manage permissions for other users. | When using `System.AccessToken`, service account ` Build Service` identity will be used to access the Library. diff --git a/docs/continuous-integration/devcontainers/README.md b/docs/continuous-integration/devcontainers/README.md index 9067fcbf7f..dbdea5e97a 100644 --- a/docs/continuous-integration/devcontainers/README.md +++ b/docs/continuous-integration/devcontainers/README.md @@ -21,7 +21,7 @@ Here are below pros and cons for both approaches: ### Run CI pipelines in native environment | Pros | Cons | -| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +|-------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------| | Can use any pipeline tasks available | Need to keep two sets of tooling and their versions in sync | | No container registry | Can take some time to start, based on tools/dependencies required | | Agent will always be up to date with security patches | The dev container should always be built within each run of the CI pipeline, to verify the changes within the branch haven't broken anything | @@ -29,7 +29,7 @@ Here are below pros and cons for both approaches: ### Run CI pipelines in the dev container without image caching | Pros | Cons | -| -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------| | Utilities scripts will work out of the box | Need to rebuild the container for each run, given that there may be changes within the branch being built | | Rules used (for linting or unit tests) will be the same on the CI | Not everything in the container is needed for the CI pipeline¹ | | No surprise for the developers, local outputs (of linting for instance) will be the same in the CI | Some pipeline tasks will not be available | @@ -44,7 +44,7 @@ Here are below pros and cons for both approaches: ### Run CI pipelines in the dev container with image registry | Pros | Cons | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------| | Utilities scripts will work out of the box | Need to rebuild the container for each run, given that there may be changes within the branch being built | | No surprise for the developers, local outputs (of linting for instance) will be the same in the CI | Not everything in the container is needed for the CI pipeline¹ | | Rules used (for linting or unit tests) will be the same on the CI | Some pipeline tasks will not be available ² | diff --git a/docs/machine-learning/ml-feasibility-study.md b/docs/machine-learning/ml-feasibility-study.md index 3d5f87a2da..a0046ad43c 100644 --- a/docs/machine-learning/ml-feasibility-study.md +++ b/docs/machine-learning/ml-feasibility-study.md @@ -140,5 +140,5 @@ The main outcome is a feasibility study report, with a recommendation on next st * We may look at re-scoping the problem taking into account the findings of the feasibility study * We assess the possibility to collect more data or improve data quality -- If there is enough evidence to support the hypothesis that this problem can be solved using ML +- If there is enough evidence to support the hypothesis that this problem can be solved using ML * Provide recommendations and technical assets for moving to the operationalization phase diff --git a/docs/machine-learning/ml-project-management.md b/docs/machine-learning/ml-project-management.md index c980ebbb7e..f0da2ac95e 100644 --- a/docs/machine-learning/ml-project-management.md +++ b/docs/machine-learning/ml-project-management.md @@ -31,9 +31,7 @@ Within this framework, the team follows these Agile ceremonies: #### Examples of ML deliverables for each sprint - Working code (e.g. models, pipelines, exploratory code) -- Documentation of new hypotheses, and the acceptance or rejection of previous hypotheses as part of a Hypothesis Driven Analysis (HDA). See more resources on HDA here: - 1. [HDA](https://datasciencevademecum.com/2015/11/10/agile-data-science-iteration-0-the-hypothesis-driven-analysis) (from the Data Science Vademecum website). - 2. [Hypothesis Driven Development](https://barryoreilly.com/explore/blog/how-to-implement-hypothesis-driven-development/) (from Barry Oreilly's website). +- Documentation of new hypotheses, and the acceptance or rejection of previous hypotheses as part of a Hypothesis Driven Analysis (HDA). For more information see [Hypothesis Driven Development on Barry Oreilly's website](https://barryoreilly.com/explore/blog/how-to-implement-hypothesis-driven-development/) - Exploratory Data Analysis (EDA) results and learnings documented ## Notes on collaboration between ML team and software development team diff --git a/docs/privacy/privacy-frameworks.md b/docs/privacy/privacy-frameworks.md index 9c7d386e84..ab6752c8d7 100644 --- a/docs/privacy/privacy-frameworks.md +++ b/docs/privacy/privacy-frameworks.md @@ -5,16 +5,13 @@ Note that the use of such frameworks still requires the solution to adhere to pr ## Typical scenarios for leveraging a Privacy framework -1. Sharing data or results while preserving data subjects' privacy - -2. Performing analysis or statistical modeling on private data - -3. Developing privacy preserving ML models and data pipelines +- Sharing data or results while preserving data subjects' privacy +- Performing analysis or statistical modeling on private data +- Developing privacy preserving ML models and data pipelines ## Privacy frameworks -Protecting private data involves the entire data lifecycle, from acquisition, through storage, processing, analysis, -modeling and usage in reports or machine learning models. Proper safeguards and restrictions should be applied in each of these phases. +Protecting private data involves the entire data lifecycle, from acquisition, through storage, processing, analysis, modeling and usage in reports or machine learning models. Proper safeguards and restrictions should be applied in each of these phases. In this section we provide a **non-exhaustive list** of privacy frameworks which can be leveraged for protecting and preserving privacy. @@ -60,7 +57,6 @@ The potential benefit of such synthetic datasets is for sensitive applications When determining the best method for creating synthetic data, it is essential first to consider what type of synthetic data you aim to have. There are two broad categories to choose from, each with different benefits and drawbacks: - Fully synthetic: This data does not contain any original data, which means that re-identification of any single unit is almost impossible, and all variables are still fully available. - - Partially synthetic: Only sensitive data is replaced with synthetic data, which requires a heavy dependency on the imputation model. This leads to decreased model dependence but does mean that some disclosure is possible due to the actual values within the dataset. | Solution | Notes | @@ -85,10 +81,10 @@ and has access to one or more datasets provided by the data platform. We highlight several alternatives for Trusted Research Environments: -| Solution | Notes | -|------------------------------------|------------------------------------------------------------------------------| -| Azure Trusted Research Environment | [Link](https://github.com/microsoft/azuretre). An Open Source TRE for Azure. | -| Aridhia DRE | [Link](https://appsource.microsoft.com/en-us/product/web-apps/aridhiainformatics.analytixagility_workspace_123?tab=Overview) +| Solution | Notes | +|-------------------------------------------------------------------------------------------------------------------------------------|-------------------------------| +| [Azure Trusted Research Environment](https://github.com/microsoft/azuretre) | An Open Source TRE for Azure. | +| [Aridhia DRE](https://appsource.microsoft.com/en-us/product/web-apps/aridhiainformatics.analytixagility_workspace_123?tab=Overview) | | #### Eyes-off machine learning @@ -105,8 +101,7 @@ The Eyes-on dataset is often a de-identified subset of the private dataset, or a #### Private data sharing platforms -Various tools and systems allow different parties to share data with 3rd parties while protecting private entities, -and securely process data while reducing the likelihood of data exfiltration. +Various tools and systems allow different parties to share data with 3rd parties while protecting private entities, and securely process data while reducing the likelihood of data exfiltration. These tools include [Secure Multi Party Computation (SMPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) systems, [Homomorphic Encryption](#homomorphic-encryption) systems, [Confidential Computing](https://azure.microsoft.com/en-us/solutions/confidential-compute/), private data analysis frameworks such as [PySift](https://github.com/OpenMined/PySyft) among others. @@ -118,8 +113,7 @@ Privacy preserving data pipelines and ML models focus on minimizing the risk of #### Differential Privacy -Differential privacy (DP) is a system that enables one to extract meaningful insights from datasets about subgroups of people, -while also providing strong guarantees with regards to protecting any given individual's privacy. +Differential privacy (DP) is a system that enables one to extract meaningful insights from datasets about subgroups of people, while also providing strong guarantees with regards to protecting any given individual's privacy. This is typically achieved by adding a small statistical noise to every individual's information, thereby introducing uncertainty in the data. However, the insights gleaned still accurately represent what we intend to learn about the population in the aggregate. @@ -127,11 +121,9 @@ This approach is known to be robust to re-identification attacks and data recons For a more comprehensive overview, check out [Differential privacy: A primer for a non-technical audience](https://dash.harvard.edu/bitstream/handle/1/38323292/4_Wood_Final.pdf?sequence=1&isAllowed=y). -DP has been widely adopted in various scenarios such as learning from census data, user telemetry data analysis, -audience engagement to advertisements, and health data insights where PII protection is of paramount importance. However, DP is less suitable for small datasets. +DP has been widely adopted in various scenarios such as learning from census data, user telemetry data analysis, audience engagement to advertisements, and health data insights where PII protection is of paramount importance. However, DP is less suitable for small datasets. -Tools that implement DP include [SmartNoise](https://github.com/opendifferentialprivacy/smartnoise-samples), -[Tensorflow Privacy](https://github.com/tensorflow/privacy) among some others. +Tools that implement DP include [SmartNoise](https://github.com/opendifferentialprivacy/smartnoise-samples), [Tensorflow Privacy](https://github.com/tensorflow/privacy) among some others. #### Homomorphic Encryption @@ -152,8 +144,7 @@ A list of additional OSS tools can be found [here](https://homomorphicencryption #### Federated learning Federated learning is a Machine Learning technique which allows the training of ML models in a decentralized way without having to share the actual data. -Instead of sending data to the processing engine of the model, -the approach is to distribute the model to the different data owners and perform training in a distributed fashion. +Instead of sending data to the processing engine of the model, the approach is to distribute the model to the different data owners and perform training in a distributed fashion. Federated learning frameworks: @@ -167,7 +158,7 @@ Federated learning frameworks: Organizations have sensitive information under their control such as financial data, proprietary data, credit card numbers, health records, or social security numbers. To help protect this sensitive data and reduce risk, they need a way to prevent their users from inappropriately sharing it with people who shouldn't have it. -This practice is called data loss prevention (DLP). ([Source](https://learn.microsoft.com/en-us/microsoft-365/compliance/dlp-learn-about-dlp)) +This practice is called [data loss prevention (DLP)](https://learn.microsoft.com/en-us/microsoft-365/compliance/dlp-learn-about-dlp). Below we focus on two aspects of DLP: Sensitive data classification and Access management. @@ -192,8 +183,7 @@ Tools for data classification on Azure: | [Data Discovery & Classification for Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse](https://learn.microsoft.com/en-us/azure/azure-sql/database/data-discovery-and-classification-overview) | Basic capabilities for discovering, classifying, labeling, and reporting the sensitive data in Azure SQL and Synapse databases. | | [Data Discovery & Classification for SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/security/sql-data-discovery-and-classification?view=sql-server-ver15&tabs=t-sql) | Capabilities for discovering, classifying, labeling & reporting the sensitive data in SQL Server databases. | -Often, tools used for de-identification can also serve as sensitive data classifiers. -Refer to [de-identification tools](#data-de-identification) for such tools. +Often, tools used for de-identification can also serve as sensitive data classifiers. Refer to [de-identification tools](#data-de-identification) for such tools. Additional resources: @@ -205,8 +195,6 @@ Additional resources: Access control is an important component of privacy by design and falls into overall data lifecycle protection. Successful access control will restrict access only to authorized individuals that should have access to data. Once data is secure in an environment, it is important to review who should access this data and for what purpose. -Access control may be audited with a comprehensive logging strategy which may include the integration of -[activity logs](https://learn.microsoft.com/en-us/azure/azure-monitor/platform/platform-logs-overview) -that can provide insight into operations performed on resources in a subscription. +Access control may be audited with a comprehensive logging strategy which may include the integration of [activity logs](https://learn.microsoft.com/en-us/azure/azure-monitor/platform/platform-logs-overview) that can provide insight into operations performed on resources in a subscription. - [OWASP Access Control Cheat Sheet](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Access_Control_Cheat_Sheet.md) diff --git a/docs/user-interface-engineering/README.md b/docs/user-interface-engineering/README.md index d091b88f2f..73862d6af6 100644 --- a/docs/user-interface-engineering/README.md +++ b/docs/user-interface-engineering/README.md @@ -50,7 +50,7 @@ The benefit of building software applications is that there are truly infinite w - Rarely will you have to support legacy browsers; thus, you can rely on modern JavaScript language features! No need for build tools or even TypeScript (did you know you can [type check JavaScript](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html)). 1. Web Component frameworks - Web Components are now standardized in all modern browsers - - Microsoft has their own, stable & actively-maintained framework, [Fast](https://fast.design) + - Microsoft has their own, stable & actively-maintained framework, [Fast](https://www.fast.design/) For more information of choosing the right implementation tool, read the [Recommended Technologies](./recommended-technologies.md) document. diff --git a/linkcheck.json b/linkcheck.json index 0703bdb63d..3b41274a25 100644 --- a/linkcheck.json +++ b/linkcheck.json @@ -1,46 +1,51 @@ { - "exclude_links": [ - "http://127.0.0.1:10000", - "http://127.0.0.1:10001", - "http://127.0.0.1:10000/devstoreaccount1", - "http://link-to-feature-or-story-work-item", - "https://servicename.net", - "https://ghcr.io/", - "http://link-to-work-item", - "./link-to-the-work-item", - "http://link-to-story-work-item", - "ftp://ftp.software.ibm.com/software/rational/info/do-more/RAW14109USEN.pdf", - "http://link-to-task-work-item", - "https://fast.design", - "https://www.linkedin.com/pulse", - "https://www.linkedin.com/pulse", - "https://xref.learn.microsoft.com/query?uid=", - "http://www.techoism.com/how-to-install-git-bash-on-windows/", - "https://github.com/koalaman/shellcheck/releases/", - "https://plainenglish.co.uk/how-to-write-in-plain-english.html", - "https://github.com/wata727/tflint", - "https://www.softwaretestinghelp.com/what-is-integration-testing/", - "https://blog.cloudflare.com/cloudflare-outage/", - "https://www.researchgate.net/publication/301839557_The_landscape_of_software_failure_cause_models", - "https://static1.smartbear.co/smartbear/media/pdfs/best-kept-secrets-of-peer-code-review_redirected.pdf", - "https://opensource.org/licenses/MIT", - "https://datasciencevademecum.com/2015/11/10/agile-data-science-iteration-0-the-hypothesis-driven-analysis", - "https://pkg-containers.githubusercontent.com/", - "https://github.com/username/repo-name", - "https://machinelearningmastery.com/how-to-get-baseline-results-and-why-they-matter/", - "https://www.perfecto.io/", - "https://learn.microsoft.com/something/somethingelse", - "https://thenewstack.io/which-programming-languages-use-the-least-electricity/", - "https://www.mend.io/", - "https://github.com/dotnet/runtime/blob/main/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs", - "https://aka.ms/presidio-demo", - "https://code.visualstudio.com/docs/remote/codespaces", - "https://code.visualstudio.com/learn/collaboration/live-share", - "https://code.visualstudio.com/docs/devcontainers/create-dev-container", - "https://www.inverse.com/innovation/how-companies-have-optimized-the-humble-office-water-cooler", - "https://www.inverse.com/", - "https://www.dynatrace.com/platform/synthetic-monitoring/", - "https://interpret.ml/" - ], - "only_errors": true -} + "exclude_links": [ + "http://127.0.0.1:10000", + "http://127.0.0.1:10001", + "http://127.0.0.1:10000/devstoreaccount1", + "http://link-to-feature-or-story-work-item", + "https://servicename.net", + "https://ghcr.io/", + "http://link-to-work-item", + "./link-to-the-work-item", + "http://link-to-story-work-item", + "ftp://ftp.software.ibm.com/software/rational/info/do-more/RAW14109USEN.pdf", + "http://link-to-task-work-item", + "https://fast.design", + "https://www.linkedin.com/pulse", + "https://www.linkedin.com/pulse", + "https://xref.learn.microsoft.com/query?uid=", + "http://www.techoism.com/how-to-install-git-bash-on-windows/", + "https://github.com/koalaman/shellcheck/releases/", + "https://plainenglish.co.uk/how-to-write-in-plain-english.html", + "https://github.com/wata727/tflint", + "https://www.softwaretestinghelp.com/what-is-integration-testing/", + "https://blog.cloudflare.com/cloudflare-outage/", + "https://www.researchgate.net/publication/301839557_The_landscape_of_software_failure_cause_models", + "https://static1.smartbear.co/smartbear/media/pdfs/best-kept-secrets-of-peer-code-review_redirected.pdf", + "https://opensource.org/licenses/MIT", + "https://datasciencevademecum.com/2015/11/10/agile-data-science-iteration-0-the-hypothesis-driven-analysis", + "https://pkg-containers.githubusercontent.com/", + "https://github.com/username/repo-name", + "https://machinelearningmastery.com/how-to-get-baseline-results-and-why-they-matter/", + "https://www.perfecto.io/", + "https://learn.microsoft.com/something/somethingelse", + "https://thenewstack.io/which-programming-languages-use-the-least-electricity/", + "https://www.mend.io/", + "https://github.com/dotnet/runtime/blob/main/src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.String.cs", + "https://aka.ms/presidio-demo", + "https://code.visualstudio.com/docs/remote/codespaces", + "https://code.visualstudio.com/learn/collaboration/live-share", + "https://code.visualstudio.com/docs/devcontainers/create-dev-container", + "https://www.inverse.com/innovation/how-companies-have-optimized-the-humble-office-water-cooler", + "https://www.inverse.com/", + "https://www.dynatrace.com/platform/synthetic-monitoring/", + "https://interpret.ml/", + "https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf", + "https://blog.prototypr.io/software-documentation-types-and-best-practices-1726ca595c7f", + "https://towardsdatascience.com/", + "https://medium.com/", + "https://github.com/" + ], + "only_errors": true + } \ No newline at end of file