# reproducibility

Published articles for reproducibility.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Собрать прошлое: как архивировать весь трафик сборки SONiC

DevFeed: [Собрать прошлое: как архивировать весь трафик сборки SONiC](<https://devfeed.tech/articles/sonic-24869.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/yandex/articles/1060234/>)

Author: denballakh (Яндекс, Yandex Cloud & Yandex Infrastructure)

Published: 2026-07-20T07:03:18Z

Content type: tutorial

Language: ru

Sources: [Яндекс - Как мы делаем Яндекс / Статьи](<https://devfeed.tech/sources/source.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [docker registry](<https://devfeed.tech/topics/docker-registry.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [PyPI](<https://devfeed.tech/topics/pypi.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [debian](<https://devfeed.tech/tags/debian.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-registry](<https://devfeed.tech/tags/docker-registry.md>), [github](<https://devfeed.tech/tags/github.md>), [http](<https://devfeed.tech/tags/http.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [mitm](<https://devfeed.tech/tags/mitm.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [pypi](<https://devfeed.tech/tags/pypi.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [sonic](<https://devfeed.tech/tags/sonic.md>)

### AI overview

This article explains how Yandex Infrastructure developed a caching MITM proxy for SONiC and YaSONiC builds. The proxy captures HTTP/HTTPS traffic and serves previously saved responses to improve build reproducibility when external dependencies change or disappear.

### Source excerpt

Интернет -- это зависимость без зафиксированной версии. Сегодня он возвращает одно, завтра -- другое, а послезавтра -- ничего. Поэтому мы решили сохранить для сборки тот интернет, который она однажды увидела. Для этого пришлось перехватывать HTTPS, выпускать собственные сертификаты, переподписывать индексы Debian и выяснять, почему Docker отправляет "случайные" заголовки. В этой статье я расскажу, как разрабатывал кеширующую MITM-проксю, которая перехватывает весь HTTP/HTTPS-трафик и отдаёт ранее сохранённые ответы. Разберём также неочевидные технические проблемы, с которыми пришлось столкнуться. Читать далее

## Training Orchestrator: Unifying Model Training at Yelp

DevFeed: [Training Orchestrator: Unifying Model Training at Yelp](<https://devfeed.tech/articles/training-orchestrator-unifying-model-training-at-yelp-27429.md>)

Original publisher: [Read original article](<https://engineeringblog.yelp.com/2026/07/training-orchestrator-unifying-model-training-at-yelp.html>)

Author: Ying Wang and Nathan Sponberg, Software Engineer

Published: 2026-07-14T00:00:00Z

Content type: article

Language: en

Sources: [Yelp](<https://devfeed.tech/sources/yelp.md>)

Topics: [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [Training AI Models](<https://devfeed.tech/topics/training-ai-models.md>), [Model Development](<https://devfeed.tech/topics/model-development.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [configuration-management](<https://devfeed.tech/topics/configuration-management.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [mlflow](<https://devfeed.tech/tags/mlflow.md>), [model-training](<https://devfeed.tech/tags/model-training.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [spark](<https://devfeed.tech/tags/spark.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Yelp's Core Machine Learning Team developed Training Orchestrator to standardize how machine learning teams define and run Spark-based model training. The configuration-driven system addresses duplicated code, inconsistent configurations, limited local testing, scattered validation and monitoring, and poor reproducibility across environments.

### Source excerpt

At Yelp, we train many machine learning models on different schedules. Applied machine learning teams all have their own set of Spark-based training batches, scripts, and configurations. Over time, these diverged, leading to duplicated code, subtle inconsistencies, and a growing maintenance burden. Yelp's Core Machine Learning Team has developed excellent tooling across our ML ecosystem over the years: feature stores for reproducible data, a unified training library for neural networks and gradient-boosted trees, seamless Spark integration, and MLflow services for model tracking and deployment. But there was still one key piece missing right in the middle: a standardized way to...

## The hidden variables in your agent eval

DevFeed: [The hidden variables in your agent eval](<https://devfeed.tech/articles/the-hidden-variables-in-your-agent-eval-23834.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/blog/the-hidden-variables-in-your-agent-eval/>)

Author: Waldek Mastykarz

Published: 2026-07-08T12:11:17Z

Content type: article

Language: en

Sources: [Developer Blogs](<https://devfeed.tech/sources/developer-blogs.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [context](<https://devfeed.tech/topics/context.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Shell](<https://devfeed.tech/topics/shell.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-experience](<https://devfeed.tech/tags/agent-experience.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [ax](<https://devfeed.tech/tags/ax.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [context](<https://devfeed.tech/tags/context.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>)

### AI overview

This seventh article in Microsoft's Agent Experience series examines hidden environmental variables that can make the same AI coding-agent evaluation produce different results. It discusses context such as operating system, shell, diagnostics, build errors, file paths, and workspace details.

### Source excerpt

This is the seventh article in a series about Agent Experience (AX): the practice of making AI coding agents work correctly with your technology. The series covers what you can and can't control in the agent stack, how to measure whether your extensions are helping or hurting, and how to iterate toward better outcomes. You [...] The post The hidden variables in your agent eval appeared first on Microsoft for Developers.

## Why Agentic AI Challenges Traditional Enterprise Change Management

DevFeed: [Why Agentic AI Challenges Traditional Enterprise Change Management](<https://devfeed.tech/articles/decades-of-change-management-none-of-it-was-built-for-agentic-ai-34129.md>)

Original publisher: [Read original article](<https://flashdba.com/2026/06/02/decades-of-change-management-none-of-it-was-built-for-agentic-ai/>)

Author: flashdba

Published: 2026-06-02T12:56:04Z

Content type: opinion

Language: en

Sources: [flashdba](<https://devfeed.tech/sources/flashdba.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [databases](<https://devfeed.tech/tags/databases.md>), [databases-and-agentic-ai](<https://devfeed.tech/tags/databases-and-agentic-ai.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [inferencing](<https://devfeed.tech/tags/inferencing.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article argues that enterprise change management depends on software behaving reproducibly. Agentic AI can produce different outputs from the same inputs, weakening the assumptions behind testing, UAT sign-off, approval gates, and rollback procedures.

### Source excerpt

Enterprise change management was built around software that behaves reproducibly - and that assumption is load-bearing in ways that only become visible when agentic AI removes it.

## Using Dolt's Versioned SQL Database for Feature-Store Point-in-Time Reads

DevFeed: [Using Dolt's Versioned SQL Database for Feature-Store Point-in-Time Reads](<https://devfeed.tech/articles/what-if-the-feature-store-had-git-built-in-40139.md>)

Original publisher: [Read original article](<https://korbonits.com/blog/2026-05-15-what-if-the-feature-store-had-git-built-in/>)

Published: 2026-05-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Alex Korbonits](<https://devfeed.tech/sources/alex-korbonits.md>)

Topics: [feature-store](<https://devfeed.tech/topics/feature-store.md>), [Git](<https://devfeed.tech/topics/git.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [dedupe](<https://devfeed.tech/tags/dedupe.md>), [feature-store](<https://devfeed.tech/tags/feature-store.md>), [git](<https://devfeed.tech/tags/git.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [rfc](<https://devfeed.tech/tags/rfc.md>), [row-number](<https://devfeed.tech/tags/row-number.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sql-database](<https://devfeed.tech/tags/sql-database.md>)

### AI overview

This article describes a prototype Feast offline-store plugin backed by Dolt, a version-controlled SQL database. It argues that Dolt's revision-based reads can provide point-in-time feature retrieval and reproducible training snapshots without the usual append-only log deduplication CTEs. Tests on toy datasets produced identical results with shorter queries, though the article presents this as an early spike rather than a production benchmark.

### Source excerpt

A weekend spike asked whether Dolt's AS OF reads could replace the ROW_NUMBER dedupe at the heart of every feature store's point-in-time join. Four weeks later, the RFC is quiet and the plugin's get_historical_features works end-to-end against a live Dolt server. Notes on building anyway.

## Guix improves one-line deployment with more secure channel file downloads

DevFeed: [Guix improves one-line deployment with more secure channel file downloads](<https://devfeed.tech/articles/time-travel-without-borders-34153.md>)

Original publisher: [Read original article](<https://guix.gnu.org/blog/2026/time-travel-without-borders//>)

Author: Ludovic Courtès

Published: 2026-05-12T15:00:00Z

Content type: article

Language: en

Sources: [GNU Guix -- Blog](<https://devfeed.tech/sources/gnu-guix-blog.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Software](<https://devfeed.tech/topics/software.md>), [Bash](<https://devfeed.tech/topics/bash.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [research](<https://devfeed.tech/tags/research.md>), [security](<https://devfeed.tech/tags/security.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This article examines Guix one-line deployment commands and the security risks of downloading and executing arbitrary channel files. It introduces a feature for downloading channel files while addressing trust and security concerns.

### Source excerpt

When offered the option to run other people's code, a prime consideration is often ease of deployment. While much progress has been made in support of rapid deployment, the security implications of those quick deployments is often overlooked. In this post, we look at a new feature of guix time-machine and guix pull in support of one-line deployment commands : the ability to download channel files, but without compromising on security. Sharing code The normal workflow to share software and make it easily deployable with Guix goes like this: someone puts their packager hat on and...

## EU AI Act Compliance: Requirements, Risks, and What to Document

DevFeed: [EU AI Act Compliance: Requirements, Risks, and What to Document](<https://devfeed.tech/articles/eu-ai-act-compliance-requirements-risks-and-what-to-document-29638.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/eu-ai-act-requirements/>)

Author: info@goteleport.com (Kayne McGladrey, CISSP)

Published: 2026-04-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [audit](<https://devfeed.tech/topics/audit.md>), [data-governance](<https://devfeed.tech/topics/data-governance.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [data](<https://devfeed.tech/tags/data.md>), [data-governance](<https://devfeed.tech/tags/data-governance.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [development](<https://devfeed.tech/tags/development.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [eu](<https://devfeed.tech/tags/eu.md>), [iso-27001](<https://devfeed.tech/tags/iso-27001.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [logging](<https://devfeed.tech/tags/logging.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [nist](<https://devfeed.tech/tags/nist.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [soc-2](<https://devfeed.tech/tags/soc-2.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

A practical guide to EU AI Act compliance covering requirements, risks, technical documentation, logging, data governance, lifecycle evidence, traceability, monitoring, and human oversight. It outlines key compliance milestones from August 2025 through August 2027.

### Source excerpt

Cut through EU AI Act complexity with practical guidance on requirements, risks, and documentation.

## Don't Let Flakes Pin You Down: Unlocking Better Inputs

DevFeed: [Don't Let Flakes Pin You Down: Unlocking Better Inputs](<https://devfeed.tech/articles/don-t-let-flakes-pin-you-down-unlocking-better-inputs-32432.md>)

Original publisher: [Read original article](<https://nixcademy.com/posts/dont-let-flakes-pin-you-down-unlocking-better-inputs-with-nixtamal/>)

Author: toastal

Published: 2026-03-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Nixcademy Blog](<https://devfeed.tech/sources/nixcademy-blog.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [version-control](<https://devfeed.tech/topics/version-control.md>), [Git](<https://devfeed.tech/topics/git.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [features](<https://devfeed.tech/tags/features.md>), [fetch](<https://devfeed.tech/tags/fetch.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [version-control](<https://devfeed.tech/tags/version-control.md>)

### AI overview

This article examines the limitations of Nix flakes' input-pinning model and introduces nixtamal as a way to work with better inputs. It explains how pinning supports reproducibility, contrasts flakes with earlier tooling such as niv and npins, and discusses limitations including restricted version-control support.

### Source excerpt

Flakes gave us input pinning, but you might be missing out on better inputs. Let's see how nixtamal unlocks them.

## How I learned to stop worrying and love the latest tag

DevFeed: [How I learned to stop worrying and love the latest tag](<https://devfeed.tech/articles/how-i-learned-to-stop-worrying-and-love-the-latest-tag-13090.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/how-i-learned-to-stop-worrying-and-love-the-latest-tag>)

Published: 2026-02-11T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [container images](<https://devfeed.tech/topics/container-images.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [chainguard containers](<https://devfeed.tech/topics/chainguard-containers.md>), [Docker Hardened Images](<https://devfeed.tech/topics/docker-hardened-images.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [YAML](<https://devfeed.tech/topics/yaml.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-automations](<https://devfeed.tech/tags/chainguard-automations.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-factory](<https://devfeed.tech/tags/chainguard-factory.md>), [container-image-digests](<https://devfeed.tech/tags/container-image-digests.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [digestabot](<https://devfeed.tech/tags/digestabot.md>), [digests](<https://devfeed.tech/tags/digests.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hardened-images](<https://devfeed.tech/tags/docker-hardened-images.md>), [hardened-images](<https://devfeed.tech/tags/hardened-images.md>), [latest-tag](<https://devfeed.tech/tags/latest-tag.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>)

### AI overview

The article explains how to use the latest tag as part of a secure container image update strategy. It recommends pinning images to cryptographic digests to ensure reproducibility, enable reliable rollbacks, and prevent unexpected version changes, while retaining tags for readability and tooling. It also introduces automated workflows for finding and updating digests.

### Source excerpt

The latest tag isn't unsafe by default -- pin images to digests for reproducible, secure updates while staying current with automated workflows.

## Meet Guix at FOSDEM

DevFeed: [Meet Guix at FOSDEM](<https://devfeed.tech/articles/meet-guix-at-fosdem-34149.md>)

Original publisher: [Read original article](<https://guix.gnu.org/blog/2026/meet-guix-at-fosdem-2026//>)

Author: Ludovic Courtès

Published: 2026-01-22T13:00:00Z

Content type: article

Language: en

Sources: [GNU Guix -- Blog](<https://devfeed.tech/sources/gnu-guix-blog.md>)

Topics: [FOSDEM](<https://devfeed.tech/topics/fosdem.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [community](<https://devfeed.tech/tags/community.md>), [fosdem](<https://devfeed.tech/tags/fosdem.md>), [guix-days](<https://devfeed.tech/tags/guix-days.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [systems](<https://devfeed.tech/tags/systems.md>), [talks](<https://devfeed.tech/tags/talks.md>)

### AI overview

The Guix community will participate in FOSDEM with talks on package management and reproducibility, bioinformatics workflows, Guile development, build systems, functional reactive programming, container images, and GNU/Hurd. About sixty Guix contributors will then gather for Guix Days on February 2-3.

### Source excerpt

It's that time of the year again: next week is FOSDEM time! As in previous years , many Guix people will be in Brussels. Right after FOSDEM, about sixty of us will gather on February 2-3 for the Guix Days! First things first: Guix presence at FOSDEM. On Saturday, January 31st : In Name resolution in package management systems -- A reproducibility perspective , Gábor Boskovits will look will look at how several package managers refer to packages and how this affects reproducibility. Simon Tournier will...

## Malware-Resistant Python without the Guesswork

DevFeed: [Malware-Resistant Python without the Guesswork](<https://devfeed.tech/articles/malware-resistant-python-without-the-guesswork-13146.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/malware-resistant-python-without-the-guesswork>)

Published: 2025-08-01T00:00:00Z

Content type: opinion

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard libraries for python](<https://devfeed.tech/topics/chainguard-libraries-for-python.md>), [chainguard libraries](<https://devfeed.tech/topics/chainguard-libraries.md>), [Security](<https://devfeed.tech/topics/security.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Malware](<https://devfeed.tech/topics/malware.md>)

Tags: [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-libraries-for-python](<https://devfeed.tech/tags/chainguard-libraries-for-python.md>), [malicious-packages](<https://devfeed.tech/tags/malicious-packages.md>), [malware](<https://devfeed.tech/tags/malware.md>), [num2words](<https://devfeed.tech/tags/num2words.md>), [provenance](<https://devfeed.tech/tags/provenance.md>), [pypi](<https://devfeed.tech/tags/pypi.md>), [python](<https://devfeed.tech/tags/python.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [sbom](<https://devfeed.tech/tags/sbom.md>), [secure-packages](<https://devfeed.tech/tags/secure-packages.md>), [security](<https://devfeed.tech/tags/security.md>), [signing](<https://devfeed.tech/tags/signing.md>), [slsa](<https://devfeed.tech/tags/slsa.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>)

### AI overview

The article presents Chainguard Libraries for Python as a way to reduce malware and software supply chain risks in Python package consumption. It describes rebuilding packages from upstream source in an isolated, reproducible SLSA Level 2 environment, and publishing signed SBOMs and provenance information.

### Source excerpt

The recent compromise of the num2words package never made it into Chainguard Libraries for Python. Get the breakdown from the team on our packages you can trust.

## Introduction to MLOps

DevFeed: [Introduction to MLOps](<https://devfeed.tech/articles/introduction-to-mlops-28603.md>)

Original publisher: [Read original article](<https://www.marvelousmlops.io/p/introduction-to-mlops>)

Author: Maria Vechtomova

Published: 2025-07-28T17:19:47Z

Content type: tutorial

Language: en

Sources: [MarvelousMLOps](<https://devfeed.tech/sources/marvelousmlops.md>)

Topics: [MLOps](<https://devfeed.tech/topics/mlops.md>), [databricks](<https://devfeed.tech/topics/databricks.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [course](<https://devfeed.tech/tags/course.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [mlops](<https://devfeed.tech/tags/mlops.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [production](<https://devfeed.tech/tags/production.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Lecture 1 of a hands-on MLOps with Databricks course explains what production means for machine-learning workflows. It uses a demand-forecasting example to show why scheduled notebooks may lack testing, monitoring, error handling, version control, deployment processes, rollback, and audit trails, and introduces MLOps principles for improving reliability and control.

### Source excerpt

Lecture 1 of MLOps with Databricks course

## Why Chainguard's Full-Stack Approach to Secure Software Supply Chain Is Built to Scale

DevFeed: [Why Chainguard's Full-Stack Approach to Secure Software Supply Chain Is Built to Scale](<https://devfeed.tech/articles/why-chainguard-s-full-stack-approach-to-secure-software-supply-chain-is-built-to-scale-13328.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/why-chainguards-full-stack-approach-to-secure-software-supply-chain-is-built-to-scale>)

Published: 2025-07-09T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [chainguard os](<https://devfeed.tech/topics/chainguard-os.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-factory](<https://devfeed.tech/tags/chainguard-factory.md>), [chainguard-os](<https://devfeed.tech/tags/chainguard-os.md>), [cve](<https://devfeed.tech/tags/cve.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [open-source-artifacts](<https://devfeed.tech/tags/open-source-artifacts.md>), [open-source-software-security](<https://devfeed.tech/tags/open-source-software-security.md>), [provenance](<https://devfeed.tech/tags/provenance.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [secure-software](<https://devfeed.tech/tags/secure-software.md>), [secure-software-supply-chain](<https://devfeed.tech/tags/secure-software-supply-chain.md>), [software-supply-chain](<https://devfeed.tech/tags/software-supply-chain.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>)

### AI overview

The article presents Chainguard's integrated approach to software supply chain security, combining Chainguard OS with the Chainguard Factory. It describes reproducible source builds, incremental updates, traceable contents, verifiable metadata, and automated maintenance of open source artifacts.

### Source excerpt

Learn how Chainguard OS and the Chainguard Factory delivers the only scalable path to secure, reliable software artifacts.

## Bamba: Inference-Efficient Hybrid Mamba2 Model

DevFeed: [Bamba: Inference-Efficient Hybrid Mamba2 Model](<https://devfeed.tech/articles/bamba-inference-efficient-hybrid-mamba2-model-7119.md>)

Original publisher: [Read original article](<https://huggingface.co/blog/bamba>)

Author: LINSONG CHU; Divya Kumari; Tri Dao; Albert Gu; Raghu Ganti; Dakshi Agrawal; Mudhakar Srivatsa; Davis Wertheimer; Yu Chin Fabian Lim; Antoni Viros

Published: 2024-12-18T00:00:00Z

Content type: article

Language: en

Sources: [Hugging Face - Blog](<https://devfeed.tech/sources/hugging-face-blog.md>)

Topics: [Mamba](<https://devfeed.tech/topics/mamba.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [vllm](<https://devfeed.tech/topics/vllm.md>), [hugging face](<https://devfeed.tech/topics/hugging-face.md>), [ibm](<https://devfeed.tech/topics/ibm.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [data](<https://devfeed.tech/tags/data.md>), [hugging-face](<https://devfeed.tech/tags/hugging-face.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mamba](<https://devfeed.tech/tags/mamba.md>), [model](<https://devfeed.tech/tags/model.md>), [nlp](<https://devfeed.tech/tags/nlp.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [research](<https://devfeed.tech/tags/research.md>), [vllm](<https://devfeed.tech/tags/vllm.md>)

### AI overview

The article introduces Bamba-9B, an inference-efficient hybrid Mamba2 model trained by IBM, Princeton, CMU, and UIUC on open data. It reports higher throughput and lower latency than standard transformers in vLLM, and releases training resources, checkpoints, and reproducibility materials for community experimentation.

### Source excerpt

We're on a journey to advance and democratize artificial intelligence through open source and open science.

## Aequitas Flow step-by-step: a Fair ML optimization framework

DevFeed: [Aequitas Flow step-by-step: a Fair ML optimization framework](<https://devfeed.tech/articles/aequitas-flow-step-by-step-a-fair-ml-optimization-framework-26292.md>)

Original publisher: [Read original article](<https://medium.com/feedzaitech/aequitas-flow-step-by-step-a-fair-ml-optimization-framework-9d2f90309ba4?source=rss----e11168e7fe6b---4>)

Author: Sérgio Jesus

Published: 2024-08-12T14:35:43Z

Content type: tutorial

Language: en

Sources: [Feedzai](<https://devfeed.tech/sources/feedzai.md>)

Topics: [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [audit](<https://devfeed.tech/topics/audit.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [pandas](<https://devfeed.tech/topics/pandas.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [fairness](<https://devfeed.tech/tags/fairness.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [ml](<https://devfeed.tech/tags/ml.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [pandas](<https://devfeed.tech/tags/pandas.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [research](<https://devfeed.tech/tags/research.md>), [responsible-ai](<https://devfeed.tech/tags/responsible-ai.md>)

### AI overview

This tutorial introduces Aequitas Flow, an open-source framework for standardized experiments with fair machine-learning algorithms. It explains how the framework extends Aequitas fairness auditing with reproducible experimentation, support for custom datasets and methods, and workflows for practitioners selecting models and researchers running benchmarks.

### Source excerpt

By Sérgio Jesus, Inês Silva, Pedro Saleiro, Hugo Ferreira, Pedro Bizarro In this blog post we will visit Aequitas Flow, an Open-Source framework designed to run complete and standardized experiments of Fair ML algorithms. We encourage you to try Aequitas Flow with the Google Colab Notebooks, which are available in the project's GitHub repository. This blog post is based on the paper by Sérgio Jesus, Pedro Saleiro, Inês Silva, Beatriz M. Jorge, Rita P. Ribeiro, João Gama, Pedro Bizarro, and Rayid Ghani. Table of Contents: 1. What is Aequitas Flow? - 1.1. For Practitioners selecting a model - 1.2. For Researchers running a benchmark 2. Install Aequitas Flow 3. The components of Aequitas Flow - 3.1. Experiment - 3.2. Optimizer - 3.3. Datasets - 3.4. Methods - 3.5. Audit 4. Conclusion What is Aequitas Flow? Aequitas Flow is the codename for the latest version of Aequitas, a well-established package for fairness auditing in the ML community. This version extends the package to include experimentation with Fair ML algorithms. Aequitas started as a software to diagnose and alert for disparities in ML models' decisions depending on sensitive attributes, such as race, gender, or age. To achieve this, the package runs a Bias Audit, in which it calculates several metrics across all data groups, determined by the sensitive attributes, and compares them to identify any gap in performance. While some other packages already implement Fair ML methods, they also introduce an overhead of technical knowledge to configure, evaluate, and deploy these models. Because of this, we extended Aequitas to enable users to conduct experiments using a wide variety of fair ML methods from the literature in an intuitive user experience. Aequitas Flow was built on the principles of extensibility and reproducibility: it allows users to incorporate their own datasets and methods in the framework using familiar interfaces of sci-kit-learn and pandas. It ensures their work can be replicated by performin

## Nix Weekly Recap: 2024-02-25

DevFeed: [Nix Weekly Recap: 2024-02-25](<https://devfeed.tech/articles/nix-weekly-recap-2024-02-25-34707.md>)

Original publisher: [Read original article](<https://nixpkgs.news/archive/2024-02-25/>)

Published: 2024-02-25T00:00:00Z

Content type: article

Language: en

Sources: [nixpkgs.news](<https://devfeed.tech/sources/nixpkgs-news.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Development](<https://devfeed.tech/topics/development.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [HackSquad](<https://devfeed.tech/topics/hacksquad.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apt](<https://devfeed.tech/tags/apt.md>), [community](<https://devfeed.tech/tags/community.md>), [google-summer-of-code](<https://devfeed.tech/tags/google-summer-of-code.md>), [mentorship](<https://devfeed.tech/tags/mentorship.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [python](<https://devfeed.tech/tags/python.md>), [recap](<https://devfeed.tech/tags/recap.md>), [repository](<https://devfeed.tech/tags/repository.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [rust](<https://devfeed.tech/tags/rust.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [weekly](<https://devfeed.tech/tags/weekly.md>)

### AI overview

A weekly recap of announcements and repository activity in the Nix community, covering configuration visualization, reproducible HTTP/HTTPS responses for sandboxed builds, community funding, Typst support, Google Summer of Code participation, Terraform integration, Nix formatting, XR/AR/VR packages, and various package updates.

### Source excerpt

Weekly recap of the announcements and activity in the Nix community and on the NixPkgs package repository.

## Images as Code: The pursuit of declarative image builds

DevFeed: [Images as Code: The pursuit of declarative image builds](<https://devfeed.tech/articles/images-as-code-the-pursuit-of-declarative-image-builds-13101.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/images-as-code-the-pursuit-of-declarative-image-builds>)

Published: 2024-01-22T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [bazel](<https://devfeed.tech/topics/bazel.md>), [distroless](<https://devfeed.tech/topics/distroless.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [apk](<https://devfeed.tech/tags/apk.md>), [apko](<https://devfeed.tech/tags/apko.md>), [bazel](<https://devfeed.tech/tags/bazel.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [code](<https://devfeed.tech/tags/code.md>), [container-image](<https://devfeed.tech/tags/container-image.md>), [containers](<https://devfeed.tech/tags/containers.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [distroless](<https://devfeed.tech/tags/distroless.md>), [docker](<https://devfeed.tech/tags/docker.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

The article traces the pursuit of declarative container image builds. It critiques imperative Dockerfile-based builds for making multi-tenant, multi-architecture, and reproducible builds difficult, then discusses Bazel and distroless images as steps toward expressing intended build state. Kubernetes and Terraform are presented as examples of declarative systems, inspiring the idea of "Images as Code."

### Source excerpt

Chainguard's CTO Matt Moore describes the process of creating a declarative container image build for Chainguard Images.

## Farewell from the Reproducible Builds Summit 2023!

DevFeed: [Farewell from the Reproducible Builds Summit 2023!](<https://devfeed.tech/articles/farewell-from-the-reproducible-builds-summit-2023-34157.md>)

Original publisher: [Read original article](<https://reproducible-builds.org/news/2023/11/02/farewell-from-the-reproducible-builds-summit-2023/>)

Published: 2023-11-02T00:00:00Z

Content type: news

Language: en

Sources: [reproducible-builds.org](<https://devfeed.tech/sources/reproducible-builds-org.md>)

Topics: [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [builds](<https://devfeed.tech/topics/builds.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [apache](<https://devfeed.tech/tags/apache.md>), [buildroot](<https://devfeed.tech/tags/buildroot.md>), [builds](<https://devfeed.tech/tags/builds.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [fedora](<https://devfeed.tech/tags/fedora.md>), [germany](<https://devfeed.tech/tags/germany.md>), [github](<https://devfeed.tech/tags/github.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maven](<https://devfeed.tech/tags/maven.md>), [openwrt](<https://devfeed.tech/tags/openwrt.md>), [org](<https://devfeed.tech/tags/org.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [security](<https://devfeed.tech/tags/security.md>), [summit](<https://devfeed.tech/tags/summit.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

A recap of the seventh Reproducible Builds summit in Hamburg, Germany, covering project updates, reproducibility practices, verification services, filesystem images and containers, package reproducibility, SBOMs, and related discussions.

### Source excerpt

Farewell from the Reproducible Builds summit, which just took place in Hamburg, Germany: This year, we were thrilled to host the seventh edition of this exciting event. Topics covered this year included: Project updates from openSUSE, Fedora, Debian, ElectroBSD, Reproducible Central and NixOS Mapping the "big picture" Towards a snapshot service Understanding user-facing needs and personas Language-specific package managers Defining our definitions Creating a "Ten Commandments" of reproducibility Embedded systems Next steps in GNU Guix' reproducibility Signature storage and sharing Public verification services Verification use cases Web site audiences Enabling new projects to be "born reproducible" Collecting reproducibility success stories Reproducibility's relationship to SBOMs SBOMs for RPM-based distributions Filtering diffoscope output Reproducibility of filesystem images, filesystems and containers Using verification data A deep-dive on Fedora and Arch Linux package reproducibility Debian rebuild archive service discussion ... as well as countless informal discussions and hacking sessions into the night. Projects represented at the venue included: Debian, openSUSE, QubesOS, GNU Guix, Arch Linux, phosh, Mobian, PureOS, JustBuild, LibreOffice, Warpforge, OpenWrt, F-Droid, NixOS, ElectroBSD, Apache Security, Buildroot, Systemd, Apache Maven, Fedora, Privoxy, CHAINS (KTH Royal Institute of Technology), coreboot, GitHub, Tor Project, Ubuntu, rebuilderd, repro-env, spytrap-adb, arch-repro-status, etc. A huge thanks to our sponsors and partners for making the event possible: Event facilitation Platinum sponsor If you weren't able to make it this year, don't worry; just look out for an announcement in 2024 for the next event.

## Reproducing Chainguard's reproducible image builds

DevFeed: [Reproducing Chainguard's reproducible image builds](<https://devfeed.tech/articles/reproducing-chainguard-s-reproducible-image-builds-13211.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/reproducing-chainguards-reproducible-image-builds>)

Published: 2023-07-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [apko](<https://devfeed.tech/tags/apko.md>), [attestation](<https://devfeed.tech/tags/attestation.md>), [build](<https://devfeed.tech/tags/build.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [cosign](<https://devfeed.tech/tags/cosign.md>), [hardened-images](<https://devfeed.tech/tags/hardened-images.md>), [locks](<https://devfeed.tech/tags/locks.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [secure-image](<https://devfeed.tech/tags/secure-image.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain](<https://devfeed.tech/tags/software-supply-chain.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>), [wolfi](<https://devfeed.tech/tags/wolfi.md>)

### AI overview

A tutorial explaining how to reproduce a Chainguard Images build using cosign and apko. It describes locking image configurations and notes caveats involving tooling changes and withdrawn packages.

### Source excerpt

Learn how to reproduce a Chainguard Images build using cosign and apko.

## Building reproducible Python environments with XARs

DevFeed: [Building reproducible Python environments with XARs](<https://devfeed.tech/articles/building-reproducible-python-environments-with-xars-20155.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/building-reproducible-python-environments-with-xars/>)

Author: Pavel Senchanka

Published: 2023-04-14T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Conda](<https://devfeed.tech/topics/conda.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [build-system](<https://devfeed.tech/tags/build-system.md>), [conda](<https://devfeed.tech/tags/conda.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [docker](<https://devfeed.tech/tags/docker.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>)

### AI overview

Jane Street describes how it built js-python, a system for creating and deploying centrally built, reproducible Python environments. The system integrates Python environments with OCaml code and uses XAR for deployment after limitations with Conda and other tools became apparent.

### Source excerpt

Our traders and researchers love Python for its agility and for its huge open-source ecosystem, especially when it comes to machine learning. But the heavy use of notebooks can make it difficult to support. Notebooks have a very different lifecycle than regular code, and aren't always rigorously version controlled. And while most of our code (much of it written in OCaml) lives in a monorepo, putting all notebooks there is difficult; many notebooks end up being stored all over the place.

## Improving Evaluation Practices in Natural Language Generation

DevFeed: [Improving Evaluation Practices in Natural Language Generation](<https://devfeed.tech/articles/improving-evaluation-practices-in-natural-language-generation-28020.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2022-03-31-improving-evaluation-practices-in-natural-language-generation/>)

Author: Saad Mahamood NLG Expert; Lead Data Scientist

Published: 2022-03-31T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Natural language processing](<https://devfeed.tech/topics/nlp.md>), [recommendations](<https://devfeed.tech/topics/recommendations.md>)

Tags: [data-science](<https://devfeed.tech/tags/data-science.md>), [evaluation](<https://devfeed.tech/tags/evaluation.md>), [language](<https://devfeed.tech/tags/language.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [report](<https://devfeed.tech/tags/report.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [research](<https://devfeed.tech/tags/research.md>)

### AI overview

This article reviews research into evaluation practices for Natural Language Generation. It discusses weaknesses in automated metrics, variation in human evaluation methods, and reproducibility concerns, including findings from trivago's HumEval 2021 work and its proposed Commonsense Evaluation Card.

### Source excerpt

Throughout last year I had the opportunity to participate and collaborate on multiple research initiatives in the field of Nat...

## Finding Non-determinism with nixbuild.net

DevFeed: [Finding Non-determinism with nixbuild.net](<https://devfeed.tech/articles/finding-non-determinism-with-nixbuild-net-34135.md>)

Original publisher: [Read original article](<https://blog.nixbuild.net/posts/2021-01-13-finding-non-determinism-with-nixbuild-net.html>)

Author: support@nixbuild.net

Published: 2021-01-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [nixbuild.net blog](<https://devfeed.tech/sources/nixbuild-net-blog.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [builds](<https://devfeed.tech/topics/builds.md>), [content addressed store](<https://devfeed.tech/topics/content-addressed-store.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [build](<https://devfeed.tech/tags/build.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>)

### AI overview

This blog post explains how to use Nix repeated builds to detect non-deterministic outputs by comparing build results bit for bit. It also describes how nixbuild.net records repeated-build results and can help investigate failures from past builds.

### Source excerpt

During the last decade, many initiatives focussing on making builds reproducible have gained momentum. reproducible-builds.org is a great resource for anyone interested in how the work progresses in multiple software communities. r13y.com tracks the current reproducibility metrics in NixOS. Nix is particularly suited for working on reproducibility, since it by design isolates builds and comes with tools for finding non-determinism. The Nix community also works on related projects, like Trustix and the content-addressed store. This blog post summarises how nixbuild.net can be useful for finding non-deterministic builds, and announces a new feature related to reproducibility! Repeated Builds The way to find non-reproducible builds is to run the same build multiple times and check for any difference in results, when compared bit-for-bit. Since Nix guarantees that all inputs will be identical between the runs, just finding differing output results is enough to conclude that a build is non-deterministic. Of course, we can never prove that a build is deterministic this way, but if we run the build many times, we gain a certain confidence in it. To run a Nix build multiple times, simply add the -repeat option to your build command. It will run your build the number of extra times you specify. Suppose we have the following Nix expression in deterministic.nix: let inherit (import <nixpkgs> {}) runCommand; in { stable = runCommand "stable" {} '' touch $out ''; unstable = runCommand "unstable" {} '' echo $RANDOM > $out ''; } We can run repeated builds like this (note that the --builders "" option is there to force a local build, to not use nixbuild.net): $ nix-build deterministic.nix --builders "" -A stable --repeat 1 these derivations will be built: /nix/store/0fj164aqyhsciy7x97s1baswygxn8lzf-stable.drv building '/nix/store/0fj164aqyhsciy7x97s1baswygxn8lzf-stable.drv' (round 1/2)... building '/nix/store/0fj164aqyhsciy7x97s1baswygxn8lzf-stable.drv' (round 2/2)... /nix/store/65

## Searching for RH Counterexamples -- Deploying with Docker

DevFeed: [Searching for RH Counterexamples -- Deploying with Docker](<https://devfeed.tech/articles/searching-for-rh-counterexamples-deploying-with-docker-40442.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2021/01/04/searching-for-rh-counterexamples-deploying-with-docker/>)

Published: 2021-01-04T09:00:00Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [Database](<https://devfeed.tech/topics/database.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [containers](<https://devfeed.tech/tags/containers.md>), [database](<https://devfeed.tech/tags/database.md>), [docker](<https://devfeed.tech/tags/docker.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [programming](<https://devfeed.tech/tags/programming.md>), [pytest](<https://devfeed.tech/tags/pytest.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [riemann-hypothesis](<https://devfeed.tech/tags/riemann-hypothesis.md>), [server](<https://devfeed.tech/tags/server.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

A tutorial on deploying an application that searches for counterexamples to the Riemann Hypothesis. It explains reproducibility and hermeticity, then uses Docker containers for the database, search application, and planned web server.

### Source excerpt

We're ironically searching for counterexamples to the Riemann Hypothesis. Setting up Pytest Adding a Database Search Strategies Unbounded Integers In this article we'll deploy the application on a server, so that it can search for RH counterexamples even when I close my laptop. Servers and containers When deploying applications to servers, reproducibility is crucial. You don't want your application to depend on the details of the computer it's running on. This is a higher-level version of the same principle behind Python virtual environments, but it applies to collections of programs, possibly written in different languages and running on different computers.

## Why Bazel?

DevFeed: [Why Bazel?](<https://devfeed.tech/articles/why-bazel-21770.md>)

Original publisher: [Read original article](<https://enoent.fr/posts/creating-a-blog-with-bazel/03-why-bazel/>)

Author: Marc Plano-Lesay

Published: 2019-11-02T07:00:00Z

Content type: tutorial

Language: en

Sources: [Marc Plano-Lesay](<https://devfeed.tech/sources/marc-plano-lesay.md>)

Topics: [bazel](<https://devfeed.tech/topics/bazel.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [bazel](<https://devfeed.tech/tags/bazel.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [caching](<https://devfeed.tech/tags/caching.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

This tutorial explains what Bazel is, how its hermetic and reproducible build model works, and why the author chose it. It demonstrates C++ library and binary targets, dependency-driven builds, caching, toolchains, and extensibility through Starlark rules.

### Source excerpt

In this post, we'll cover what Bazel is, how to use it, and why I chose to use it. What is Bazel? Bazel is a build-system released by Google in 2015. It actually is derived from the internal build-system Google uses internally for most of its own code-base, called Blaze. Building at scale Bazel has a huge focus on hermetic builds, and reproducibility. Every build step is, from a really broad perspective, defined as a list of inputs, tools, and outputs. This allows for efficient and robust caching (if no inputs nor tools changed, then this target doesn't need to be rebuilt, and this cascades through the whole build graph). Let's see a sample definition of a C++ library, as well as a C++ binary depending on it: BUILD cc_library( name = "my_feature" srcs = [ "feature_impl.cpp", "utils.cpp", ], hdrs = [ "feature.hpp", "utils.hpp", ], ) cc_binary( name = "my_app", srcs = ["main.cpp"], deps = [ ":my_feature", ], ) cc_library and cc_binary are both depending an implicit dependency on a C++ toolchain (I won't enter into any language-specific features in this post, but if you don't tell Bazel to use a specific C++ toolchain, it will try to use your system compiler - which is convenient, but loses a bit of hermeticity and reproducibility). Everything else is pretty obvious here: we defined two different build targets, one of them being a library called my_feature, and the other one a binary called my_app, depending on my_feature. If we build my_app, Bazel will automatically build my_feature first as you would expect, and then proceed to build my_app. If you change the main.cpp and re-build my_app, it will skip the compilation of my_feature entirely, as nothing changed. Bazel's cache handling is really reliable. During the past few months, I've done a lot of diverse things (writing my own rules, compiling a bunch of different languages, depending on third-party libraries and rules...), and never had a single time to run bazel clean. Now I didn't use a lot of other build systems

[Next page](<https://devfeed.tech/tags/reproducibility.md?cursor=WyIyMDE5LTExLTAyVDA3OjAwOjAwKzAwOjAwIiwgImZlM2NjNTVhLTQ5M2YtNGJmYi05ZWRjLWFiNDk2MjZhYTA2NyJd>)