# hooks

Published articles for hooks.

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

## Rider and ReSharper 2026.2.2 Are Out!

DevFeed: [Rider and ReSharper 2026.2.2 Are Out!](<https://devfeed.tech/articles/rider-and-resharper-2026-2-2-are-out-31525.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/dotnet/2026/09/16/rd-rs-2026-2-2/>)

Author: Alexander Kurakin

Published: 2026-09-16T14:12:44Z

Content type: release

Language: en

Sources: [The JetBrains Blog](<https://devfeed.tech/sources/the-jetbrains-blog.md>)

Topics: [rider](<https://devfeed.tech/topics/rider.md>), [resharper](<https://devfeed.tech/topics/resharper.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai-agent-hooks](<https://devfeed.tech/tags/ai-agent-hooks.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [macos](<https://devfeed.tech/tags/macos.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [net](<https://devfeed.tech/tags/net.md>), [net-tools](<https://devfeed.tech/tags/net-tools.md>), [releases](<https://devfeed.tech/tags/releases.md>), [resharper](<https://devfeed.tech/tags/resharper.md>), [rider](<https://devfeed.tech/tags/rider.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

JetBrains releases Rider, ReSharper, and .NET tools 2026.2.2, adding an AI Agent Setup widget in Rider, more targeted hook feedback for coding agents, TUnit coverage support, and fixes including a macOS freezing issue.

### Source excerpt

We've released version 2026.2.2 of ReSharper, Rider, and .NET tools. You can install this update from inside the tools themselves, through the Toolbox App, or on our website. Here's what's new in this update. Rider 2026.2.2 AI Agent Setup widget We've recently added a wide range of features to help you work with coding agents [...]

## Ensuring transaction-safety in Google App Engine

DevFeed: [Ensuring transaction-safety in Google App Engine](<https://devfeed.tech/articles/ensuring-transaction-safety-in-google-app-engine-27414.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/transaction-safety.htm>)

Author: Khan Academy

Published: 2016-06-27T22:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Transactions](<https://devfeed.tech/topics/transactions.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Code](<https://devfeed.tech/topics/code.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [database](<https://devfeed.tech/tags/database.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [news](<https://devfeed.tech/tags/news.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

The article explains how Khan Academy uses transactions and user-write locks with Google App Engine to prevent database corruption caused by concurrent requests overwriting one another. It describes hooks that detect transaction-safety violations and highlights caching and code-path mistakes that can cause stale data to be used inside transactions.

### Source excerpt

By Craig Silverstein In last week's exciting post, I described an alternative to transactions that we use at ... Read more

## Build with Claude Code: Enrollment for a Two-Day Cohort Course

DevFeed: [Build with Claude Code: Enrollment for a Two-Day Cohort Course](<https://devfeed.tech/articles/last-call-for-enrollment-build-with-claude-code-26893.md>)

Original publisher: [Read original article](<https://blog.bytebytego.com/p/last-call-for-enrollment-build-with-d63>)

Author: ByteByteGo

Published: 2026-09-15T19:31:01Z

Content type: article

Language: en

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

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [git](<https://devfeed.tech/tags/git.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learn](<https://devfeed.tech/tags/learn.md>), [mcps](<https://devfeed.tech/tags/mcps.md>), [parallel](<https://devfeed.tech/tags/parallel.md>)

### AI overview

The article announces the relaunch of Build with Claude Code, a two-day cohort-based course taught by John Kim. It covers Claude Code fundamentals and production workflows, including context engineering, memory, Skills, MCPs, hooks, Git worktrees, subagents, and agent teams.

### Source excerpt

We're relaunching Build with Claude Code, a 2-day intensive cohort-based course taught by John Kim, who has trained hundreds of engineers at Meta to use Claude Code in real production workflows.

## How I Run My 1.5M+ Follower Content Business With Codex | Riley Brown

DevFeed: [How I Run My 1.5M+ Follower Content Business With Codex | Riley Brown](<https://devfeed.tech/articles/how-i-run-my-1-5m-follower-content-business-with-codex-riley-brown-34997.md>)

Original publisher: [Read original article](<https://creatoreconomy.so/p/how-i-run-my-content-business-with-codex-riley-brown>)

Author: Peter Yang

Published: 2026-08-16T14:03:09Z

Content type: article

Language: en

Sources: [Behind the Craft](<https://devfeed.tech/sources/behind-the-craft.md>)

Topics: [codex](<https://devfeed.tech/topics/codex.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [codex](<https://devfeed.tech/tags/codex.md>), [create](<https://devfeed.tech/tags/create.md>), [follower](<https://devfeed.tech/tags/follower.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [uses](<https://devfeed.tech/tags/uses.md>)

### AI overview

Riley Brown's article describes how he uses Codex within his AI stack to research topics, write video hooks, and create thumbnails for his content business.

### Source excerpt

Riley revealed his full AI stack including how he uses Codex to research topics, write video hooks, and create viral thumbnails.

## The npm worm that installs itself into your coding agent

DevFeed: [The npm worm that installs itself into your coding agent](<https://devfeed.tech/articles/the-npm-worm-that-installs-itself-into-your-coding-agent-16036.md>)

Original publisher: [Read original article](<https://workos.com/blog/npm-worm-coding-agent-config-credentials>)

Author: WorkOS

Published: 2026-08-06T15:20:55Z

Content type: article

Language: en

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

Topics: [npm](<https://devfeed.tech/topics/npm.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [github](<https://devfeed.tech/tags/github.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [npm-worm](<https://devfeed.tech/tags/npm-worm.md>), [repo](<https://devfeed.tech/tags/repo.md>), [shai-hulud](<https://devfeed.tech/tags/shai-hulud.md>), [vscode](<https://devfeed.tech/tags/vscode.md>), [worm](<https://devfeed.tech/tags/worm.md>)

### AI overview

The article analyzes a Shai-Hulud npm worm that plants executable hooks in .claude/settings.json and .vscode/tasks.json. Opening a compromised repository can trigger the payload in VS Code or Claude Code, creating an attack path that install-time defenses may not detect.

### Source excerpt

A Shai-Hulud wave plants hooks in .claude/settings.json and .vscode/tasks.json, so opening a repo runs the payload. Agent config is executable surface now.

## Scheduling Claude Code for Nightly Repository Maintenance

DevFeed: [Scheduling Claude Code for Nightly Repository Maintenance](<https://devfeed.tech/articles/claude-code-can-maintain-your-repo-28977.md>)

Original publisher: [Read original article](<https://codingwithroby.substack.com/p/claude-code-can-maintain-your-repo>)

Author: Eric Roby

Published: 2026-07-28T12:03:08Z

Content type: tutorial

Language: en

Sources: [Eric Roby](<https://devfeed.tech/sources/eric-roby.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Security](<https://devfeed.tech/topics/security.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [ci](<https://devfeed.tech/topics/ci.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [ci](<https://devfeed.tech/tags/ci.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [github-action](<https://devfeed.tech/tags/github-action.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [repo](<https://devfeed.tech/tags/repo.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article explains how to schedule Claude Code in headless mode for recurring repository maintenance. It recommends focused jobs for security sweeps, refactoring scans, and enhancement reviews, using structured JSON output and the --bare option for consistent scripted runs.

### Source excerpt

How to schedule headless runs for nightly security sweeps, refactor scans, and enhancement ideas

## AI Coding Tip 027 - Force Code Standards

DevFeed: [AI Coding Tip 027 - Force Code Standards](<https://devfeed.tech/articles/ai-coding-tip-027-force-code-standards-18217.md>)

Original publisher: [Read original article](<https://maximilianocontieri.com/ai-coding-tip-027-force-code-standards>)

Author: Maxi Contieri

Published: 2026-07-10T14:24:14Z

Content type: tutorial

Language: en

Sources: [Maximiliano Contieri - Software Design](<https://devfeed.tech/sources/maximiliano-contieri-software-design.md>)

Topics: [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Language models](<https://devfeed.tech/topics/language-models.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [harness](<https://devfeed.tech/tags/harness.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [large-language-model](<https://devfeed.tech/tags/large-language-model.md>), [linter](<https://devfeed.tech/tags/linter.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [reviews](<https://devfeed.tech/tags/reviews.md>), [skills](<https://devfeed.tech/tags/skills.md>), [trust](<https://devfeed.tech/tags/trust.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on enforcing coding standards in AI-assisted development. It recommends converting prose standards into machine-checkable rules, running them through hooks and validator skills, and using an LLM judge for ambiguous semantic violations before code reaches human review.

### Source excerpt

TL;DR: Wire your standards into hooks, skills, and a judge, so the harness blocks violations before a human opens the diff. Common Mistake ❌ You paste your coding standards into AGENTS.md and trust t

## Introducing Kempt

DevFeed: [Introducing Kempt](<https://devfeed.tech/articles/introducing-kempt-39037.md>)

Original publisher: [Read original article](<https://www.zacsweers.dev/introducing-kempt/>)

Author: Zac Sweers

Published: 2026-06-23T00:00:23Z

Content type: release

Language: en

Sources: [Zac Sweers](<https://devfeed.tech/sources/zac-sweers.md>)

Topics: [formatting](<https://devfeed.tech/topics/formatting.md>), [pre-commit](<https://devfeed.tech/topics/pre-commit.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [ci](<https://devfeed.tech/topics/ci.md>), [repo](<https://devfeed.tech/topics/repo.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [repo](<https://devfeed.tech/tags/repo.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The article introduces Kempt, a small project designed to replace heavy Gradle-based formatting setups with a repo-local pipeline for formatting and commit hooks. It supports Kotlin, Java, and Rust, and can run locally, in pre-commit hooks, and in CI.

### Source excerpt

Formatting should be boring, in the best possible way.

## What Did the Agent Just Push? Auditing Git for AI Agents

DevFeed: [What Did the Agent Just Push? Auditing Git for AI Agents](<https://devfeed.tech/articles/what-did-the-agent-just-push-auditing-git-for-ai-agents-25422.md>)

Original publisher: [Read original article](<https://jonnyzzz.com/blog/2026/06/20/auditing-git-for-ai-agents/>)

Author: Eugene Petrenko

Published: 2026-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Eugene Petrenko](<https://devfeed.tech/sources/eugene-petrenko.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [audit](<https://devfeed.tech/topics/audit.md>), [Clash](<https://devfeed.tech/topics/clash.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [repo](<https://devfeed.tech/topics/repo.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [audit](<https://devfeed.tech/tags/audit.md>), [eugene-petrenko](<https://devfeed.tech/tags/eugene-petrenko.md>), [git](<https://devfeed.tech/tags/git.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [jonnyzzz](<https://devfeed.tech/tags/jonnyzzz.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [repo](<https://devfeed.tech/tags/repo.md>), [tag-41199d53f463](<https://devfeed.tech/tags/tag-41199d53f463.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This article presents an approach for auditing autonomous AI agents that work with Git repositories. It recommends keeping real credentials away from agents, using a Git proxy as a hard boundary to limit which branches can change, and using Git hooks as a lighter, best-effort layer for provenance and telemetry.

### Source excerpt

When you hand a repo to an autonomous AI Agent, you need to bound what it can touch and capture what it did. Part 1 -- the approach -- keep the keys away from the agent, a git proxy as the hard boundary, and git hooks as the lighter alternative.

## Prompts Are Guidelines. Code Is the Config.

DevFeed: [Prompts Are Guidelines. Code Is the Config.](<https://devfeed.tech/articles/prompts-are-guidelines-code-is-the-config-30872.md>)

Original publisher: [Read original article](<https://brent.leekley.me/blog/prompt-vs-config/>)

Author: Brent Leekley

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

Content type: tutorial

Language: en

Sources: [brent.leekley.me blog](<https://devfeed.tech/sources/brent-leekley-me-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [API](<https://devfeed.tech/topics/api.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [JSON](<https://devfeed.tech/topics/json.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [agent-reliability](<https://devfeed.tech/tags/agent-reliability.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [api](<https://devfeed.tech/tags/api.md>), [claude](<https://devfeed.tech/tags/claude.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [schema](<https://devfeed.tech/tags/schema.md>), [stateless](<https://devfeed.tech/tags/stateless.md>), [stop-reason](<https://devfeed.tech/tags/stop-reason.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>), [til](<https://devfeed.tech/tags/til.md>), [tool-use](<https://devfeed.tech/tags/tool-use.md>)

### AI overview

A Today I Learned field note about building more reliable AI agents by assigning probabilistic judgment to the model and deterministic guarantees to application code. It discusses using code-enforced gates and hooks for requirements that must always hold, branching on stop_reason rather than model text, handling turns that contain both chat and tool calls, and avoiding the assumption that a valid schema guarantees a correct answer.

### Source excerpt

Where the model's judgment ends and your code has to take over -- a Today I Learned field note on building AI agents that hold up in production: stop_reason, forced tool use, hooks, stateless history, and why a valid schema isn't a true answer.

## Build a Repository Harness for Claude Code Coding Agents

DevFeed: [Build a Repository Harness for Claude Code Coding Agents](<https://devfeed.tech/articles/stop-tuning-prompts-build-a-harness-19029.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/stop-tuning-prompts-build-a-harness/>)

Author: Engin Diri

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

Content type: opinion

Language: en

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

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Code](<https://devfeed.tech/topics/code.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [MCP](<https://devfeed.tech/topics/mcp.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [devops](<https://devfeed.tech/tags/devops.md>), [extension](<https://devfeed.tech/tags/extension.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [ls](<https://devfeed.tech/tags/ls.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [perspectives](<https://devfeed.tech/tags/perspectives.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [skills](<https://devfeed.tech/tags/skills.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

The article argues that, in real codebases, the context and tooling surrounding Claude Code can matter more to performance than the underlying model version. It presents a repository-level AI harness built from seven components, including CLAUDE.md, hooks, skills, plugins, LSP, MCP, and subagents, and discusses agentic navigation without a separately maintained codebase index.

### Source excerpt

Anthropic shipped a piece earlier this month called How Claude Code Works in Large Codebases. I have not read anything more useful about coding agents this year. The core claim, in their words: "the ecosystem built around the model--the harness--determines how Claude Code performs more than the model alone." In my phrasing: in a real codebase, the model is the smaller variable. The layer of context and tooling you wire around the agent matters more than which version of Sonnet or Opus is behind it. The post stays high-level, which is the right move for a launch piece. What I want to do here is land it. Same seven pieces, but with the wiring you would actually put in a repo, in the order I would put it. How Claude Code navigates without an index Anthropic's writeup says Claude Code works from the live codebase and does not require a codebase index to be built, maintained, or uploaded. The agent navigates the way an engineer would, with grep, find, ls, file reads, and reference-following. Anthropic calls this agentic search, and the upside is obvious: no separate index exists for you to keep fresh. The downside is also obvious. An engineer who has never seen your repo and only has shell tools will flounder if you drop them in the root with no map. That is your agent on day one. Everything that follows is about giving it the map. The AI layer in seven pieces Every codebase used to have two artifacts engineers cared about: the code and the tests. A third exists now. Call it the AI layer, or the harness, or whatever you want. This layer is the set of context and tools you give your coding agent to operate in this specific repo. Anthropic breaks it into seven pieces, and each one solves a different scaling problem. Anthropic gives each piece a role: CLAUDE.md is the foundation, hooks do self-improvement, skills are progressive disclosure, plugins handle distribution, LSP gives navigation, MCP is extension, subagents split exploration from editing. They are not equal in usag

## Accelerating Delivery: How AI Agents Can Own the Initial Code Draft

DevFeed: [Accelerating Delivery: How AI Agents Can Own the Initial Code Draft](<https://devfeed.tech/articles/accelerating-delivery-how-ai-agents-can-own-the-initial-code-draft-33261.md>)

Original publisher: [Read original article](<https://8thlight.com/insights/accelerating-delivery-how-ai-agents-can-own-the-initial-code>)

Author: Stephen Walker

Published: 2026-05-05T21:58:00Z

Content type: article

Language: en

Sources: [8th Light](<https://devfeed.tech/sources/8th-light.md>), [8th Light Insights](<https://devfeed.tech/sources/8th-light-insights.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Loop Engineering](<https://devfeed.tech/topics/loop-engineering.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [human review](<https://devfeed.tech/topics/human-review.md>), [jira](<https://devfeed.tech/topics/jira.md>), [coding](<https://devfeed.tech/topics/coding.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [ai-and-emerging-tech](<https://devfeed.tech/tags/ai-and-emerging-tech.md>), [code](<https://devfeed.tech/tags/code.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [human-review](<https://devfeed.tech/tags/human-review.md>), [jira](<https://devfeed.tech/tags/jira.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [review](<https://devfeed.tech/tags/review.md>), [sandbox](<https://devfeed.tech/tags/sandbox.md>)

### AI overview

The article describes a pragmatic workflow in which coordinated AI agents turn a Jira ticket into a code draft and pull request for human review. It emphasizes safety through branch permissions, scoped access, scripts and hooks, plus deterministic structures around probabilistic language models. The supplied text is truncated before the full reliability hierarchy and later conclusions.

### Source excerpt

Why This Matters in the Era of Agentic Everything The gap between a Jira ticket and the first pull request (PR) is often a graveyard of productivity. Context switching, boilerplate setup, and requirement analysis can eat up hours of a senior engineer's day before they write a single line of business logic. Recently, industry leaders have showcased "Harness Engineering" [1][2] -- the practice of building autonomous agent workflows that handle end-to-end coding tasks. While their results are inspiring, the barrier to entry can feel insurmountable. The challenge for most teams is finding a starting point that balances long-term vision with immediate ROI. We recently helped a large-scale, high-traffic consumer services platform bridge this gap. Instead of an all-or-nothing architectural overhaul, we took a pragmatic first step: automating the journey from Jira ticket to PR. The Vision: "Let's work on FEAT-123" Our goal was simple. We wanted to enable a developer to provide a single prompt -- "Let's work on FEAT-123" -- and have a coordinated team of AI agents handle the planning, coding, and verification. This culminates in a PR ready for human review. To make this a reality, we focused on three strategic pillars: safety, determinism, and quality. Safety Through Pragmatic Guardrails One of the primary concerns for any engineering leader is "agent drift" -- an AI making unauthorized or hallucinated changes. While an isolated digital sandbox is an ideal long-term goal, we proved that teams can achieve significant safety and progress using existing infrastructure: Branch Permissions: Restrict agent access to specific feature branches. Scoped Access: Use scripts and hooks to define exactly what an agent can and cannot touch. Human-in-the-Loop: Ensure that while the agent proposes the change, a human must always review, approve, and merge the code. By defining the agent's scope as a specialized contributor rather than a system administrator, we mitigated risk while maximizing ou

## Harness engineering: Building reliable environments for AI coding agents

DevFeed: [Harness engineering: Building reliable environments for AI coding agents](<https://devfeed.tech/articles/we-are-becoming-harness-engineers-25257.md>)

Original publisher: [Read original article](<https://kau.sh/blog/harness-engineers/>)

Author: Kaushik Gopal

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

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [codex](<https://devfeed.tech/topics/codex.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [memory](<https://devfeed.tech/tags/memory.md>), [skills](<https://devfeed.tech/tags/skills.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This commentary argues that software engineering is increasingly focused on building reliable environments around AI coding agents. It describes harness engineering as configuring files, tools, skills, hooks, feedback loops, memory, guardrails, and blast-radius controls so agents can make changes safely and teams can trust them.

### Source excerpt

The role of a software engineer is shifting. Not toward writing more code but toward building the environment that makes agents reliable. Think about what you actually do with Claude Code or Codex today: you configure AGENTS.md files, set up MCP servers, write skills and hooks, build feedback loops and tune sub-agents. You're not writing as much of the software anymore. You're engineering the harness around the thing that writes the software. Mitchell Hashimoto first coined the term harness engineering -- the work of shaping the environment around an agent so it can act reliably. What the model sees, what tools it has, how it gets feedback, when humans step in. We keep hearing that agents will replace engineers. That shouldn't be the focus of the change we're seeing. What's actually happening is product people shipping features directly. A well-harnessed agent lets someone with product instinct but little engineering background make meaningful changes -- safely. The harness engineer makes that possible. Guardrails, design choices, blast radius controls, feedback loops. The scaffolding that turns "just prompt it" into something a team can trust. I say this from first-hand experience. If you want to go deeper, listen to the episode where my cohost and I dug into it. We landed on five pillars: agent legibility closed feedback loops persistent memory entropy control blast radius controls Honestly one of the most important episodes we've recorded.

## The Engineer's Guide to AI-Assisted Productivity

DevFeed: [The Engineer's Guide to AI-Assisted Productivity](<https://devfeed.tech/articles/the-engineer-s-guide-to-ai-assisted-productivity-35022.md>)

Original publisher: [Read original article](<https://read.theaimerge.com/p/the-engineers-guide-to-ai-assisted>)

Author: Alex Razvant

Published: 2026-02-12T12:01:56Z

Content type: article

Language: en

Sources: [Neural Bits](<https://devfeed.tech/sources/neural-bits.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [code productivity](<https://devfeed.tech/topics/code-productivity.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [also](<https://devfeed.tech/tags/also.md>), [article](<https://devfeed.tech/tags/article.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [developer-productivity](<https://devfeed.tech/tags/developer-productivity.md>), [guide](<https://devfeed.tech/tags/guide.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>)

### AI overview

This article argues that AI-assisted software development should prioritize design, planning, maintainability, and effective safeguards over raw lines of code. It presents habits involving Cursor Rules, Claude Code Skills, agent plugins, pull-request rules, reviews, hooks, and an Obsidian-based daily memory dump.

### Source excerpt

Six habits that keep you fast and maintainable. Cursor Rules, Claude Code Skills, Agent Plugins, PR rules, non-nitpicky reviews, hooks, and Daily memory dump with Obsidian.

## Announcing Lix 2.94 "Açaí na tigela"

DevFeed: [Announcing Lix 2.94 "Açaí na tigela"](<https://devfeed.tech/articles/announcing-lix-2-94-acai-na-tigela-31378.md>)

Original publisher: [Read original article](<https://lix.systems/blog/2025-11-18-lix-2.94-release/>)

Published: 2025-11-18T00:00:00Z

Content type: release

Language: en

Sources: [News on Lix](<https://devfeed.tech/sources/news-on-lix.md>)

Topics: [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Cap'n Proto](<https://devfeed.tech/topics/capnproto.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Logging](<https://devfeed.tech/topics/logging.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [logging](<https://devfeed.tech/tags/logging.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Lix 2.94 is a major release focused on bug fixes, quality-of-life and performance improvements, with initial integration of the Cap'n Proto RPC runtime to replace a bespoke implementation. It includes Cap'n Proto protocol definitions for build hooks and logging, enabling multiple build hook processes to wait concurrently.

### Source excerpt

We at the Lix team are proud to announce our fifth major release, version 2.94 "Açaí na tigela". This release focuses on bugfixes, quality-of-life improvements, performance improvements and started integrating Lix with the Cap'n'Proto remote procedure call runtime, in order to replace the previous bespoke implementation.

## Using Git Pre-Commit Hooks

DevFeed: [Using Git Pre-Commit Hooks](<https://devfeed.tech/articles/using-git-pre-commit-hooks-10917.md>)

Original publisher: [Read original article](<https://blog.scottlowe.org/2025/10/20/using-git-pre-commit-hooks/>)

Author: Scott Lowe

Published: 2025-10-20T15:00:00Z

Content type: tutorial

Language: en

Sources: [Scott's Weblog](<https://devfeed.tech/sources/scott-s-weblog.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [bash](<https://devfeed.tech/tags/bash.md>), [cilium](<https://devfeed.tech/tags/cilium.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [cni](<https://devfeed.tech/tags/cni.md>), [code](<https://devfeed.tech/tags/code.md>), [containers](<https://devfeed.tech/tags/containers.md>), [cri-o](<https://devfeed.tech/tags/cri-o.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [git](<https://devfeed.tech/tags/git.md>), [git-commit](<https://devfeed.tech/tags/git-commit.md>), [git-hook](<https://devfeed.tech/tags/git-hook.md>), [go](<https://devfeed.tech/tags/go.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [iac](<https://devfeed.tech/tags/iac.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lint](<https://devfeed.tech/tags/lint.md>), [linux](<https://devfeed.tech/tags/linux.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [networking](<https://devfeed.tech/tags/networking.md>), [oci](<https://devfeed.tech/tags/oci.md>), [script](<https://devfeed.tech/tags/script.md>), [security](<https://devfeed.tech/tags/security.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial explains Git pre-commit hooks and demonstrates using one to run Markdownlint on staged Markdown files before a commit. It notes that a non-zero hook exit status aborts the commit and presents a Bash implementation based on the author's site.

### Source excerpt

A while ago I wrote an article about linting Markdown files with markdownlint. In that article, I presented the use case of linting the Markdown source files for this site. While manually running linting checks is fine--there are times and situations when this is appropriate and necessary--this is the sort of task that is ideally suited for a Git pre-commit hook. In this post, I'll discuss Git pre-commit hooks in the context of using them to run linting checks. Before moving on, a disclaimer: I am not an expert on Git hooks. This post shares my limited experience and provides an example based on what I use for this site. I have no doubt that my current implementation will improve over time as my knowledge and experience grow. What is a Git Hook? As this page explains, a hook is a program "you can place in a hooks directory to trigger actions at certain points in git's execution." Generally, a hook is a script of some sort. Git supports different hooks that get invoked in response to specific actions in Git; in this particular instance, I'm focusing on the pre-commit hook. This hook gets invoked by git-commit (i.e., the user running a git commit command) and allows users to perform a series of checks or tests before actually making a commit. If the pre-commit script exits with a non-zero status, then Git aborts the commit. Using a Pre-Commit Hook to Lint Markdown For my use case, I wanted to run Markdownlint to lint the Markdown files (as described in the previous article on linting Markdown) before the commit. To do that, I came up with the following script: #!/usr/bin/env bash MDLINT="/usr/local/bin/markdownlint" for file in $(git diff --cached --name-only --diff-filter=ACM | grep "\.md"); do if ! $MDLINT "$file"; then echo "Lint check failed on file '$file'." echo "Run markdownlint to identify the errors and try again." exit 1 fi done To make this script active as a pre-commit hook, you must name it pre-commit, you must place it into Git's hook directory (which defa

## Building Diving Nomads: Automating Dive Center Onboarding and Memberships with No-Code Tools

DevFeed: [Building Diving Nomads: Automating Dive Center Onboarding and Memberships with No-Code Tools](<https://devfeed.tech/articles/building-diving-nomads-in-public-part-1-39875.md>)

Original publisher: [Read original article](<https://mende.io/blog/building-diving-nomads-in-public-part-1/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2025-07-25T05:00:00Z

Content type: tutorial

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [Automation](<https://devfeed.tech/topics/automation.md>), [n8n](<https://devfeed.tech/topics/n8n.md>), [No-code](<https://devfeed.tech/topics/no-code.md>), [Low code](<https://devfeed.tech/topics/low-code.md>), [Database](<https://devfeed.tech/topics/database.md>), [email](<https://devfeed.tech/topics/email.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Notion](<https://devfeed.tech/topics/notion.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [automate](<https://devfeed.tech/tags/automate.md>), [automation](<https://devfeed.tech/tags/automation.md>), [building](<https://devfeed.tech/tags/building.md>), [created](<https://devfeed.tech/tags/created.md>), [database](<https://devfeed.tech/tags/database.md>), [email](<https://devfeed.tech/tags/email.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [low-code](<https://devfeed.tech/tags/low-code.md>), [n8n](<https://devfeed.tech/tags/n8n.md>), [no-code](<https://devfeed.tech/tags/no-code.md>), [platform](<https://devfeed.tech/tags/platform.md>), [startup-business-automation-software-development-case-study-practices](<https://devfeed.tech/tags/startup-business-automation-software-development-case-study-practices.md>)

### AI overview

This article describes how Diving Nomads uses an automation-first stack to onboard dive centers and manage memberships. It covers scraping directories into NocoDB, sending outreach through Brevo, tracking responses with webhooks, and using n8n workflows to reduce manual work.

### Source excerpt

Building Diving Nomads in Public: How We Onboard Dive Centers and Automate Memberships with (Almost) No Code TL;DR We're building a platform for digital nomads with a passion for scuba diving. Our lean, automation-first tech stack allows us to move fast, deliver value early, and maybe inspire other early-stage founders to rethink how they build.

## Year in Review: 2024

DevFeed: [Year in Review: 2024](<https://devfeed.tech/articles/year-in-review-2024-37585.md>)

Original publisher: [Read original article](<https://www.taniarascia.com/2024-into-2025/>)

Author: hello@taniarascia.com

Published: 2025-03-27T00:00:00Z

Content type: article

Language: en

Sources: [Tania Rascia](<https://devfeed.tech/sources/tania-rascia.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [CSS](<https://devfeed.tech/topics/css.md>), [React](<https://devfeed.tech/topics/react.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>)

Tags: [bluesky](<https://devfeed.tech/tags/bluesky.md>), [burnout](<https://devfeed.tech/tags/burnout.md>), [career](<https://devfeed.tech/tags/career.md>), [coding](<https://devfeed.tech/tags/coding.md>), [css](<https://devfeed.tech/tags/css.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [meta](<https://devfeed.tech/tags/meta.md>), [pagination](<https://devfeed.tech/tags/pagination.md>), [projects](<https://devfeed.tech/tags/projects.md>), [react](<https://devfeed.tech/tags/react.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [review](<https://devfeed.tech/tags/review.md>), [side-projects](<https://devfeed.tech/tags/side-projects.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [table](<https://devfeed.tech/tags/table.md>), [variables](<https://devfeed.tech/tags/variables.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

A 2024 year-in-review from a principal engineer who continues to work primarily with React and CSS. The author reflects on balancing a full-time engineering role with coding, writing, side projects, and maintaining a personal website, while highlighting several articles and a blog redesign completed during the year.

### Source excerpt

I'm trying to win the award for "Latest Year in Review". 🏆 I don't know if anyone can challenge me at this point, as it's almost thirdway...

## React Router 7 Tutorial

DevFeed: [React Router 7 Tutorial](<https://devfeed.tech/articles/react-router-7-tutorial-18974.md>)

Original publisher: [Read original article](<https://www.robinwieruch.de/react-router/>)

Author: Robin Wieruch

Published: 2025-01-06T05:52:46Z

Content type: tutorial

Language: en

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

Topics: [React Router](<https://devfeed.tech/topics/react-router.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [React](<https://devfeed.tech/topics/react.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Vite](<https://devfeed.tech/topics/vite.md>)

Tags: [hooks](<https://devfeed.tech/tags/hooks.md>), [layout](<https://devfeed.tech/tags/layout.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [react](<https://devfeed.tech/tags/react.md>), [react-router](<https://devfeed.tech/tags/react-router.md>), [react-router-7](<https://devfeed.tech/tags/react-router-7.md>), [react-router-tutorial](<https://devfeed.tech/tags/react-router-tutorial.md>), [routing](<https://devfeed.tech/tags/routing.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [vite](<https://devfeed.tech/tags/vite.md>)

### AI overview

A step-by-step tutorial for building a React application with React Router 7. It covers project setup with Vite, navigation and links, route matching, layout routes, and related routing patterns.

### Source excerpt

React Router 7 tutorial: setup, hooks, nested routes, dynamic routes, programmatic navigation, active links, layout routes, index routes and more. A step by step React tutorial for beginners ...

## Solid Queue 1.0 released

DevFeed: [Solid Queue 1.0 released](<https://devfeed.tech/articles/solid-queue-1-0-released-33515.md>)

Original publisher: [Read original article](<https://dev.37signals.com/solid-queue-v1-0/>)

Author: Rosa Gutiérrez

Published: 2024-09-26T17:00:00Z

Content type: release

Language: en

Sources: [37signals Dev](<https://devfeed.tech/sources/37signals-dev.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Job](<https://devfeed.tech/topics/job.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [job](<https://devfeed.tech/tags/job.md>), [logging](<https://devfeed.tech/tags/logging.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [queues](<https://devfeed.tech/tags/queues.md>), [rails](<https://devfeed.tech/tags/rails.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

37signals released Solid Queue v1.0.0, adding atomic batch job operations, recurring jobs, logging and instrumentation, lifecycle hooks, and installation improvements. The article also describes its production use in HEY and ongoing adoption in Basecamp 4.

### Source excerpt

The first major release of Solid Queue is out, just in time for Rails World.

## My pre-commit config for Hugo blog

DevFeed: [My pre-commit config for Hugo blog](<https://devfeed.tech/articles/my-pre-commit-config-for-hugo-blog-27692.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/01/my-pre-commit-config-for-hugo-blog/>)

Author: Tom

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

Content type: tutorial

Language: en

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

Topics: [hooks](<https://devfeed.tech/topics/hooks.md>), [Hugo](<https://devfeed.tech/topics/hugo.md>), [Git](<https://devfeed.tech/topics/git.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [config](<https://devfeed.tech/tags/config.md>), [devops](<https://devfeed.tech/tags/devops.md>), [git](<https://devfeed.tech/tags/git.md>), [git-pre-commit-configuration](<https://devfeed.tech/tags/git-pre-commit-configuration.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [hugo-blog-automation](<https://devfeed.tech/tags/hugo-blog-automation.md>), [hugo-development-tips](<https://devfeed.tech/tags/hugo-development-tips.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [make](<https://devfeed.tech/tags/make.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [pre-commit-hooks](<https://devfeed.tech/tags/pre-commit-hooks.md>), [pre-commit-setup](<https://devfeed.tech/tags/pre-commit-setup.md>), [static-site-optimization](<https://devfeed.tech/tags/static-site-optimization.md>)

### AI overview

A tutorial showing how to configure pre-commit hooks for a Hugo blog. The configuration automates linting, syntax checks, file optimization, and related cleanup tasks when files are committed.

### Source excerpt

Learn how to set up and use pre-commit hooks to automate tasks like linting, syntax checks, and optimizations for your Hugo blog.

## EU Funding for Mobile App Traffic Interception

DevFeed: [EU Funding for Mobile App Traffic Interception](<https://devfeed.tech/articles/eu-funding-for-mobile-app-traffic-interception-19061.md>)

Original publisher: [Read original article](<https://httptoolkit.com/blog/frida-mobile-interception-funding/>)

Author: HTTP Toolkit; Tim Perry

Published: 2023-02-27T12:00:00Z

Content type: article

Language: en

Sources: [HTTP Toolkit](<https://devfeed.tech/sources/http-toolkit.md>)

Topics: [interception](<https://devfeed.tech/topics/interception.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Security & Privacy](<https://devfeed.tech/topics/security-privacy.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [certificates](<https://devfeed.tech/tags/certificates.md>), [development](<https://devfeed.tech/tags/development.md>), [eu](<https://devfeed.tech/tags/eu.md>), [frida](<https://devfeed.tech/tags/frida.md>), [funding](<https://devfeed.tech/tags/funding.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [http](<https://devfeed.tech/tags/http.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [interception](<https://devfeed.tech/tags/interception.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-apps](<https://devfeed.tech/tags/mobile-apps.md>), [network](<https://devfeed.tech/tags/network.md>), [open](<https://devfeed.tech/tags/open.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [product-development](<https://devfeed.tech/tags/product-development.md>), [security](<https://devfeed.tech/tags/security.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

HTTP Toolkit announces EU-backed funding to improve HTTPS traffic interception for mobile apps on iOS and Android. The project will use Frida integrations and hooks to support app-specific interception, automatic certificate unpinning, and simpler setup.

### Source excerpt

HTTP Toolkit has been selected to receive another round of open-source funding from the EU! This aims to improve interception of HTTPS traffic from mobile apps, making it easier for both security/privacy researchers and normal technical users to inspect & manipulate the data that any app they use sends & receives. This funding will directly support work to improve the precision & usability of mobile app interception, on both iOS and Android. In a couple of clicks, you'll be able to target any app installed on a connected device (on either platform) and inspect all its traffic. That means no background noise from full system interception, automatic certificate unpinning, and no fiddly manual setup required. HTTP Toolkit can already automatically intercept Android devices, but only globally for the whole device (using Android's VPN APIs), with system certificates injected but without certificate unpinning, and with no automatic setup support for iOS at all. All those caveats are going away (of course, I'm intending the existing device-wide interception to remain a fully supported option indefinitely too). This is going be powered by a set of new integrations & hooks for Frida, a popular open-source instrumentation toolkit. Many advanced HTTP Toolkit users are already using Frida independently (see the Frida certificate unpinning guide for more info) but doing so often requires quite a bit of setup and specialist knowledge. This project is going to take that away, making network interception of mobile apps easily accessible to anybody who knows what "HTTP" is. All this is being funded by the fantastic NLNet Foundation as part of NGI Zero Entrust, a program funding open-source EU projects that support transparency around data use & privacy in modern technology. This is part of the EU's Next Generation Internet (NGI) initiative, aiming to directly fund researchers & open-source developers to encourage the future engineering of the Internet towards European values: "openn

## Making unwinding through JIT-ed code scalable

DevFeed: [Making unwinding through JIT-ed code scalable](<https://devfeed.tech/articles/making-unwinding-through-jit-ed-code-scalable-25078.md>)

Original publisher: [Read original article](<https://databasearchitects.blogspot.com/2022/06/making-unwinding-through-jit-ed-code.html>)

Author: Thomas Neumann (noreply@blogger.com)

Published: 2022-06-26T08:46:00Z

Content type: tutorial

Language: en

Sources: [Database Architects](<https://devfeed.tech/sources/database-architects.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Jule](<https://devfeed.tech/topics/jule.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [exception](<https://devfeed.tech/tags/exception.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [jit](<https://devfeed.tech/tags/jit.md>), [lock-free](<https://devfeed.tech/tags/lock-free.md>), [mutex](<https://devfeed.tech/tags/mutex.md>), [series](<https://devfeed.tech/tags/series.md>)

### AI overview

This article explains why C++ exception unwinding remains effectively single-threaded when JIT-ed code is registered. It describes limitations in gcc and glibc mechanisms and introduces a gcc patch using a read-optimized lock-free b-tree to support parallel unwinding without atomic writes.

### Source excerpt

Exceptions are a very handy mechanism to propagate errors in C++ programs, but unfortunately they do not scale very well. In all common C++ implementations the unwinding mechanism takes global lock during unwinding, which has disastrous consequences when the number of threads is high. On a machine with 256 hardware context we see worse-than-single-threaded behavior even for relatively modest failure rates. Fortunately the Florian Weimer fixed one contention point in gcc 12 on systems with glibc 2.35 or newer, which gives us scalable exceptions as long as no JIT-ed code has been registered. Unfortunately our system does register JIT-ed code... Which means exception unwinding in our code base is still single-threaded in practice. But we can fix that by teaching gcc to store the unwinding information in a read-optimized b-tree, which allows for fully parallel unwinding without any atomic writes. There is a gcc patch that does just that, but unfortunately it is quite involved and difficult to review. This article series thus explains all parts of the patch and shows how a read-optimized b-tree can be implemented lock-free. In order to keep the article length somewhat reasonable, the discusses is broken into parts: The problem (this article) Replacing the gcc hooks Optimistic Lock Coupling The b-tree b-tree operations When unwinding exceptions, the compiler has to find the corresponding unwinding information for every call frame on the stack between the throw and the catch. gcc uses two different mechanisms for that: For ahead-of-time compiled code it asks glibc to find the unwinding information using either dl_iterate_phdr (on older systems) or _dl_find_object (on systems with glibc 2.35 or newer). Note that this mapping is not static, as shared libraries could be added or removed at any time, potentially during a concurrent unwind. For that reason dl_iterate_phdr was protected by a global mutex, which clearly does not scale. _dl_find_object avoids that mutex by using a

## My tmux workflow

DevFeed: [My tmux workflow](<https://devfeed.tech/articles/my-tmux-workflow-37861.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/tmux-sessionizer/>)

Author: Carlos Alexandro Becker

Published: 2022-06-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Shell](<https://devfeed.tech/topics/shell.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [dotfiles](<https://devfeed.tech/topics/dotfiles.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [hooks](<https://devfeed.tech/tags/hooks.md>), [posix](<https://devfeed.tech/tags/posix.md>), [shell](<https://devfeed.tech/tags/shell.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A developer describes a tmux workflow for local and SSH-based remote work, including a project session selector that sorts projects by usage. The article then explains using a shell trap to avoid losing an SSH connection when exiting the last pane of a session.

### Source excerpt

I wanted to share a quick thing that made my life easier on tmux lately, but before we dig into that, I feel like I need to explain how I usually work.

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