# run

Published articles for run.

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

## Improving Test Coverage in the Interview Coach Application with GitHub Copilot

DevFeed: [Improving Test Coverage in the Interview Coach Application with GitHub Copilot](<https://devfeed.tech/articles/today-i-will-improve-test-coverage-26909.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/visualstudio/today-i-will-improve-test-coverage/>)

Author: Aaron Powell

Published: 2026-09-15T16:00:21Z

Content type: tutorial

Language: en

Sources: [Visual Studio Blog](<https://devfeed.tech/sources/visual-studio-blog.md>)

Topics: [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [GitHub Copilot](<https://devfeed.tech/topics/github-copilot.md>), [App](<https://devfeed.tech/topics/app.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [github-copilot](<https://devfeed.tech/tags/github-copilot.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [projects](<https://devfeed.tech/tags/projects.md>), [run](<https://devfeed.tech/tags/run.md>), [test](<https://devfeed.tech/tags/test.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>)

### AI overview

This tutorial explains how to improve test coverage in the Interview Coach application by establishing a baseline, using GitHub Copilot's Test Agent to generate unit tests, and analyzing coverage across the solution. The article reports coverage increasing from 37% to 81%.

### Source excerpt

Today I want to look at how we can improve on the test coverage that we have in the Interview Coach application. This application has some unit tests in it already, but I'm sure there is room for improvement. Defining our baseline Before we start writing tests, it's a good idea to have a baseline [...] The post Today I will... improve test coverage appeared first on Visual Studio Blog.

## \[Crypto\] Time-based one-time password (TOTP) for 2FA, part I

DevFeed: [\[Crypto\] Time-based one-time password (TOTP) for 2FA, part I](<https://devfeed.tech/articles/crypto-time-based-one-time-password-totp-for-2fa-part-i-20550.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/TOTP1/>)

Published: 2026-09-09T22:00:00Z

Content type: tutorial

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [QR Code](<https://devfeed.tech/topics/qrcode.md>), [Google](<https://devfeed.tech/topics/google.md>), [Python](<https://devfeed.tech/topics/python.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [App](<https://devfeed.tech/topics/app.md>), [email](<https://devfeed.tech/topics/email.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [app](<https://devfeed.tech/tags/app.md>), [argument](<https://devfeed.tech/tags/argument.md>), [backup](<https://devfeed.tech/tags/backup.md>), [code](<https://devfeed.tech/tags/code.md>), [crypto](<https://devfeed.tech/tags/crypto.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [github](<https://devfeed.tech/tags/github.md>), [google](<https://devfeed.tech/tags/google.md>), [password](<https://devfeed.tech/tags/password.md>), [protection](<https://devfeed.tech/tags/protection.md>), [python](<https://devfeed.tech/tags/python.md>), [run](<https://devfeed.tech/tags/run.md>), [server](<https://devfeed.tech/tags/server.md>), [smartphone](<https://devfeed.tech/tags/smartphone.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

This tutorial explains how time-based one-time passwords work for two-factor authentication. It covers importing a base32-encoded secret from a QR code into Google Authenticator, generating 6-digit login codes, and calculating them with HMAC-SHA-1 from the secret and Unix time. It also discusses backup codes and securely storing TOTP secrets separately from passwords.

### Source excerpt

[Crypto] Time-based one-time password (TOTP) for 2FA, part I

## Run AI in the Browser: A Practical Guide to Transformers.js

DevFeed: [Run AI in the Browser: A Practical Guide to Transformers.js](<https://devfeed.tech/articles/run-ai-in-the-browser-a-practical-guide-to-transformers-js-33301.md>)

Original publisher: [Read original article](<https://freek.dev/3188-run-ai-in-the-browser-a-practical-guide-to-transformersjs>)

Author: Freek Van der Herten (freek@spatie.be)

Published: 2026-09-09T14:50:26Z

Content type: tutorial

Language: en

Sources: [freek.dev - all blogposts](<https://devfeed.tech/sources/freek-dev-all-blogposts.md>)

Topics: [transformers.js](<https://devfeed.tech/topics/transformers-js.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-models](<https://devfeed.tech/tags/ai-models.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [article](<https://devfeed.tech/tags/article.md>), [backend](<https://devfeed.tech/tags/backend.md>), [browser](<https://devfeed.tech/tags/browser.md>), [guide](<https://devfeed.tech/tags/guide.md>), [internet](<https://devfeed.tech/tags/internet.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [practical](<https://devfeed.tech/tags/practical.md>), [run](<https://devfeed.tech/tags/run.md>), [transformers](<https://devfeed.tech/tags/transformers.md>), [transformers-js](<https://devfeed.tech/tags/transformers-js.md>)

### AI overview

A practical guide to Transformers.js, covering how it runs AI models directly in the browser, available models, and the trade-offs of client-side AI compared with traditional AI providers.

### Source excerpt

Transformers.js lets you run AI models directly in the browser without a backend, API keys, or an internet connection after the model is cached. The article explores how it works, which models are available, and the trade-offs of client-side AI compared to traditional AI providers. Read more

## Choosing Local Models for Coding Agents Based on Hardware and Workload

DevFeed: [Choosing Local Models for Coding Agents Based on Hardware and Workload](<https://devfeed.tech/articles/stop-guessing-which-local-model-to-run-18243.md>)

Original publisher: [Read original article](<https://blog.dailydoseofds.com/p/stop-guessing-which-local-model-to>)

Author: Avi Chawla

Published: 2026-09-02T19:10:34Z

Content type: tutorial

Language: en

Sources: [Daily Dose of Data Science](<https://devfeed.tech/sources/daily-dose-of-data-science.md>)

Topics: [Local AI](<https://devfeed.tech/topics/local-ai.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [quantization](<https://devfeed.tech/topics/quantization.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [local](<https://devfeed.tech/tags/local.md>), [local-ai](<https://devfeed.tech/tags/local-ai.md>), [model](<https://devfeed.tech/tags/model.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [quantization](<https://devfeed.tech/tags/quantization.md>), [run](<https://devfeed.tech/tags/run.md>)

### AI overview

This practitioner's guide explains why local models that work well for chat may perform poorly in coding-agent workloads. It discusses growing conversation context, memory requirements, precision, sustained speed, and thermal limits, then introduces Magnitude, an open-source inference server that profiles a machine and selects a configuration for local agent use.

### Source excerpt

A practitioner's guide to local AI.

## Benchmarking vector indexes

DevFeed: [Benchmarking vector indexes](<https://devfeed.tech/articles/benchmarking-vector-indexes-14092.md>)

Original publisher: [Read original article](<https://www.percona.com/blog/benchmarking-vector-indexes/>)

Author: Evgeniy Patlan

Published: 2026-08-27T13:35:32Z

Content type: article

Language: en

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

Topics: [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Ground truth / benchmark quality](<https://devfeed.tech/topics/ground-truth-benchmark-quality.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [ann](<https://devfeed.tech/topics/ann.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [ai-vector](<https://devfeed.tech/tags/ai-vector.md>), [ann](<https://devfeed.tech/tags/ann.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [data](<https://devfeed.tech/tags/data.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [database-trends](<https://devfeed.tech/tags/database-trends.md>), [databases](<https://devfeed.tech/tags/databases.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [index](<https://devfeed.tech/tags/index.md>), [measurements](<https://devfeed.tech/tags/measurements.md>), [model](<https://devfeed.tech/tags/model.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [percona](<https://devfeed.tech/tags/percona.md>), [points](<https://devfeed.tech/tags/points.md>), [report](<https://devfeed.tech/tags/report.md>), [run](<https://devfeed.tech/tags/run.md>), [search](<https://devfeed.tech/tags/search.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [vector-search](<https://devfeed.tech/tags/vector-search.md>), [vectorsearch](<https://devfeed.tech/tags/vectorsearch.md>)

### AI overview

This article explains how Percona's vector-bench measures vector indexes by building database engines from pinned versions, running them in identical containers with the same data and hardware, and comparing consistent measurements. It describes embeddings, exact search, approximate nearest neighbour search, and ground truth as the brute-force reference needed to evaluate index accuracy.

### Source excerpt

Nearly every database has vector search now, and every one of them has a blog post with a big number in it. Almost none of those numbers can be checked, because the thing that makes them meaningful is usually missing. We built a vector-bench to stop guessing. You name the engines you want, build them ... Continued The post Benchmarking vector indexes appeared first on Percona.

## Performance Progression of Percona Server for MySQL 8.4

DevFeed: [Performance Progression of Percona Server for MySQL 8.4](<https://devfeed.tech/articles/performance-progression-of-percona-server-for-mysql-8-4-14110.md>)

Original publisher: [Read original article](<https://www.percona.com/blog/performance-progression-of-percona-server-for-mysql-8-4/>)

Author: Bogdan Degtyariov

Published: 2026-08-27T13:07:20Z

Content type: article

Language: en

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

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [intel](<https://devfeed.tech/tags/intel.md>), [latency](<https://devfeed.tech/tags/latency.md>), [load](<https://devfeed.tech/tags/load.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [percona](<https://devfeed.tech/tags/percona.md>), [percona-server-for-mysql](<https://devfeed.tech/tags/percona-server-for-mysql.md>), [performance](<https://devfeed.tech/tags/performance.md>), [processors](<https://devfeed.tech/tags/processors.md>), [run](<https://devfeed.tech/tags/run.md>)

### AI overview

This article investigates read/write performance changes across Percona Server for MySQL 8.4 versions released in 2026. It describes benchmark scope, database and buffer-size combinations, configuration, and CPU-frequency controls, while excluding features, security patches, latency percentiles, and resource-utilization measurements.

### Source excerpt

1. Purpose and scope This performance investigation aims to look into the read/write performance of Percona Server for MySQL 8.4 and how it changed between versions released in 2026: 8.4.8-8 released on 12 March 2026 8.4.10-10 released on 30 June 2026 8.4.11-11 released on 20 August 2026 We want to see if there are improvements ... Continued The post Performance Progression of Percona Server for MySQL 8.4 appeared first on Percona.

## Coding Challenge #131 - Automated Code Review Agent

DevFeed: [Coding Challenge #131 - Automated Code Review Agent](<https://devfeed.tech/articles/coding-challenge-131-automated-code-review-agent-29207.md>)

Original publisher: [Read original article](<https://codingchallenges.substack.com/p/coding-challenge-131-automated-code>)

Author: John Crickett

Published: 2026-08-15T08:01:51Z

Content type: tutorial

Language: en

Sources: [Coding Challenges](<https://devfeed.tech/sources/coding-challenges.md>)

Topics: [Code Challenge](<https://devfeed.tech/topics/code-challenge.md>), [GitHub Copilot code review](<https://devfeed.tech/topics/github-copilot-code-review.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [automated](<https://devfeed.tech/tags/automated.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [coding](<https://devfeed.tech/tags/coding.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [github](<https://devfeed.tech/tags/github.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [run](<https://devfeed.tech/tags/run.md>), [tools](<https://devfeed.tech/tags/tools.md>), [triggers](<https://devfeed.tech/tags/triggers.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

Coding Challenge #131 asks readers to build an automated code review agent that reviews pull requests against team coding guidelines and posts findings as comments. The challenge covers retries, event triggers, concurrency control, large pull requests, static analysis tools, and lookup capabilities.

### Source excerpt

This challenge is to build your own code review agent.

## Rerun Only the Jobs That Failed

DevFeed: [Rerun Only the Jobs That Failed](<https://devfeed.tech/articles/rerun-only-the-jobs-that-failed-20427.md>)

Original publisher: [Read original article](<https://semaphore.io/blog/rerun-only-the-jobs-that-failed>)

Author: Pete Miloravac

Published: 2026-08-12T10:31:39Z

Content type: release

Language: en

Sources: [Semaphore Engineering](<https://devfeed.tech/sources/semaphore-engineering.md>)

Topics: [ci](<https://devfeed.tech/topics/ci.md>), [jobs](<https://devfeed.tech/topics/jobs.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ci](<https://devfeed.tech/tags/ci.md>), [cost](<https://devfeed.tech/tags/cost.md>), [flag](<https://devfeed.tech/tags/flag.md>), [jobs](<https://devfeed.tech/tags/jobs.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [rebuilds](<https://devfeed.tech/tags/rebuilds.md>), [run](<https://devfeed.tech/tags/run.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Semaphore now reruns only failed jobs in a pipeline, carrying over successful jobs and preserving the workflow topology. This reduces rerun time and billable usage, while a YAML flag preserves the previous full-block rebuild behavior.

### Source excerpt

Your pipeline fails on one job, and until now you had to rebuild the entire block to recover. Not anymore. Semaphore now reruns only the jobs that actually failed, so you get feedback faster and pay less to get it. What Shipped: Job Rerun When a pipeline failed, the old behavior rebuilt every job inside [...] The post Rerun Only the Jobs That Failed appeared first on Semaphore.

## 2.5x Faster x86\_64 Linux Builds on macOS with Rosetta

DevFeed: [2.5x Faster x86\_64 Linux Builds on macOS with Rosetta](<https://devfeed.tech/articles/2-5x-faster-x86-64-linux-builds-on-macos-with-rosetta-32450.md>)

Original publisher: [Read original article](<https://nixcademy.com/posts/rosetta-linux-builder-macos/>)

Author: Jacek Galowicz

Published: 2026-08-10T00:00:00Z

Content type: article

Language: en

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

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [x86](<https://devfeed.tech/topics/x86.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [apple-silicon](<https://devfeed.tech/tags/apple-silicon.md>), [install](<https://devfeed.tech/tags/install.md>), [macos](<https://devfeed.tech/tags/macos.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [rosetta](<https://devfeed.tech/tags/rosetta.md>), [run](<https://devfeed.tech/tags/run.md>), [virtualization](<https://devfeed.tech/tags/virtualization.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

The article explains a new nix-darwin Linux builder backend that uses Apple's Virtualization.framework and exposes Rosetta to guest VMs. On Apple Silicon Macs, it supports x86_64 Linux builds and is reported to be roughly 2.5 times faster than QEMU-based emulation.

### Source excerpt

Build x86_64 Linux packages 2.5x faster on your Apple Silicon Mac with the new Rosetta-based linux-builder, a drop-in replacement in nix-darwin.

## Installing CLIs with uv

DevFeed: [Installing CLIs with uv](<https://devfeed.tech/articles/installing-clis-with-uv-30857.md>)

Original publisher: [Read original article](<https://www.packetcoders.io/installing-clis-with-uv/>)

Author: Rick Donato

Published: 2026-07-31T07:00:05Z

Content type: tutorial

Language: en

Sources: [Packet Coders - Learn Network Automation](<https://devfeed.tech/sources/packet-coders-learn-network-automation.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Python](<https://devfeed.tech/topics/python.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [install](<https://devfeed.tech/tags/install.md>), [python](<https://devfeed.tech/tags/python.md>), [run](<https://devfeed.tech/tags/run.md>), [tips](<https://devfeed.tech/tags/tips.md>), [tool](<https://devfeed.tech/tags/tool.md>), [uv](<https://devfeed.tech/tags/uv.md>)

### AI overview

A short tutorial explains how to install a Python CLI as a standalone uv tool so it can be called directly without repeatedly using uv run, a virtual environment, or a prefix.

### Source excerpt

🐍 Python Tip! Tired of typing uv run every time? Install any Python CLI as a standalone uv tool and call it directly from anywhere, with no venv and no prefix. # Before: prefix every call with `uv run` uv run mytool --help uv run mytool serve # After: install once... uv

## Scale Faster with Managed Weaviate: Now in Public Preview on DigitalOcean

DevFeed: [Scale Faster with Managed Weaviate: Now in Public Preview on DigitalOcean](<https://devfeed.tech/articles/scale-faster-with-managed-weaviate-now-in-public-preview-on-digitalocean-19935.md>)

Original publisher: [Read original article](<https://www.digitalocean.com/blog/public-preview-managed-weaviate>)

Author: Waverly Swinton

Published: 2026-07-09T19:08:52Z

Content type: release

Language: en

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

Topics: [Digital Ocean](<https://devfeed.tech/topics/digital-ocean.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [digitalocean](<https://devfeed.tech/tags/digitalocean.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [preview](<https://devfeed.tech/tags/preview.md>), [product-updates](<https://devfeed.tech/tags/product-updates.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [rest](<https://devfeed.tech/tags/rest.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [run](<https://devfeed.tech/tags/run.md>), [security](<https://devfeed.tech/tags/security.md>), [storage](<https://devfeed.tech/tags/storage.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

DigitalOcean has placed Managed Weaviate into public preview. The service provides fully managed Weaviate clusters with automated backups, security patching, version upgrades, high availability, and storage autoscaling, with pricing starting at $20 per month.

### Source excerpt

Production Weaviate in minutes, managed by DigitalOcean. Starting at $20/month. Vector databases have become a core piece of the AI application stack. Whether you're building retrieval-augmented generation (RAG), semantic search, agentic workflows and memory, or similarity-based recommendations, you need a vector store that's reliable, fast, and doesn't require a dedicated ops engineer to keep running. Weaviate has become a critical part of that stack -- its open-source AI-native vector database powers semantic search, RAG, and agentic workflows for thousands of companies. Self-hosting Weaviate is doable but it comes at a cost. You're on the hook for backups, version upgrades, security patches, high availability configuration, and storage scaling. That's real time and real engineering capacity that isn't going toward your product. Managed alternatives from larger cloud vendors exist, but they often come with per-query fees, per-dimension surcharges, and pricing models that are difficult to predict as usage grows. Today, we're announcing that Managed Weaviate is now in public preview on DigitalOcean, offering an easy way for you to run Weaviate in production, at a price that makes sense from day one. The easiest way to run Weaviate in production Managed Weaviate on DigitalOcean handles the operational work so you don't have to. Provision a fully managed Weaviate cluster directly from the DigitalOcean control panel. From there, automated backups, security patching, version upgrades, high availability, and storage autoscaling are handled for you. Full Weaviate client compatibility via GraphQL, REST, and gRPC on port 443 means your existing code works without modification. This means you get Weaviate's full capabilities -- semantic and hybrid search, RAG pipelines, and support for agent-driven workflows -- without spending engineering time on the infrastructure beneath them. Predictable pricing, starting at $20/month We built Managed Weaviate with flat, predictable monthly

## Coding Challenge #124 - Du

DevFeed: [Coding Challenge #124 - Du](<https://devfeed.tech/articles/coding-challenge-124-du-29200.md>)

Original publisher: [Read original article](<https://codingchallenges.substack.com/p/coding-challenge-124-du>)

Author: John Crickett

Published: 2026-06-13T08:01:14Z

Content type: tutorial

Language: en

Sources: [Coding Challenges](<https://devfeed.tech/sources/coding-challenges.md>)

Topics: [Code Challenge](<https://devfeed.tech/topics/code-challenge.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Utility Software](<https://devfeed.tech/topics/utility.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [exercise](<https://devfeed.tech/tags/exercise.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [posix](<https://devfeed.tech/tags/posix.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [run](<https://devfeed.tech/tags/run.md>), [unix](<https://devfeed.tech/tags/unix.md>), [utilities](<https://devfeed.tech/tags/utilities.md>)

### AI overview

A coding challenge asks readers to build their own POSIX-compatible du utility. It covers recursively traversing directories, calculating disk usage, handling hard links and symbolic links, and presenting results in multiple formats.

### Source excerpt

This challenge is to build your own du.

## How Whatnot's Hourly ML Feature Pipeline Safely Handled a Failed Update

DevFeed: [How Whatnot's Hourly ML Feature Pipeline Safely Handled a Failed Update](<https://devfeed.tech/articles/the-ml-feature-pipeline-that-got-slower-and-no-one-noticed-23713.md>)

Original publisher: [Read original article](<https://medium.com/whatnot-engineering/the-ml-feature-pipeline-that-got-slower-and-no-one-noticed-8e90c224eae3?source=rss----162aeca881b0---4>)

Author: Whatnot Engineering

Published: 2026-05-07T16:01:01Z

Content type: article

Language: en

Sources: [Whatnot Engineering](<https://devfeed.tech/sources/whatnot-engineering.md>)

Topics: [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [data](<https://devfeed.tech/topics/data.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [data](<https://devfeed.tech/tags/data.md>), [data-engineering](<https://devfeed.tech/tags/data-engineering.md>), [feature](<https://devfeed.tech/tags/feature.md>), [feature-engineering](<https://devfeed.tech/tags/feature-engineering.md>), [feature-store](<https://devfeed.tech/tags/feature-store.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [ml](<https://devfeed.tech/tags/ml.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [recommendation-system](<https://devfeed.tech/tags/recommendation-system.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [run](<https://devfeed.tech/tags/run.md>)

### AI overview

Whatnot describes how its hourly ML feature pipeline handled a bad pull request that caused a feature group to produce zero rows. The online feature store served last-known-good features for up to two days, anomaly monitors detected the row-count drop, and the team reverted the change before the freshness gap became significant. The post shares lessons about safe degradation and operating frequently updated recommendation features.

### Source excerpt

David Kawashima, Miguel Fernandez-Montes Cuberta, Ford Bohrmann | Discovery A bad PR went out just as our hourly feature pipeline was about to run. The pipeline was responsible for recomputing fresh user behavior signals used in livestream ranking on the home feed. These features capture recent user intent: watches, bids, orders aggregated across users, sellers, and categories. A missed feature update means that the system stops responding to user signals immediately. This PR release caused one of our feature groups to suddenly produce zero rows ... but nothing broke! Even though a critical feature group for the model stopped updating, the online feature store continued serving the last-known-good features, buffered by a 2-day TTL and nothing broke explicitly. Our anomaly monitors went off immediately, flagging the drop in row counts. The team identified the bad change and reverted it before the freshness gap grew large enough to matter. No corrupted data reached production. The system absorbed the failure and degraded safely. This graceful degradation didn't happen by accident; it was the result of hardened processes from years of lived experience, seeing the way these systems can degrade in obvious or subtle ways. In this post, we share some of those lessons learned. The system: hourly feature pipeline Whatnot is a highly dynamic marketplace where buyers' preferences change at a moment's notice. A buyer might research a laptop, join a football-card break a few hours later, and buy chocolate before logging off for the night. Daily feature updates capture long-term preferences but miss intra-day shifts. To keep up with these rapidly changing buyer interests (in 2025) we moved from daily to hourly updates for features that power our ML feed ranking models. Fresher features are a critical component for capturing the live nature of the Whatnot marketplace, where the inventory available to purchase changes in real time. Moving from daily to hourly updates was a meaningful

## How Tinybird's storage architecture works: S3, local caching, and zero-copy replication

DevFeed: [How Tinybird's storage architecture works: S3, local caching, and zero-copy replication](<https://devfeed.tech/articles/how-tinybird-s-storage-architecture-works-s3-local-caching-and-zero-copy-replication-18688.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/tinybird-architecture>)

Author: Daniel Pozo, Irene Martínez

Published: 2026-03-02T10:00:00Z

Content type: article

Language: en

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

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [caching](<https://devfeed.tech/tags/caching.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [engineering-excellence](<https://devfeed.tech/tags/engineering-excellence.md>), [object-storage](<https://devfeed.tech/tags/object-storage.md>), [replication](<https://devfeed.tech/tags/replication.md>), [run](<https://devfeed.tech/tags/run.md>), [s3](<https://devfeed.tech/tags/s3.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [storage](<https://devfeed.tech/tags/storage.md>), [zero-copy](<https://devfeed.tech/tags/zero-copy.md>)

### AI overview

This article explains how Tinybird runs ClickHouse on object storage using local SSD caching, zero-copy replication, and a packed part format. It states that the format reduces S3 costs by 30-40%.

### Source excerpt

How we run ClickHouse on top of object storage with local SSD caching, zero-copy replication, and a packed part format that cuts S3 costs by 30-40%.

## In Praise of -dry-run

DevFeed: [In Praise of -dry-run](<https://devfeed.tech/articles/in-praise-of-dry-run-29067.md>)

Original publisher: [Read original article](<https://henrikwarne.com/2026/01/31/in-praise-of-dry-run/>)

Author: Henrik Warne

Published: 2026-01-31T17:50:03Z

Content type: opinion

Language: en

Sources: [Henrik Warne](<https://devfeed.tech/sources/henrik-warne.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [dry-run](<https://devfeed.tech/tags/dry-run.md>), [programming](<https://devfeed.tech/tags/programming.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [run](<https://devfeed.tech/tags/run.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The author describes adding a --dry-run option to a reporting application that generates, archives, uploads, and validates reports. The option prints the planned steps without making changes, providing a quick sanity check and helping test report-generation logic safely.

### Source excerpt

For the last few months, I have been developing a new reporting application. Early on, I decided to add a -dry-run option to the run command. This turned out to be quite useful - I have used it many times ... Continue reading ->

## Running Renovate as a GitHub Action (and NO PAT!)

DevFeed: [Running Renovate as a GitHub Action (and NO PAT!)](<https://devfeed.tech/articles/running-renovate-as-a-github-action-and-no-pat-13214.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/running-renovate-as-a-github-action>)

Published: 2026-01-19T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [renovate](<https://devfeed.tech/topics/renovate.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [octo sts](<https://devfeed.tech/topics/octo-sts.md>), [github personal access token](<https://devfeed.tech/topics/github-personal-access-token.md>), [Security](<https://devfeed.tech/topics/security.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>)

Tags: [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [dependabot](<https://devfeed.tech/tags/dependabot.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github](<https://devfeed.tech/tags/github.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [github-pat-alternative](<https://devfeed.tech/tags/github-pat-alternative.md>), [guide](<https://devfeed.tech/tags/guide.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [octo-sts](<https://devfeed.tech/tags/octo-sts.md>), [personal-access-token](<https://devfeed.tech/tags/personal-access-token.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [run](<https://devfeed.tech/tags/run.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>)

### AI overview

This tutorial explains how to run Renovate as a scheduled GitHub Action to update repository dependencies without using a long-lived GitHub Personal Access Token. It presents Octo STS as the replacement for the PAT and outlines the workflow setup.

### Source excerpt

Discover how you can run Renovate as a GitHub Action without needing a GitHub Personal Access Token by using Octo STS.

## Multi-Module Projects with Cangjie

DevFeed: [Multi-Module Projects with Cangjie](<https://devfeed.tech/articles/multi-module-projects-with-cangjie-24552.md>)

Original publisher: [Read original article](<https://medium.com/snapp-mobile/multi-module-projects-with-cangjie-c43236c37292?source=rss----bcd96e620b02---4>)

Author: Jasper Morgan

Published: 2025-09-02T12:39:21Z

Content type: tutorial

Language: en

Sources: [Snapp Mobile - Medium](<https://devfeed.tech/sources/snapp-mobile-medium.md>)

Topics: [Package manager](<https://devfeed.tech/topics/package-manager.md>), [modules](<https://devfeed.tech/topics/modules.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Code](<https://devfeed.tech/topics/code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [cangjie](<https://devfeed.tech/tags/cangjie.md>), [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [huawei](<https://devfeed.tech/tags/huawei.md>), [init](<https://devfeed.tech/tags/init.md>), [module](<https://devfeed.tech/tags/module.md>), [programming](<https://devfeed.tech/tags/programming.md>), [run](<https://devfeed.tech/tags/run.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

A tutorial on using the Cangjie package manager, cjpm, to create and configure multi-module projects. It covers initializing a workspace, adding executable and library modules, registering them in the workspace configuration, adding source code, building, and running the project.

### Source excerpt

The Cangjie package manager cjpm is a cli tool which can be used to setup multi-module projects. A module is simply a folder with a cjpm.toml file - whilst these can also be created by hand, the cli tool simplifies the process. The approach to the setup is to create a cjpm workspace at the project root and then separate module within the workspace. It will look like this: my-project (workspace) -- module-1 -- module-2 -- module-3Create the workspace In the root of your project, initialise a workspace: # create a project folder mkdir cat-pic-downloader cd cat-pic-downloader # initialise the workspace cjpm init --workspace At this stage, your project directory will have a cjpm.toml which is the configuration for your workspace. A newly initialised workspace config will look like this. [dependencies] [workspace] build-members = [] compile-option = "" link-option = "" members = [] target-dir = "" test-members = []Add the modules To add a module to the project, use the cjpm init command but with the options to specify the type of module to create (executable, a static library or a dynamic library). Let's add a couple of modules to our sample project. # create a static lib module called 'downloader' cjpm init --type=static --path downloader # create a static lib module called 'img-processor' cjpm init --type=static --path img_processor # create an executable module called 'runner' cjpm init --type=executable --path runner By default, a newly created module has a src directory and it's own cjpm.toml to configure the module. (Static library modules will have no source code. Executable modules will have a main.cj file.) Add the modules to the workspace So that the workspace is aware of the modules we created, we need to add them to the members field of the workspace's cjpm.toml. Edit the cjpm.toml as follows. [dependencies] [workspace] build-members = [] compile-option = "" link-option = "" members = ["./runner", "./downloader", "./img_processor"] target-dir = "" test-member

## How to Split a Git Mono-Repository While Preserving File History

DevFeed: [How to Split a Git Mono-Repository While Preserving File History](<https://devfeed.tech/articles/how-to-split-git-repository-27726.md>)

Original publisher: [Read original article](<https://gagor.pro/2025/09/how-to-split-git-repository/>)

Author: Tom

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

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [repo](<https://devfeed.tech/topics/repo.md>), [Script](<https://devfeed.tech/topics/script.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bash](<https://devfeed.tech/tags/bash.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [devops](<https://devfeed.tech/tags/devops.md>), [git](<https://devfeed.tech/tags/git.md>), [git-filter-repo](<https://devfeed.tech/tags/git-filter-repo.md>), [history](<https://devfeed.tech/tags/history.md>), [history-preservation](<https://devfeed.tech/tags/history-preservation.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [migration](<https://devfeed.tech/tags/migration.md>), [mono-repo](<https://devfeed.tech/tags/mono-repo.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [repository](<https://devfeed.tech/tags/repository.md>), [repository-split](<https://devfeed.tech/tags/repository-split.md>), [run](<https://devfeed.tech/tags/run.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [verify](<https://devfeed.tech/tags/verify.md>), [version-control](<https://devfeed.tech/tags/version-control.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A tutorial for splitting a large Git mono-repository into smaller repositories while preserving the history of selected files. It covers cloning the repository, disconnecting the old remote, filtering history, cleaning up unreferenced data, configuring a new origin, and pushing and verifying the result.

### Source excerpt

This guide explains how to split a mono-repo into smaller repositories, keeping the git history for selected files.

## Running Cloudflare Workers Inside Spin Apps

DevFeed: [Running Cloudflare Workers Inside Spin Apps](<https://devfeed.tech/articles/running-cloudflare-workers-inside-spin-apps-15333.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/running-cloudflare-workers-inside-spin-apps>)

Author: Matt Butcher

Published: 2025-08-04T12:00:00Z

Content type: article

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Cloudflare Workers](<https://devfeed.tech/topics/cloudflare-workers.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [function](<https://devfeed.tech/topics/function.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [apps](<https://devfeed.tech/tags/apps.md>), [can](<https://devfeed.tech/tags/can.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [cloudflare-workers](<https://devfeed.tech/tags/cloudflare-workers.md>), [function](<https://devfeed.tech/tags/function.md>), [run](<https://devfeed.tech/tags/run.md>), [running](<https://devfeed.tech/tags/running.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [workers](<https://devfeed.tech/tags/workers.md>)

### AI overview

The article states that Cloudflare Workers are a type of serverless function and can run within Spin apps.

### Source excerpt

Cloudflare Workers are another flavor of serverless function. You can run them from within Spin apps.

## Working with ESP-IDF in CLion

DevFeed: [Working with ESP-IDF in CLion](<https://devfeed.tech/articles/working-with-esp-idf-in-clion-13824.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/clion/>)

Author: John Lee

Published: 2025-03-13T14:53:32Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [ESP32-S3](<https://devfeed.tech/topics/esp32-s3.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [debug](<https://devfeed.tech/topics/debug.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [monitor](<https://devfeed.tech/topics/monitor.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [beginner](<https://devfeed.tech/tags/beginner.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clion](<https://devfeed.tech/tags/clion.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [debug](<https://devfeed.tech/tags/debug.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32-s3](<https://devfeed.tech/tags/esp32-s3.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ide](<https://devfeed.tech/tags/ide.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [platform](<https://devfeed.tech/tags/platform.md>), [project](<https://devfeed.tech/tags/project.md>), [run](<https://devfeed.tech/tags/run.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [usb](<https://devfeed.tech/tags/usb.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A beginner-friendly tutorial for configuring and using an ESP-IDF project in CLion. It covers building an application, flashing it to an ESP32-S3 board, debugging, running the serial monitor, and customizing project configuration within the IDE.

### Source excerpt

This tutorial shows how to work with an ESP-IDF project in CLion, a cross-platform C and C++ IDE. We'll build an application, flash it to an ESP32-S3 board, and debug it. We'll also run the serial monitor and examine the configuration menu that allows you to customize your ESP-IDF project. All of this will be done within the IDE, without having to switch to a system terminal or any other tool. The tutorial is beginner-friendly, so it's okay if you've never worked with ESP-IDF and CLion.

## Simple Interactive CLI App with Node.js

DevFeed: [Simple Interactive CLI App with Node.js](<https://devfeed.tech/articles/simple-interactive-cli-app-with-node-js-18951.md>)

Original publisher: [Read original article](<https://www.robinwieruch.de/node-js-cli/>)

Author: Robin Wieruch

Published: 2025-02-24T06:53:46Z

Content type: tutorial

Language: en

Sources: [Robin Wieruch](<https://devfeed.tech/sources/robin-wieruch.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [chat](<https://devfeed.tech/tags/chat.md>), [cli](<https://devfeed.tech/tags/cli.md>), [coding](<https://devfeed.tech/tags/coding.md>), [commands](<https://devfeed.tech/tags/commands.md>), [display](<https://devfeed.tech/tags/display.md>), [features](<https://devfeed.tech/tags/features.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [js](<https://devfeed.tech/tags/js.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [node-js-cli-app](<https://devfeed.tech/tags/node-js-cli-app.md>), [run](<https://devfeed.tech/tags/run.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A tutorial on building a simple interactive CLI app with Node.js and TypeScript. The app reads user input, responds through a chat interface, supports commands, and exits when the user types "exit".

### Source excerpt

Learn how to build a simple interactive CLI app with Node.js and TypeScript. Create a chat interface that reads user input and responds interactively ...

## Analysis of an advanced malicious Chrome extension

DevFeed: [Analysis of an advanced malicious Chrome extension](<https://devfeed.tech/articles/analysis-of-an-advanced-malicious-chrome-extension-36625.md>)

Original publisher: [Read original article](<https://palant.info/2025/02/03/analysis-of-an-advanced-malicious-chrome-extension/>)

Author: Wladimir Palant

Published: 2025-02-03T14:05:37Z

Content type: article

Language: en

Sources: [Almost Secure](<https://devfeed.tech/sources/almost-secure.md>)

Topics: [Chrome extension](<https://devfeed.tech/topics/chrome-extension.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Code](<https://devfeed.tech/topics/code.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [chrome](<https://devfeed.tech/tags/chrome.md>), [chrome-extension](<https://devfeed.tech/tags/chrome-extension.md>), [code](<https://devfeed.tech/tags/code.md>), [extension](<https://devfeed.tech/tags/extension.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [permission](<https://devfeed.tech/tags/permission.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [run](<https://devfeed.tech/tags/run.md>)

### AI overview

A technical analysis examines the Download Manager Integration Checklist Chrome extension and related extensions with malicious functionality. The article describes excessive website access requests, remotely downloaded content, dynamically added rules, and remote code execution through tabs.executeScript. It also reports that an update removed the malicious functionality and cleared extension storage.

### Source excerpt

Two weeks ago I published an article on 63 malicious Chrome extensions. In most cases I could only identify the extensions as malicious. With large parts of their logic being downloaded from some web servers, it wasn't possible to analyze their functionality in detail. However, for the Download Manager Integration Checklist extension I have all parts of the puzzle now. This article is a technical discussion of its functionality that somebody tried very hard to hide. I was also able to identify a number of related extensions that were missing from my previous article. Update (2025-02-04): An update to Download Manager Integration Checklist extension has been released a day before I published this article, clearly prompted by me asking adindex about this. The update removes the malicious functionality and clears extension storage. Luckily, I've saved both the previous version and its storage contents. Contents The problematic extensions "Remote configuration" functionality The code being executed The "session" handling Who is behind these extensions? The problematic extensions Since my previous article I found a bunch more extensions with malicious functionality that is almost identical to Download Manager Integration Checklist. The extension Auto Resolution Quality for YouTube™ does not seem to be malicious (yet?) but shares many remarkable oddities with the other extensions. Name Weekly active users Extension ID Featured Freemybrowser 10,000 bibmocmlcdhadgblaekimealfcnafgfn ✓ AutoHD for Twitch™ 195 didbenpmfaidkhohcliedfmgbepkakam Free simple Adult Blocker with password 1,000 fgfoepffhjiinifbddlalpiamnfkdnim Convert PDF to JPEG/PNG 20,000 fkbmahbmakfabmbbjepgldgodbphahgc Download Manager Integration Checklist 70,000 ghkcpcihdonjljjddkmjccibagkjohpi ✓ Auto Resolution Quality for YouTube™ 223 hdangknebhddccoocjodjkbgbbedeaam Adblock.mx - Adblock for Chrome 1,000 hmaeodbfmgikoddffcfoedogkkiifhfe ✓ Auto Quality for YouTube™ 100,000 iaddfgegjgjelgkanamleadckkpnjpjc Anti

## Automated Validation of BGP Labs

DevFeed: [Automated Validation of BGP Labs](<https://devfeed.tech/articles/automated-validation-of-bgp-labs-11019.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2024/06/bgp-labs-validation/>)

Published: 2024-06-18T06:22:00Z

Content type: release

Language: en

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

Topics: [BGP](<https://devfeed.tech/topics/bgp.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [bgp](<https://devfeed.tech/tags/bgp.md>), [integration](<https://devfeed.tech/tags/integration.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [run](<https://devfeed.tech/tags/run.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

netlab 1.8.3 adds automated validation for BGP lab exercises on Arista EOS, Cumulus Linux, and FRR1, using validation plugins included with netlab.

### Source excerpt

In late 2023, I started playing with the idea of having automated validation in netlab. The early implementation was used in BGP labs, and a user liked it so much that he opened an issue saying: I would suggest providing netlab validate for each lab. Numerous rounds of yak-shaving later, I merged a humongous commit that adds automated validation to these lab exercises: Read more ...

## Automating the Klarna Card Ownership Fees System using AWS Step Functions

DevFeed: [Automating the Klarna Card Ownership Fees System using AWS Step Functions](<https://devfeed.tech/articles/automating-the-klarna-card-ownership-fees-system-using-aws-step-functions-35646.md>)

Original publisher: [Read original article](<https://engineering.klarna.com/automating-the-klarna-card-ownership-fees-system-using-aws-step-functions-346ce7094278?source=rss----86090d14ab52---4>)

Author: Michel Neumann

Published: 2024-05-02T07:42:27Z

Content type: article

Language: en

Sources: [Klarna Engineering](<https://devfeed.tech/sources/klarna-engineering.md>)

Topics: [AWS Step Functions](<https://devfeed.tech/topics/aws-step-functions.md>), [AWS CloudFormation](<https://devfeed.tech/topics/aws-cloudformation.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [jira](<https://devfeed.tech/topics/jira.md>)

Tags: [athena](<https://devfeed.tech/tags/athena.md>), [automation](<https://devfeed.tech/tags/automation.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-step-functions](<https://devfeed.tech/tags/aws-step-functions.md>), [cloudformation](<https://devfeed.tech/tags/cloudformation.md>), [databases](<https://devfeed.tech/tags/databases.md>), [jira](<https://devfeed.tech/tags/jira.md>), [klarna](<https://devfeed.tech/tags/klarna.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [run](<https://devfeed.tech/tags/run.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [step-functions](<https://devfeed.tech/tags/step-functions.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

The article explains how Klarna automated its Klarna Card monthly fee-collection process with AWS Step Functions and CloudFormation. The automation replaced a manual, multi-day batch workflow with a scheduled process and reduced maintenance effort.

### Source excerpt

This article outlines how my team and I applied automation using AWS Step Functions and CloudFormation on a system to charge the monthly fee for Klarna Cards, enabling us to transform a previously manual routine into a self-sufficient, scheduled workflow. The initiative significantly streamlined operations and reduced maintenance cost. Introduction In early 2023, Klarna introduced monthly fees for Klarna Cards in the US. In the Card & Banking domain, two teams, including myself as engineer, developed this system within a tight four-month deadline. Initially, the system required extensive manual operation, including a detailed checklist for engineers to follow to ensure successful executions. The teams launched, planning iterative improvements of that routine. Months passed by without any advancement in refining the operation process nor automating any part of it. To provide an overview of what needed to be done by the teams to run the batch jobs: Designating an engineer to lead the monthly process, coordinated using JIRA tickets Updating exemption lists and submitting pull requests to the code-base prior to initiating batch runs Ensuring data integrity by performing Athena queries across three different production databases within the AWS Console Manually initiating multiple batch jobs in a specified sequence with manual input of arguments in a live production setting Awaiting termination of the jobs and conducting a thorough review of the outcomes of the final batch jobs for each market Overall, this routine took around three business days per month and required two engineers to approve code changes and review the results of the batch runs. Considering new markets where fees may be rolled out towards, this workflow posed a significant challenge to maintaining high-quality standards and preventing potential incidents. Taking on The Challenge We recognized that continuing with our current process was unsustainable and bound to cause issues down the line. When the top

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