# name

Published articles for name.

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

## Best Practices for Scoping and Organising Snowflake Semantic Views

DevFeed: [Best Practices for Scoping and Organising Snowflake Semantic Views](<https://devfeed.tech/articles/best-practices-for-scoping-and-organising-snowflake-semantic-views-119795.md>)

Original publisher: [Read original article](<https://medium.com/snowflake/best-practices-for-scoping-and-organising-snowflake-semantic-views-6e2e2758b538?source=rss----34b6daafc07---4>)

Author: Nithya Rangarajan

Published: 2026-11-05T15:01:08Z

Content type: article

Language: en

Sources: [Snowflake Builders](<https://devfeed.tech/sources/snowflake-builders.md>)

Topics: [semantic-layer](<https://devfeed.tech/topics/semantic-layer.md>), [Data Management](<https://devfeed.tech/topics/data-management.md>), [Data Quality](<https://devfeed.tech/topics/data-quality.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [composition](<https://devfeed.tech/tags/composition.md>), [context](<https://devfeed.tech/tags/context.md>), [cortex](<https://devfeed.tech/tags/cortex.md>), [evaluation](<https://devfeed.tech/tags/evaluation.md>), [governance](<https://devfeed.tech/tags/governance.md>), [name](<https://devfeed.tech/tags/name.md>), [ownership](<https://devfeed.tech/tags/ownership.md>), [semantic-layer](<https://devfeed.tech/tags/semantic-layer.md>), [semantics](<https://devfeed.tech/tags/semantics.md>), [size](<https://devfeed.tech/tags/size.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [snowflake-semantic-views](<https://devfeed.tech/tags/snowflake-semantic-views.md>), [sql](<https://devfeed.tech/tags/sql.md>), [topology](<https://devfeed.tech/tags/topology.md>)

### AI overview

The evaluation found that semantic view topology and size did not change answer accuracy in the tested setup, while duplicate dimension names caused a hard-to-spot wrong answer. The article recommends maintaining domain views under team ownership and composing them for use cases; tested topologies were effectively equivalent, so governance and shareability should guide the choice. Accuracy stayed stable up to 118K tokens across 104 tables and 20 questions, though the test used only 1-3 joins and distinct names in added tables. Prefix entities and relationships by domain, and give ambiguous dimensions unique business-role names with clear descriptions. For access, direct semantic view queries need SELECT on the view, while agents in default mode generate SQL against physical tables and require table grants. Explicit strict SQL generation routes through the view under its owner's rights, avoiding those grants but limiting calculations to defined metrics, dimensions, and facts. Strict mode must be enabled; it is private preview at the time described.

### Source excerpt

Snowflake Semantic Views provide a governed, reusable layer that defines how tables relate, what metrics mean, and who can access what. This article describes a set of best practices and lessons learned for scoping, naming, sizing, and securing semantic views in an enterprise setting. Each recommendation is grounded in evaluation data from a 20-question test suite run across multiple architectures on the Tasty Bytes dataset. At the time of writing Composable semantic views and strict mode are still in private preview. Introduction Does one big semantic view hurt accuracy? Should you organise by team or by use case? I tested both. Neither topology nor size changed the answers, but a single duplicated column name did. Semantic views are quickly becoming the standard way to expose governed data to Cortex Agents, Snowflake CoWork, BI tools, and downstream SQL consumers. Over the past several months I have worked with multiple customers on their introduction of semantic views as part of their AI and analytics strategy. Every organisation's data architecture, team structure and governance requirements are different, and those differences shape how semantic views should be scoped. A semantic view is also highly visible: it defines the metrics and dimensions that business users, analysts and AI agents all rely on. Decisions about what goes into it, who owns it, and how it is secured have broad consequences. This article covers: ownership and composition patterns semantic view sizing naming conventions for disambiguation access control, including the new strict SQL generation mode Each recommendation comes with results from controlled experiments. Ownership and Composition The most common scoping question enterprise architects face is: should we organise semantic views around who owns the data, or around how it gets queried? The answer is both, at different layers. Ownership and Scope A two-layer model separates the concerns cleanly: Base layer -- ownership. Each team maintai

## Strict Request Input Casting in Laravel

DevFeed: [Strict Request Input Casting in Laravel](<https://devfeed.tech/articles/strict-request-input-casting-in-laravel-121229.md>)

Original publisher: [Read original article](<https://laravel-news.com/laravel-strict-request-input>)

Author: Paul Redmond

Published: 2026-11-05T01:18:05Z

Content type: article

Language: en

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

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [input](<https://devfeed.tech/topics/input.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Sanitization](<https://devfeed.tech/topics/sanitization.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [boolean](<https://devfeed.tech/tags/boolean.md>), [cast](<https://devfeed.tech/tags/cast.md>), [error](<https://devfeed.tech/tags/error.md>), [flag](<https://devfeed.tech/tags/flag.md>), [form](<https://devfeed.tech/tags/form.md>), [handling](<https://devfeed.tech/tags/handling.md>), [input](<https://devfeed.tech/tags/input.md>), [json](<https://devfeed.tech/tags/json.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-tutorials](<https://devfeed.tech/tags/laravel-tutorials.md>), [name](<https://devfeed.tech/tags/name.md>), [request](<https://devfeed.tech/tags/request.md>), [string](<https://devfeed.tech/tags/string.md>)

### AI overview

Laravel 13.40 adds `strict: true` to request `integer()`, `boolean()`, `float()`, and `string()` helpers (and the `str()` alias). Strict mode validates values before casting and returns the supplied default for invalid input, avoiding cases where malformed input becomes `0` or an array-to-string error. Rules differ by type: integers reject decimals, leading zeros, and out-of-range values; floats accept whole numbers and exponent notation; booleans recognize true/false forms and otherwise use the default; strings reject arrays, booleans, and null, with empty input also falling back. Defaults may be closures or `null`, and are returned without casting. The flag is also available on other classes using `InteractsWithData`. Since strict mode silently falls back without reporting invalid input, the article recommends validation when bad or missing values should produce an error users can correct.

### Source excerpt

Laravel 13.40 adds a strict flag to the request integer(), boolean(), float(), and string() helpers, so bad input returns your default instead of 0 or an error. The post Strict Request Input Casting in Laravel appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Gemini Omni 1.2 Flash now available on AI Gateway

DevFeed: [Gemini Omni 1.2 Flash now available on AI Gateway](<https://devfeed.tech/articles/gemini-omni-1-2-flash-now-available-on-ai-gateway-119784.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/gemini-omni-1-2-flash-now-available-on-ai-gateway>)

Author: Zachary Chen

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

Content type: release

Language: en

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

Topics: [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [generative-ai-tools](<https://devfeed.tech/topics/generative-ai-tools.md>), [vercel ai sdk](<https://devfeed.tech/topics/vercel-ai-sdk.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-gateway](<https://devfeed.tech/tags/ai-gateway.md>), [ai-sdk](<https://devfeed.tech/tags/ai-sdk.md>), [audio](<https://devfeed.tech/tags/audio.md>), [edits](<https://devfeed.tech/tags/edits.md>), [extend](<https://devfeed.tech/tags/extend.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gemini-omni](<https://devfeed.tech/tags/gemini-omni.md>), [gemini-omni-1-2-flash](<https://devfeed.tech/tags/gemini-omni-1-2-flash.md>), [google](<https://devfeed.tech/tags/google.md>), [model](<https://devfeed.tech/tags/model.md>), [name](<https://devfeed.tech/tags/name.md>), [native](<https://devfeed.tech/tags/native.md>), [reference](<https://devfeed.tech/tags/reference.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [source](<https://devfeed.tech/tags/source.md>), [text](<https://devfeed.tech/tags/text.md>), [up](<https://devfeed.tech/tags/up.md>), [video](<https://devfeed.tech/tags/video.md>), [videos](<https://devfeed.tech/tags/videos.md>)

### AI overview

Google's Gemini Omni 1.2 Flash is available through AI Gateway using one API key, without a separate Google account. It generates 3-15 second videos with native audio, edits clips of the same duration using up to six reference images, and supports extensions of 3-10 seconds per call up to 30 seconds total. Follow-up refinement uses `previousInteractionId`. Output options are 360p, 720p, 1080p, or 4K in 16:9 or 9:16. The excerpt shows `generateText` saving the returned MP4 file and `streamText` handling it through `fullStream` once delivered as a completed file. AI Gateway also offers usage and cost tracking, retries, failover, routing, and reporting; it states that inference follows provider pricing with no markup or platform fee, including BYOK requests.

### Source excerpt

Gemini Omni 1.2 Flash from Google is now available on AI Gateway. Generate videos from text prompts with one API key and no separate Google account. Gemini Omni 1.2 Flash generates 3-15 second videos with native audio and edits 3-15 second source clips with up to six reference images. Extend videos by 3-10 seconds per call, up to 30 seconds total, or refine generated clips in follow-up calls using previousInteractionId. Output supports 360p, 720p, 1080p, and 4K in 16:9 or 9:16. Use generateText or streamText in AI SDK to receive the generated video as a file. Generate a video Use google/gemini-omni-1.2-flash as the model name. This example generates a three-second, 360p clip and saves it as video.mp4: Receive video in a streaming response With streamText, read fullStream to handle generated files as they arrive. The video is delivered as a completed file: AI Gateway provides a unified API for calling models, tracking usage and cost, and configuring retries, failover, and performance optimizations for higher-than-provider uptime. It includes built-in custom reporting, Zero Data Retention support, budgets for API keys, routing rules, and more. AI Gateway reflects provider pricing with no markup and does not charge a platform fee on inference, including on Bring Your Own Key (BYOK) requests. Explore more models in the AI Gateway model catalog. Read more

## China-Aligned Hackers Hijack Sogou Input Method DNS Requests to Deploy DarkVigil Backdoor

DevFeed: [China-Aligned Hackers Hijack Sogou Input Method DNS Requests to Deploy DarkVigil Backdoor](<https://devfeed.tech/articles/china-aligned-hackers-hijack-sogou-input-method-dns-requests-to-deploy-darkvigil-backdoor-117067.md>)

Original publisher: [Read original article](<https://thehackernews.com/2026/11/china-aligned-hackers-hijack-sogou.html>)

Author: The Hacker News

Published: 2026-11-04T11:24:31Z

Content type: news

Language: en

Sources: [Cyber Newsroom](<https://devfeed.tech/sources/cyber-newsroom.md>)

Topics: [Domain Name System (DNS)](<https://devfeed.tech/topics/dns-resolution-process.md>), [DLL hijacking](<https://devfeed.tech/topics/dll-hijacking.md>)

Tags: [2021](<https://devfeed.tech/tags/2021.md>), [2026](<https://devfeed.tech/tags/2026.md>), [actor](<https://devfeed.tech/tags/actor.md>), [backdoor](<https://devfeed.tech/tags/backdoor.md>), [china](<https://devfeed.tech/tags/china.md>), [communications](<https://devfeed.tech/tags/communications.md>), [cve](<https://devfeed.tech/tags/cve.md>), [cve-2026-120422](<https://devfeed.tech/tags/cve-2026-120422.md>), [cyber-espionage](<https://devfeed.tech/tags/cyber-espionage.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [dns](<https://devfeed.tech/tags/dns.md>), [dns-hijacking](<https://devfeed.tech/tags/dns-hijacking.md>), [domain](<https://devfeed.tech/tags/domain.md>), [domain-name](<https://devfeed.tech/tags/domain-name.md>), [domain-name-system](<https://devfeed.tech/tags/domain-name-system.md>), [hackers](<https://devfeed.tech/tags/hackers.md>), [hijack](<https://devfeed.tech/tags/hijack.md>), [hijacking](<https://devfeed.tech/tags/hijacking.md>), [http](<https://devfeed.tech/tags/http.md>), [input](<https://devfeed.tech/tags/input.md>), [malware](<https://devfeed.tech/tags/malware.md>), [name](<https://devfeed.tech/tags/name.md>), [nation-state](<https://devfeed.tech/tags/nation-state.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>)

### AI overview

ESET attributed a surveillance campaign active from July 2026 to SlippyNunchucks, which hijacked DNS requests from Windows versions of Sogou Input Method to deploy the DarkVigil backdoor. SGTool.exe normally fetches a vocabulary promotion configuration over HTTP; tampered DNS redirected that request to staging servers, whose malicious configuration instructed the app to download a legitimate Adobe executable and a rogue DLL containing DarkVigil, then launch it through DLL sideloading. DarkVigil uses DMTP for command and control and can orchestrate plugins for persistence or data collection. ESET reported targeting in six countries and said it found no tactical overlap with Mustang Panda activity. Tencent fixed the issue, CVE-2026-120422, in version 16.10 on October 29, 2026, by moving the affected requests to HTTPS.

### Source excerpt

China-Aligned Hackers Hijack Sogou Input Method DNS Requests to Deploy DarkVigil Backdoor A China-aligned threat actor known as SlippyNunchucks has been attributed to a Domain Name System (DNS) hijacking operation abusing insecure HTTP communications in Windows versions of Sogou Input Meth ... Read more Published Date: Nov 04, 2026 (5 hours, 37 minutes ago) Vulnerabilities has been mentioned in this article. CVE-2026-120422 CVE-2026-51990 CVE-2021-38003

## Character-Name Concentration in LLM Fiction: Measuring Displacement and Mitigating Repetition

DevFeed: [Character-Name Concentration in LLM Fiction: Measuring Displacement and Mitigating Repetition](<https://devfeed.tech/articles/character-name-concentration-in-llm-fiction-measuring-displacement-and-mitigating-repetition-115148.md>)

Original publisher: [Read original article](<https://arxiv.org/abs/2611.01284>)

Author: Alejandro Mozo Quesada (Universidad de M\\'alaga, Spain), Sergio G\\'alvez Rojas (Universidad de M\\'alaga, Spain), Francisco L\\'opez Valverde (Universidad de M\\'alaga, Spain)

Published: 2026-11-03T05:00:00Z

Content type: article

Language: en

Sources: [arXiv: Artificial Intelligence](<https://devfeed.tech/sources/arxiv-artificial-intelligence.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [LLM evaluation / benchmarking](<https://devfeed.tech/topics/llm-evaluation-benchmarking.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-slop](<https://devfeed.tech/tags/ai-slop.md>), [cs-ai](<https://devfeed.tech/tags/cs-ai.md>), [cs-cl](<https://devfeed.tech/tags/cs-cl.md>), [fiction](<https://devfeed.tech/tags/fiction.md>), [language-model](<https://devfeed.tech/tags/language-model.md>), [languages](<https://devfeed.tech/tags/languages.md>), [large-language-model](<https://devfeed.tech/tags/large-language-model.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llms](<https://devfeed.tech/tags/llms.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [metric](<https://devfeed.tech/tags/metric.md>), [name](<https://devfeed.tech/tags/name.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [sampling](<https://devfeed.tech/tags/sampling.md>), [speculative-decoding](<https://devfeed.tech/tags/speculative-decoding.md>), [stories](<https://devfeed.tech/tags/stories.md>), [study](<https://devfeed.tech/tags/study.md>), [temperature](<https://devfeed.tech/tags/temperature.md>), [tracker](<https://devfeed.tech/tags/tracker.md>)

### AI overview

Across 20 LLMs and 44,782 stories in four languages, speculative naming reduced character-name concentration at the corpus level without logit access or retraining. It asks models to propose candidate name sets, scores them with a SlopTracker combining a per-model fingerprint and runtime counter, then selects names using a temperature-controlled rule or strict HARD variant. The sampling scaffold alone reduced Slop Ratio by 89% on average; adding the dynamic tracker raised the reduction to 95%, lowering mean collision probability from 7.3% to 0.4%. Known-name collisions fell to zero, within-story collisions dropped from 4.3% to 0.2%, and 42-69% of names remained attested real names, depending on language. Static banlists instead shifted concentration toward emergent names and more than halved the share of attested names. The ranking was stable across languages, model families, and counting conventions; effects on creative diversity beyond names remain untested.

### Source excerpt

arXiv:2611.01284v1 Announce Type: cross Abstract: Character names in large language model (LLM) fiction concentrate on a handful of recurrent names such as 'Elara' and 'Elias', a measurable face of AI slop. Existing fixes either require logit access or retraining, or operate per request and cannot control concentration across a corpus. How much prompt-level strategies reduce concentration, and at what cost to name naturalness, has not been systematically measured. We present an empirical study of name-concentration control across eight strategies and introduce speculative naming, a fine-tuning-free method that adapts the draft-verify-reject paradigm of speculative decoding from tokens to names. The method requests candidate name-sets through verbalized sampling, scores them against a SlopTracker that combines a per-model fingerprint with a runtime counter, and selects through a temperature-controlled rule or its strict variant (HARD). We use 20 LLMs to generate 44,782 stories in four languages from text and visual stimuli (88,919 named characters), and measure concentration with a list-free collision metric (Slop Ratio, SR) decomposed into known and emergent components. List-based strategies do not remove slop: static banlists displace concentration to emergent names and more than halve the share of attested real names. Speculative naming removes it: the sampling scaffold alone cuts SR by 89% on average, the dynamic tracker brings the total reduction to 95%, mean collision probability falls from 7.3% to 0.4%, and known-name collisions hold at zero while naturalness stays close to baseline (42-69% attested by language) and within-story collisions drop from 4.3% to 0.2%. The strategy ranking is stable across languages, model families, and name-counting conventions. Name concentration is thus controllable at the corpus level without logit access or retraining; broader creative diversity beyond naming remains open.

## Below the Waterline: Why AI's True Cost Is Measured Per Task, Not Per Token

DevFeed: [Below the Waterline: Why AI's True Cost Is Measured Per Task, Not Per Token](<https://devfeed.tech/articles/below-the-waterline-why-ai-s-true-cost-is-measured-per-task-not-per-token-113384.md>)

Original publisher: [Read original article](<https://sdtimes.com/ai/below-the-waterline-why-ais-true-cost-is-measured-per-task-not-per-token/>)

Author: David Lyman

Published: 2026-11-02T21:22:59Z

Content type: article

Language: en

Sources: [SD Times](<https://devfeed.tech/sources/sd-times.md>)

Topics: [Language models](<https://devfeed.tech/topics/language-models.md>), [cloud cost management](<https://devfeed.tech/topics/cloud-cost-management.md>), [LLM observability](<https://devfeed.tech/topics/llm-observability.md>), [Fine-tuning](<https://devfeed.tech/topics/fine-tuning.md>)

Tags: [admission](<https://devfeed.tech/tags/admission.md>), [ai](<https://devfeed.tech/tags/ai.md>), [but](<https://devfeed.tech/tags/but.md>), [cost](<https://devfeed.tech/tags/cost.md>), [economics](<https://devfeed.tech/tags/economics.md>), [enterprises](<https://devfeed.tech/tags/enterprises.md>), [executive](<https://devfeed.tech/tags/executive.md>), [first](<https://devfeed.tech/tags/first.md>), [foundation](<https://devfeed.tech/tags/foundation.md>), [getting](<https://devfeed.tech/tags/getting.md>), [ignore](<https://devfeed.tech/tags/ignore.md>), [it](<https://devfeed.tech/tags/it.md>), [it-budgets](<https://devfeed.tech/tags/it-budgets.md>), [j](<https://devfeed.tech/tags/j.md>), [latest-news](<https://devfeed.tech/tags/latest-news.md>), [leading](<https://devfeed.tech/tags/leading.md>), [live](<https://devfeed.tech/tags/live.md>), [name](<https://devfeed.tech/tags/name.md>), [r](<https://devfeed.tech/tags/r.md>), [sd](<https://devfeed.tech/tags/sd.md>), [times](<https://devfeed.tech/tags/times.md>), [token](<https://devfeed.tech/tags/token.md>), [tokenomics](<https://devfeed.tech/tags/tokenomics.md>), [tokens](<https://devfeed.tech/tags/tokens.md>)

### AI overview

The article argues that enterprises should measure AI by total cost and value per task, not by token or API bills alone. Total cost of AI includes compute, storage, networking, energy, software, and the engineering, operations, and legal labor needed to run systems; value may include revenue, savings, cleared backlogs, or avoided hires. It recommends tracking task inputs such as prompt and retrieval tokens, agent steps, cache misses, human intervention, rework, and runaway retries. The article also describes hybrid model use: reserve frontier models for demanding reasoning, and consider private or local models for tasks such as document retrieval, translation, log parsing, and PII filtering. Broadcom says its AI gateway can route requests between public and local models, and reports 40%-90% savings for suitable private-cloud workloads. The excerpt cautions that online token rates may omit production operations and cites a survey in which three in four enterprises could not confidently prove AI business value to their CFO.

### Source excerpt

Tokenomics, by the admission of the man leading the foundation named after it, is a terrible name. But the concept behind it is getting harder for enterprises to ignore. J.R. Storment, executive director of the Tokenomics Foundation, said during a recent SD Times Live! Supercast on the economics of AI that he first heard the... ... continue reading The post Below the Waterline: Why AI's True Cost Is Measured Per Task, Not Per Token appeared first on SD Times.

## Your CI pipeline needs a lockfile, too

DevFeed: [Your CI pipeline needs a lockfile, too](<https://devfeed.tech/articles/your-ci-pipeline-needs-a-lockfile-too-112989.md>)

Original publisher: [Read original article](<https://www.amitmerchant.com/ci-pipeline-lockfile/>)

Author: Amit Merchant

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

Content type: article

Language: en

Sources: [Amit Merchant](<https://devfeed.tech/sources/amit-merchant.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [least privilege](<https://devfeed.tech/topics/least-privilege.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [composer](<https://devfeed.tech/tags/composer.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [data](<https://devfeed.tech/tags/data.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [file](<https://devfeed.tech/tags/file.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [like](<https://devfeed.tech/tags/like.md>), [locks](<https://devfeed.tech/tags/locks.md>), [miscellaneous](<https://devfeed.tech/tags/miscellaneous.md>), [name](<https://devfeed.tech/tags/name.md>), [needs](<https://devfeed.tech/tags/needs.md>), [npm](<https://devfeed.tech/tags/npm.md>), [other](<https://devfeed.tech/tags/other.md>), [package](<https://devfeed.tech/tags/package.md>), [php](<https://devfeed.tech/tags/php.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [records](<https://devfeed.tech/tags/records.md>), [resource](<https://devfeed.tech/tags/resource.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

GitHub Actions workflow lockfiles let workflows keep readable action references while recording the exact commits they resolve to in `.github/workflows/actions.lock`. Install the `github/gh-actions-lock` extension and run `gh actions-lock` to generate the file. GitHub Actions uses it to resolve references to recorded commits, and Dependabot can update corresponding lockfile entries when it updates supported action dependencies. This helps keep workflow code consistent, but does not make dependencies trustworthy or lock other build inputs such as runner images or arbitrary action inputs. The article says to continue reviewing dependencies, minimizing permissions, and securing the pipeline.

### Source excerpt

Lockfiles might be familiar to you if you've ever worked with package managers like npm or Yarn (for the JavaScript ecosystem) or Composer (for the PHP ecosystem). A lockfile, as the name suggests, is a data file generated by these package managers that "locks in" or, in other words, records exact dependency versions, cryptographic hashes, or resource-access states.

## CVE-2026-63346 - Refitter: C# source injection through OpenAPI header parameter names

DevFeed: [CVE-2026-63346 - Refitter: C# source injection through OpenAPI header parameter names](<https://devfeed.tech/articles/cve-2026-63346-refitter-c-source-injection-through-openapi-header-parameter-names-109482.md>)

Original publisher: [Read original article](<https://cvefeed.io/vuln/detail/CVE-2026-63346>)

Author: CVEFEED.io; github.com

Published: 2026-10-30T23:17:14Z

Content type: news

Language: en

Sources: [Latest High/Critical Vulnerabilitiy Feed](<https://devfeed.tech/sources/latest-high-critical-vulnerabilitiy-feed.md>)

Topics: [C#](<https://devfeed.tech/topics/csharp.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [client library](<https://devfeed.tech/topics/client-library.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [api](<https://devfeed.tech/tags/api.md>), [application](<https://devfeed.tech/tags/application.md>), [assembly](<https://devfeed.tech/tags/assembly.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [class](<https://devfeed.tech/tags/class.md>), [client](<https://devfeed.tech/tags/client.md>), [code](<https://devfeed.tech/tags/code.md>), [cve](<https://devfeed.tech/tags/cve.md>), [cve-2026-63346](<https://devfeed.tech/tags/cve-2026-63346.md>), [header](<https://devfeed.tech/tags/header.md>), [interface](<https://devfeed.tech/tags/interface.md>), [library](<https://devfeed.tech/tags/library.md>), [name](<https://devfeed.tech/tags/name.md>), [net](<https://devfeed.tech/tags/net.md>), [net-8](<https://devfeed.tech/tags/net-8.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [parameter](<https://devfeed.tech/tags/parameter.md>), [source](<https://devfeed.tech/tags/source.md>)

### AI overview

Before Refitter 2.1.2, an OpenAPI header parameter name was inserted unescaped into a Refit `[Header("")]` attribute. An attacker-controlled description could therefore inject valid C# into generated code; a `[ModuleInitializer]` could run the injected code when the compiled assembly loads at startup, even if the API client is never called. The excerpt says default validation does not block this path and notes that query `AliasAs` and enum/default value sinks are escaped. The behavior was verified with Refitter 2.0.0 and .NET 8; the issue is fixed in 2.1.2.

### Source excerpt

CVE ID :CVE-2026-63346 Published : Oct. 30, 2026, 11:17 p.m. | 39 minutes ago Description :Refitter is a tool for generating a C# REST API client using the Refit library. Prior to 2.1.2, the header parameter name in `parameters[].name` with `in: header` is emitted verbatim into a Refit `[Header("")]` attribute string without escaping quotation marks. An attacker-influenced OpenAPI description can pass default validation without `--skip-validation` and break out from the parameter-list position by closing the parameter and method syntax, attribute, interface, and namespace. The generated file can remain valid C# while containing a top-level file class with a `[ModuleInitializer]` method, which executes attacker code when the compiled assembly is loaded at application startup, even if the client is never called. Query `AliasAs` and enum/default value sinks are escaped; this flaw is in header-name attribute-string emission. The behavior was verified with Refitter 2.0.0 and .NET 8. This issue is fixed in version 2.1.2. Severity: 8.6 | HIGH Visit the link for more details, such as CVSS details, affected products, timeline, and more...

## SurveyMonkey vs. Google Forms: Which should you use? \[2026\]

DevFeed: [SurveyMonkey vs. Google Forms: Which should you use? \[2026\]](<https://devfeed.tech/articles/surveymonkey-vs-google-forms-which-should-you-use-2026-102444.md>)

Original publisher: [Read original article](<https://zapier.com/blog/google-forms-vs-surveymonkey>)

Author: Ryan Kane

Published: 2026-10-27T04:00:00Z

Content type: comparison

Language: en

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

Topics: [Forms](<https://devfeed.tech/topics/forms.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [app-picks](<https://devfeed.tech/tags/app-picks.md>), [brand](<https://devfeed.tech/tags/brand.md>), [corporate](<https://devfeed.tech/tags/corporate.md>), [decades](<https://devfeed.tech/tags/decades.md>), [form](<https://devfeed.tech/tags/form.md>), [forms](<https://devfeed.tech/tags/forms.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [health](<https://devfeed.tech/tags/health.md>), [health-tracking](<https://devfeed.tech/tags/health-tracking.md>), [like](<https://devfeed.tech/tags/like.md>), [market-research](<https://devfeed.tech/tags/market-research.md>), [name](<https://devfeed.tech/tags/name.md>), [one](<https://devfeed.tech/tags/one.md>), [other](<https://devfeed.tech/tags/other.md>), [over](<https://devfeed.tech/tags/over.md>), [popular](<https://devfeed.tech/tags/popular.md>), [research](<https://devfeed.tech/tags/research.md>), [score](<https://devfeed.tech/tags/score.md>), [vs](<https://devfeed.tech/tags/vs.md>)

### AI overview

Google Forms is a practical free choice for simple personal or internal forms: it requires a Google account, supports unlimited questions and up to 500,000 responses per form, and links results to Sheets. Its branding options and branching logic are limited, and Gemini form generation generally requires a paid plan. SurveyMonkey is better suited to complex business surveys and research. It offers 500+ templates, conversational AI editing, a question bank, advanced logic, question randomization, A/B testing, analytics, and access to a respondent panel. Its free plan is limited to 10 questions and 10 visible responses per survey; paid plans have response caps and can cost substantially more. Offline collection is available only on Enterprise. Both connect to Zapier; SurveyMonkey also lists 200+ native integrations, while Google Forms fits closely with Google Workspace.

### Source excerpt

Google Forms and SurveyMonkey are leaders in their category for different reasons: one is a simple form tool that nearly everyone already has free access to, and the other has been the poster child for survey creation for over two decades. SurveyMonkey, despite its cuddly name, has evolved into a distinctly corporate tool focused on things like market research, Net Promoter Score surveys, and brand health tracking. Google Forms, meanwhile, is hugely popular for sending out free forms and surveys

## AI will keep uncovering critical software flaws for years, says Cloudflare CEO

DevFeed: [AI will keep uncovering critical software flaws for years, says Cloudflare CEO](<https://devfeed.tech/articles/ai-will-keep-uncovering-critical-software-flaws-for-years-says-cloudflare-ceo-99203.md>)

Original publisher: [Read original article](<https://www.techspot.com/news/114325-ai-keep-uncovering-critical-software-flaws-years-cloudflare.html>)

Author: Skye Jacobs

Published: 2026-10-25T16:20:00Z

Content type: news

Language: en

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

Topics: [Security research](<https://devfeed.tech/topics/security-research.md>), [code security](<https://devfeed.tech/topics/code-security.md>), [vulnerability management](<https://devfeed.tech/topics/vulnerability-management.md>), [Software](<https://devfeed.tech/topics/software.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [3](<https://devfeed.tech/tags/3.md>), [about](<https://devfeed.tech/tags/about.md>), [ai](<https://devfeed.tech/tags/ai.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [ceo](<https://devfeed.tech/tags/ceo.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [critical](<https://devfeed.tech/tags/critical.md>), [eff](<https://devfeed.tech/tags/eff.md>), [game](<https://devfeed.tech/tags/game.md>), [government](<https://devfeed.tech/tags/government.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [keep](<https://devfeed.tech/tags/keep.md>), [name](<https://devfeed.tech/tags/name.md>), [other](<https://devfeed.tech/tags/other.md>), [php](<https://devfeed.tech/tags/php.md>), [prince](<https://devfeed.tech/tags/prince.md>), [reuters](<https://devfeed.tech/tags/reuters.md>), [security](<https://devfeed.tech/tags/security.md>), [software](<https://devfeed.tech/tags/software.md>), [store](<https://devfeed.tech/tags/store.md>), [the-web](<https://devfeed.tech/tags/the-web.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>), [websites](<https://devfeed.tech/tags/websites.md>)

### AI overview

Cloudflare CEO Matthew Prince expects frequent serious software vulnerabilities for the next few years as AI tools make it faster and easier for researchers and attackers to find flaws and build exploits. He says Cloudflare knows of additional severe vulnerabilities in unnamed critical software. Wiz Research reported that frontier models helped it develop and adapt exploits across applications in hours; the EFF attributes a sharp rise in reported vulnerabilities to frontier AI from OpenAI, Anthropic and others. The article says complex code may no longer be protected by the difficulty of analyzing it. The EFF recommends keeping browsers and apps updated, using unique passwords with a password manager, blocking trackers, and watching for phishing; website operators should ensure PHP fixes are applied. Prince expects fixes to leave software safer over time, but the article says the extent of damage before then remains uncertain.

### Source excerpt

Prince told Reuters that Cloudflare is aware of "a bunch of additional severe vulnerabilities that are present in other pieces of critical software," though he did not name the affected programs. He compared them to the PHP bugs that recently forced government websites, the game store GOG, and many smaller... Read Entire Article

## Critical Flaw in Python's Popular Pillow Image Library Allows Code Execution via a Crafted Image

DevFeed: [Critical Flaw in Python's Popular Pillow Image Library Allows Code Execution via a Crafted Image](<https://devfeed.tech/articles/critical-flaw-in-python-s-popular-pillow-image-library-allows-code-execution-via-a-crafted-image-98282.md>)

Original publisher: [Read original article](<https://thehackernews.com/2026/10/critical-flaw-in-pythons-popular-pillow.html>)

Author: The Hacker News

Published: 2026-10-23T09:36:00Z

Content type: news

Language: en

Sources: [Cyber Newsroom](<https://devfeed.tech/sources/cyber-newsroom.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [Image](<https://devfeed.tech/topics/image.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [2013](<https://devfeed.tech/tags/2013.md>), [2026](<https://devfeed.tech/tags/2026.md>), [application-security](<https://devfeed.tech/tags/application-security.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [can](<https://devfeed.tech/tags/can.md>), [code](<https://devfeed.tech/tags/code.md>), [code-execution](<https://devfeed.tech/tags/code-execution.md>), [commands](<https://devfeed.tech/tags/commands.md>), [critical](<https://devfeed.tech/tags/critical.md>), [cve](<https://devfeed.tech/tags/cve.md>), [execution](<https://devfeed.tech/tags/execution.md>), [file](<https://devfeed.tech/tags/file.md>), [image](<https://devfeed.tech/tags/image.md>), [library](<https://devfeed.tech/tags/library.md>), [name](<https://devfeed.tech/tags/name.md>), [open](<https://devfeed.tech/tags/open.md>), [operating-system](<https://devfeed.tech/tags/operating-system.md>), [python](<https://devfeed.tech/tags/python.md>), [run](<https://devfeed.tech/tags/run.md>), [server](<https://devfeed.tech/tags/server.md>), [software-security](<https://devfeed.tech/tags/software-security.md>), [system](<https://devfeed.tech/tags/system.md>), [used](<https://devfeed.tech/tags/used.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>), [web-security](<https://devfeed.tech/tags/web-security.md>)

### AI overview

Pillow 13.0.0 fixes several security flaws, including an EPS filename issue that can reach command execution through Ghostscript when a server opens an attacker-named file and has `gs` installed. The flaws affect Pillow 2.6.0 through 12.3.0; maintainers rate the EPS issue moderate because filename control is required, while CVE scores are higher. Other fixes cover a JPEG/FlashPix command-execution path under specific conditions, a JPEG thumbnail overflow reported to cause crashes, and a TIFF in-memory-save overflow that can crash a process and was escalated only with a separate memory-disclosure flaw. The excerpt recommends upgrading and rebuilding bundled copies; Pillow 13 requires Python 3.11 or newer. Until then, it advises keeping Ghostscript off upload-processing hosts, avoiding attacker-controlled EPS filenames, using specified precautions for JPEG thumbnails, and treating TIFF saves to memory buffers as sensitive.

### Source excerpt

Critical Flaw in Python's Popular Pillow Image Library Allows Code Execution via a Crafted Image Pillow, the most widely used image library for Python, can be made to run operating system commands on a server by specifying the name of a file it is told to open. The flaw, CVE-2026-112900, is in th ... Read more Published Date: Oct 23, 2026 (10 hours, 4 minutes ago) Vulnerabilities has been mentioned in this article. CVE-2026-112900 CVE-2026-112403 CVE-2026-112393

## How to build approval workflows from the SCIM manager attribute

DevFeed: [How to build approval workflows from the SCIM manager attribute](<https://devfeed.tech/articles/how-to-build-approval-workflows-from-the-scim-manager-attribute-97879.md>)

Original publisher: [Read original article](<https://workos.com/blog/scim-manager-attribute-approval-workflows>)

Author: WorkOS

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

Content type: tutorial

Language: en

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

Topics: [business logic](<https://devfeed.tech/topics/business-logic.md>), [API Governance](<https://devfeed.tech/topics/api-governance.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [2023](<https://devfeed.tech/tags/2023.md>), [2026](<https://devfeed.tech/tags/2026.md>), [3](<https://devfeed.tech/tags/3.md>), [access-tokens](<https://devfeed.tech/tags/access-tokens.md>), [admin](<https://devfeed.tech/tags/admin.md>), [all](<https://devfeed.tech/tags/all.md>), [build](<https://devfeed.tech/tags/build.md>), [directory](<https://devfeed.tech/tags/directory.md>), [email](<https://devfeed.tech/tags/email.md>), [fallback](<https://devfeed.tech/tags/fallback.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [id](<https://devfeed.tech/tags/id.md>), [idp](<https://devfeed.tech/tags/idp.md>), [key](<https://devfeed.tech/tags/key.md>), [manager](<https://devfeed.tech/tags/manager.md>), [maps](<https://devfeed.tech/tags/maps.md>), [name](<https://devfeed.tech/tags/name.md>), [sync](<https://devfeed.tech/tags/sync.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Directory Sync can supply manager_id, manager_name and manager_email in each Directory User's custom_attributes, but the fields are optional and provider coverage varies. Use manager_id as the approval-chain key: it may identify a manager by Directory User id or, for HR integrations and unmatched SCIM references, by idp_id/provider value. Verify joins and route unresolved or inactive managers through a fallback approver; never auto-approve or drop requests. Enable the attributes after deploying code that tolerates missing values. The environment-wide toggle can take up to an hour to propagate and emits update events for changed users, so distinguish initial backfill from a real manager change and run a full pull afterward. Reconcile periodically because some null/undefined changes emit no event. For Google Workspace, which lacks manager_id, manager_email can support lookup, subject to alias mismatches.

### Source excerpt

Directory Sync maps manager_id, manager_name and manager_email from the IdP. Where they land, how to key approval chains on them, and the no-manager fallback.

## LastWords: Boring Problems Revisited

DevFeed: [LastWords: Boring Problems Revisited](<https://devfeed.tech/articles/lastwords-boring-problems-revisited-93378.md>)

Original publisher: [Read original article](<https://arxiv.org/abs/2610.24894>)

Author: Huayang Li, Richard Sproat

Published: 2026-10-21T04:00:00Z

Content type: article

Language: en

Sources: [arXiv: Machine Learning](<https://devfeed.tech/sources/arxiv-machine-learning.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [cs-cl](<https://devfeed.tech/tags/cs-cl.md>), [cs-lg](<https://devfeed.tech/tags/cs-lg.md>), [frontier-models](<https://devfeed.tech/tags/frontier-models.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [name](<https://devfeed.tech/tags/name.md>), [natural-language-processing](<https://devfeed.tech/tags/natural-language-processing.md>), [neural](<https://devfeed.tech/tags/neural.md>), [open](<https://devfeed.tech/tags/open.md>), [text](<https://devfeed.tech/tags/text.md>)

### AI overview

The paper revisits number name reading, a text normalization problem once considered difficult for purely neural methods. The authors report that at least one recent frontier model has practically solved it, while arguing that open issues remain for constrained, limited-resource problems and that future machine learning approaches may address them without the massive resources of frontier models. This overview is based on the supplied abstract.

### Source excerpt

arXiv:2610.24894v1 Announce Type: cross Abstract: In 2022, the second author published a Last Words piece in Computational Linguistics in which he pointed out that, despite the advances in AI up to that point, there were still some problems in natural language processing that on the one hand seemed trivial and perhaps boring, but on the other were hard to solve using purely neural methods. One such problem discussed in that context was text normalization, and a particular subproblem of that, namely number name reading. The piece came out just a few months before the first release of ChatGPT, and needless to say, a lot has happened since then. Indeed, as we document here, the problem (of number name reading) has practically been solved, at least by one of the latest frontier models. However, we believe that there are still open issues for such limited domain, constrained and limited resource problems, and that in some future machine learning approach, the massive resources of the latest frontier models would not be needed to solve them.

## Millions of routers can be hijacked over Wi-Fi thanks to a 16-year-old bug

DevFeed: [Millions of routers can be hijacked over Wi-Fi thanks to a 16-year-old bug](<https://devfeed.tech/articles/millions-of-routers-can-be-hijacked-over-wi-fi-thanks-to-a-16-year-old-bug-91422.md>)

Original publisher: [Read original article](<https://www.techspot.com/news/114276-millions-routers-can-hijacked-over-wi-fi-thanks.html>)

Author: Julio Franco

Published: 2026-10-20T22:08:00Z

Content type: news

Language: en

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

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Network](<https://devfeed.tech/topics/network.md>), [OpenWrt](<https://devfeed.tech/topics/openwrt.md>)

Tags: [1-5](<https://devfeed.tech/tags/1-5.md>), [2018](<https://devfeed.tech/tags/2018.md>), [about](<https://devfeed.tech/tags/about.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [article](<https://devfeed.tech/tags/article.md>), [broadcom](<https://devfeed.tech/tags/broadcom.md>), [bug](<https://devfeed.tech/tags/bug.md>), [can](<https://devfeed.tech/tags/can.md>), [conference](<https://devfeed.tech/tags/conference.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [issue](<https://devfeed.tech/tags/issue.md>), [name](<https://devfeed.tech/tags/name.md>), [networking](<https://devfeed.tech/tags/networking.md>), [october](<https://devfeed.tech/tags/october.md>), [over](<https://devfeed.tech/tags/over.md>), [paris](<https://devfeed.tech/tags/paris.md>), [routers](<https://devfeed.tech/tags/routers.md>), [security](<https://devfeed.tech/tags/security.md>), [thanks](<https://devfeed.tech/tags/thanks.md>), [the-web](<https://devfeed.tech/tags/the-web.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>), [wifi](<https://devfeed.tech/tags/wifi.md>)

### AI overview

WPSplinter is a flaw in Broadcom's older WPS code that can let an attacker within Wi-Fi radio range read router memory or run code without the Wi-Fi password, a completed pairing, or internet access. Quentin Kaiser demonstrated different outcomes: extracting a Wi-Fi key from an Orange Belgium gateway and obtaining a remote shell on a Proximus router. He confirmed affected gateways at three Belgian ISPs and estimates exposure in Belgium at about 1.5 million devices, with potentially hundreds of millions worldwide; the model list is incomplete. Broadcom says it replaced the code and had known of the flaw since 2018, while Kaiser says the patch was incomplete. No CVE was issued, which he says may have kept the warning from reaching router makers and ISPs. Changing the Wi-Fi password does not help. Disabling WPS may not disable the vulnerable code; the excerpt suggests turning off gateway Wi-Fi, using bridge mode, and connecting an up-to-date router if firmware status is uncertain. Kaiser also posted a detection script on GitHub.

### Source excerpt

Security researcher Quentin Kaiser detailed the flaw at the Hexacon conference in Paris on October 16. He calls it WPSplinter, a name he only gave it because Broadcom refused to issue an official identifier. Read Entire Article

## Five million to one: two Arduino boards, 20 years apart

DevFeed: [Five million to one: two Arduino boards, 20 years apart](<https://devfeed.tech/articles/five-million-to-one-two-arduino-boards-20-years-apart-91143.md>)

Original publisher: [Read original article](<https://blog.arduino.cc/2026/10/20/five-million-to-one-two-arduino-boards-20-years-apart/>)

Author: Arduino Team

Published: 2026-10-20T12:57:43Z

Content type: article

Language: en

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

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [VENTUNO Q](<https://devfeed.tech/topics/ventuno-q.md>), [Image](<https://devfeed.tech/topics/image.md>)

Tags: [000](<https://devfeed.tech/tags/000.md>), [2](<https://devfeed.tech/tags/2.md>), [3](<https://devfeed.tech/tags/3.md>), [about](<https://devfeed.tech/tags/about.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessible](<https://devfeed.tech/tags/accessible.md>), [aggregation](<https://devfeed.tech/tags/aggregation.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-hardware](<https://devfeed.tech/tags/ai-hardware.md>), [ai-systems](<https://devfeed.tech/tags/ai-systems.md>), [ai-tools](<https://devfeed.tech/tags/ai-tools.md>), [arduino](<https://devfeed.tech/tags/arduino.md>), [desk](<https://devfeed.tech/tags/desk.md>), [first](<https://devfeed.tech/tags/first.md>), [i](<https://devfeed.tech/tags/i.md>), [logo](<https://devfeed.tech/tags/logo.md>), [name](<https://devfeed.tech/tags/name.md>), [philosophy](<https://devfeed.tech/tags/philosophy.md>), [product](<https://devfeed.tech/tags/product.md>), [technology](<https://devfeed.tech/tags/technology.md>), [ventuno-q](<https://devfeed.tech/tags/ventuno-q.md>)

### AI overview

The stated five-million-to-one performance gap is an illustrative estimate, not a practical head-to-head test. The article compares the VENTUNO Q's 40 dense TOPS with an estimated 8 million operations per second for the UNO Rev3, then explains that raw figures can mislead when they use different numeric formats. Its image-classification example uses 224 x 224 RGB images, INT8 data and a model with roughly 100 MB of parameters: the VENTUNO Q is described as processing about 5,000 photos per second, while the UNO would take about 17 minutes per photo, or roughly 58 days for 5,000. But the UNO's 32 KB of flash and 2 KB of RAM cannot hold the model, so its throughput is a thought experiment assuming unlimited external memory. The article's practical point is that modern hardware enables workloads earlier boards could not support, while both boards aim to make hardware development accessible.

### Source excerpt

By Marcello Majonchi, Chief Product Officer at Arduino Sitting on my desk I have two boards. They carry the same logo, have a somewhat similar name. Their technology could not be more different, and yet the philosophy behind them is exactly the same. On the left I have an early Arduino® UNO™ Rev3, featuring a [...] The post Five million to one: two Arduino boards, 20 years apart appeared first on Arduino Blog.

## Java vs. JavaScript: What's the Difference? (They're Not the Same Thing)

DevFeed: [Java vs. JavaScript: What's the Difference? (They're Not the Same Thing)](<https://devfeed.tech/articles/java-vs-javascript-what-s-the-difference-they-re-not-the-same-thing-23034.md>)

Original publisher: [Read original article](<https://blog.teamtreehouse.com/java-vs-javascript-difference>)

Author: Dev Support

Published: 2026-08-13T17:48:00Z

Content type: comparison

Language: en

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

Topics: [java vs javascript](<https://devfeed.tech/topics/java-vs-javascript.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [bytecode](<https://devfeed.tech/tags/bytecode.md>), [coding](<https://devfeed.tech/tags/coding.md>), [compile](<https://devfeed.tech/tags/compile.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [creators](<https://devfeed.tech/tags/creators.md>), [errors](<https://devfeed.tech/tags/errors.md>), [java](<https://devfeed.tech/tags/java.md>), [java-vs-javascript](<https://devfeed.tech/tags/java-vs-javascript.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jit](<https://devfeed.tech/tags/jit.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [language](<https://devfeed.tech/tags/language.md>), [languages](<https://devfeed.tech/tags/languages.md>), [learn](<https://devfeed.tech/tags/learn.md>), [learn-programming](<https://devfeed.tech/tags/learn-programming.md>), [like](<https://devfeed.tech/tags/like.md>), [llearn-to-code](<https://devfeed.tech/tags/llearn-to-code.md>), [marketing](<https://devfeed.tech/tags/marketing.md>), [modern](<https://devfeed.tech/tags/modern.md>), [name](<https://devfeed.tech/tags/name.md>), [netscape](<https://devfeed.tech/tags/netscape.md>)

### AI overview

Java and JavaScript are separate languages whose similar names stem from a 1990s marketing decision. The excerpt says Java is compiled to bytecode and run on the JVM, while JavaScript is interpreted or JIT-compiled by a browser or a runtime such as Node.js. Java requires types to be declared and fixed; JavaScript types are flexible and inferred at runtime. The source characterizes Java's typing as catching errors earlier and helping predictability at scale, while JavaScript's flexibility can make code faster to write at the cost of some safety. The excerpt ends during its discussion of where the languages run.

### Source excerpt

If you've ever typed "is Java the same as JavaScript" into a search bar, you're in good company. It's one of the most common questions in coding, and the confusion is completely understandable -- the names are nearly identical, both... The post Java vs. JavaScript: What's the Difference? (They're Not the Same Thing) appeared first on Treehouse Blog.

## Server-Timing header

DevFeed: [Server-Timing header](<https://devfeed.tech/articles/server-timing-header-89143.md>)

Original publisher: [Read original article](<https://specification.website/spec/performance/server-timing/>)

Author: Joost de Valk

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

Content type: tutorial

Language: en

Sources: [The Website Specification](<https://devfeed.tech/sources/the-website-specification.md>)

Topics: [database monitoring](<https://devfeed.tech/topics/database-monitoring.md>), [cache-control](<https://devfeed.tech/topics/cache-control.md>), [synthetic monitoring](<https://devfeed.tech/topics/synthetic-monitoring.md>), [Interaction to Next Paint](<https://devfeed.tech/topics/interaction-to-next-paint.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [cloudflare-pages](<https://devfeed.tech/tags/cloudflare-pages.md>), [core-web-vitals](<https://devfeed.tech/tags/core-web-vitals.md>), [counts](<https://devfeed.tech/tags/counts.md>), [database](<https://devfeed.tech/tags/database.md>), [devtools](<https://devfeed.tech/tags/devtools.md>), [header](<https://devfeed.tech/tags/header.md>), [http](<https://devfeed.tech/tags/http.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [interface](<https://devfeed.tech/tags/interface.md>), [name](<https://devfeed.tech/tags/name.md>), [optional](<https://devfeed.tech/tags/optional.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-metrics](<https://devfeed.tech/tags/performance-metrics.md>), [real-user-monitoring](<https://devfeed.tech/tags/real-user-monitoring.md>), [rum](<https://devfeed.tech/tags/rum.md>), [server](<https://devfeed.tech/tags/server.md>), [timing](<https://devfeed.tech/tags/timing.md>)

### AI overview

The article explains how the Server-Timing HTTP response header exposes server-side performance metrics in browser DevTools and through JavaScript for real-user monitoring. It describes emitting and collecting metrics, notes cross-origin access requirements, and cautions against exposing sensitive infrastructure details.

### Source excerpt

Server-Timing surfaces backend metrics -- database time, cache hits, edge processing -- in browser DevTools and to RUM via the PerformanceServerTiming API. Send it when you measure server-side latency, and keep the values free of sensitive infrastructure detail.

## Beyond Positions: Kotlin's New Name-Based Destructuring

DevFeed: [Beyond Positions: Kotlin's New Name-Based Destructuring](<https://devfeed.tech/articles/beyond-positions-kotlin-s-new-name-based-destructuring-25979.md>)

Original publisher: [Read original article](<https://proandroiddev.com/beyond-positions-kotlins-new-name-based-destructuring-eee347d1bb5c?source=rss-711ab22c5c77------2>)

Author: Nav Singh

Published: 2026-03-18T01:24:50Z

Content type: article

Language: en

Sources: [Nav Singh](<https://devfeed.tech/sources/stories-by-nav-singh-on-medium.md>)

Topics: [destructuring](<https://devfeed.tech/topics/destructuring.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [destructuring](<https://devfeed.tech/tags/destructuring.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [name](<https://devfeed.tech/tags/name.md>)

### AI overview

Kotlin 2.3.20 introduces experimental name-based destructuring, which binds each declared variable to a property with the same name instead of relying on the order of componentN() functions. The excerpt illustrates how position-based destructuring can assign values unexpectedly when variable order differs from property order. The compiler option -Xname-based-destructuring controls interpretation; the example enables only-syntax mode. The excerpt also shows square brackets for position-based destructuring in Complete mode, but does not explain the Name-Mismatch mode.

### Source excerpt

Image generated using Perplexity Name-based destructuring declarations were introduced in Kotlin 2.3.20 and match variables to properties rather than relying on position-based componentN(). Previously, destructive declarations used position-based destruction: data class User(var firstName: String, var lastName: String) val user = User("Alice", "Husseini") // componentN() val(firstName,lastName) = user println(firstName) println(lastName)Drawback of the componentN() based approach Destructuring relies on the order of componentN() functions, lastName receives the value of firstName, and firstName receives the value of lastName 👇 data class User(var firstName: String, var lastName: String) val user = User("Alice", "Husseini") // componentN() val(lastName,firstName) = user println(firstName) -> Husseini println(lastName) -> AliceName-based destructuring ✨ It's an Experimental feature. We can control how the compiler interprets destructuring declarations with the -Xname-based-destructuring compiler option. kotlin { // .. compilerOptions { freeCompilerArgs.add("-Xname-based-destructuring=only-syntax") } }Each variable refers to a property by name.val user = User("Alice", "Husseini") // Name-based destructuring (val firstName = firstName, val lastName = lastName) = userModeshttps://kotlinlang.org/docs/whatsnew2320.html#languageMode -- Name-Mismatch⚠ Warning ⚠Name-Mismatch warningMode -- Complete Position-based destructuring using square brackets []: data class User(var firstName: String, var lastName: String) val user = User("Alice", "Husseini") // componentN() val [firstName,lastName] = userReferences What's new in Kotlin 2.3.20 | Kotlin Stay in touch https://www.linkedin.com/in/navczydev/ JavaScript is not available. navczydev - Overview navczydev.bsky.social Beyond Positions: Kotlin's New Name-Based Destructuring was originally published in ProAndroidDev on Medium, where people are continuing the conversation by highlighting and responding to this story.

## Manage artifact attestations with deletion, filtering, and bulk actions

DevFeed: [Manage artifact attestations with deletion, filtering, and bulk actions](<https://devfeed.tech/articles/manage-artifact-attestations-with-deletion-filtering-and-bulk-actions-72483.md>)

Original publisher: [Read original article](<https://github.blog/changelog/2025-07-01-manage-artifact-attestations-with-deletion-filtering-and-bulk-actions>)

Author: Allison

Published: 2025-07-01T17:36:50Z

Content type: release

Language: en

Sources: [GitHub Changelog](<https://devfeed.tech/sources/github-changelog.md>)

Topics: [sonatype](<https://devfeed.tech/topics/sonatype.md>), [API Governance](<https://devfeed.tech/topics/api-governance.md>)

Tags: [advanced](<https://devfeed.tech/tags/advanced.md>), [api](<https://devfeed.tech/tags/api.md>), [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [artifacts](<https://devfeed.tech/tags/artifacts.md>), [builds](<https://devfeed.tech/tags/builds.md>), [community](<https://devfeed.tech/tags/community.md>), [creation-date](<https://devfeed.tech/tags/creation-date.md>), [delete](<https://devfeed.tech/tags/delete.md>), [discussion](<https://devfeed.tech/tags/discussion.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [feedback](<https://devfeed.tech/tags/feedback.md>), [github](<https://devfeed.tech/tags/github.md>), [interactive](<https://devfeed.tech/tags/interactive.md>), [list](<https://devfeed.tech/tags/list.md>), [malicious](<https://devfeed.tech/tags/malicious.md>), [manage](<https://devfeed.tech/tags/manage.md>), [multiple](<https://devfeed.tech/tags/multiple.md>), [name](<https://devfeed.tech/tags/name.md>), [ui](<https://devfeed.tech/tags/ui.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Artifact attestations can now be deleted through the UI or API, including attestations associated with malicious or vulnerable artifacts. API endpoints support bulk operations, and the interactive `/attestations` list lets users select one or more attestations for actions such as deletion. The list can be filtered by predicate type, subject name, or creation date and sorted by oldest or newest creation date.

### Source excerpt

You can now manage artifact attestations more effectively with new updates to the UI and API, including deletion, filtering, and bulk actions. Here's what's new: Delete attestations: Easily delete artifact...

## postmarketOS in 2025-02: MSM89x7 Audio, Modern Xiaomis in Community, New Name Foreshadowing

DevFeed: [postmarketOS in 2025-02: MSM89x7 Audio, Modern Xiaomis in Community, New Name Foreshadowing](<https://devfeed.tech/articles/postmarketos-in-2025-02-msm89x7-audio-modern-xiaomis-in-community-new-name-foreshadowing-106662.md>)

Original publisher: [Read original article](<https://nura.eco/blog/2025/03/04/pmOS-update-2025-02/>)

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

Content type: news

Language: en

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

Topics: [Developer Events](<https://devfeed.tech/topics/developer-events.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [2025](<https://devfeed.tech/tags/2025.md>), [alpine](<https://devfeed.tech/tags/alpine.md>), [alpine-linux](<https://devfeed.tech/tags/alpine-linux.md>), [audio](<https://devfeed.tech/tags/audio.md>), [community](<https://devfeed.tech/tags/community.md>), [devices](<https://devfeed.tech/tags/devices.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [event](<https://devfeed.tech/tags/event.md>), [fairphone](<https://devfeed.tech/tags/fairphone.md>), [fosdem](<https://devfeed.tech/tags/fosdem.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [mainline](<https://devfeed.tech/tags/mainline.md>), [modern](<https://devfeed.tech/tags/modern.md>), [name](<https://devfeed.tech/tags/name.md>), [nura](<https://devfeed.tech/tags/nura.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-community](<https://devfeed.tech/tags/open-source-community.md>), [os](<https://devfeed.tech/tags/os.md>), [postmarketos](<https://devfeed.tech/tags/postmarketos.md>), [tablet](<https://devfeed.tech/tags/tablet.md>)

### AI overview

postmarketOS reported broad February 2025 development across device support, build tooling, kernels and system services. MSM89x7 kernels moved to 6.13, bringing audio support to almost every supported device and charging support to all except Redmi 4A; follow-up changes added flashlight and suspend support. pmbootstrap's opt-in `cross-native2` method uses the package's own build system for cross compilation and is reported to speed builds substantially. Stricter dependency handling now installs only declared build dependencies, so APKBUILDs relying on the previous behavior may need missing packages added to `makedepends`. The project also added six device ports, improved CI reliability with a custom QEMU runner (though some jobs still fail to start), and established automatic daily off-site backups. It plans to rename the project while keeping its logo and branding, inviting community suggestions of one to three syllables; Trusted and Core Contributors will choose, and the current name will remain through at least v25.06.

### Source excerpt

We already wrote plenty about FOSDEM 2025 and the Hackathon we did afterwards. But that was just the start of February! Two weeks later, a mainlining workshop in Aachen (DE) took place. Aelin organized it and posted some notes including "1 Xiaomi tablet now boots mainline quite well and can boot to system from UFS" and "it is damn hard to explain this to people with almost no technical knowledge in this area, but we tried our best and they learnt a lot". Another week later, Rob represented postmarketOS on the Saturday of the OSC 2025 Tokyo Spring event hosted at the Komazawa University in Tokyo (JP): "It was quite busy and several good discussions were held with different members of the Open-Source community." Thanks Aelin, Rob and all who came by! Post the Market: A New Fame We plan to give postmarketOS a new name. Back in 2017 when postmarketOS was first getting off the ground, this project was smaller scale. Just a port of Alpine Linux to devices abandoned by their manufacturers. Now, the year is 2025 and while many of our ports are still for devices past their manufacturer's supported period, we also have a lot of devices running postmarketOS far before they reach their official End of Life. For the Fairphone 4 and Fairphone 5 we even had ports on the day they were released! This is one of the reasons why we are looking for a new name. Another is that postmarketOS is not easy to pronounce. It is five syllables, including the OS at the end. To some it sounds more like a sentence than a name. Last but not least, the capitalization is a bit awkward at this point: Our official branding is postmarketOS with lowercase p, but of course people end up writing PostmarketOS (especially at the beginning of sentences) or even PostMarketOS. So we are looking for a new name! To be clear, we only want to change the name. The beloved logo and all the rest of our branding will stay the same. What's the new name? You tell us. Since postmarketOS isn't just the distro, but also the

## Legacy Docker Registry closing down

DevFeed: [Legacy Docker Registry closing down](<https://devfeed.tech/articles/legacy-docker-registry-closing-down-72793.md>)

Original publisher: [Read original article](<https://github.blog/changelog/2025-01-23-legacy-docker-registry-closing-down>)

Author: Allison

Published: 2025-01-23T16:46:23Z

Content type: release

Language: en

Sources: [GitHub Changelog](<https://devfeed.tech/sources/github-changelog.md>)

Topics: [GitHub Container Registry](<https://devfeed.tech/topics/github-container-registry.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [2021](<https://devfeed.tech/tags/2021.md>), [2025](<https://devfeed.tech/tags/2025.md>), [api](<https://devfeed.tech/tags/api.md>), [automatically](<https://devfeed.tech/tags/automatically.md>), [container](<https://devfeed.tech/tags/container.md>), [container-registry](<https://devfeed.tech/tags/container-registry.md>), [deprecate](<https://devfeed.tech/tags/deprecate.md>), [deprecation](<https://devfeed.tech/tags/deprecation.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-registry](<https://devfeed.tech/tags/docker-registry.md>), [exception](<https://devfeed.tech/tags/exception.md>), [github](<https://devfeed.tech/tags/github.md>), [github-container-registry](<https://devfeed.tech/tags/github-container-registry.md>), [github-packages](<https://devfeed.tech/tags/github-packages.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [name](<https://devfeed.tech/tags/name.md>), [need](<https://devfeed.tech/tags/need.md>), [packages](<https://devfeed.tech/tags/packages.md>), [registry](<https://devfeed.tech/tags/registry.md>)

### AI overview

GitHub will deprecate its legacy Docker registry for GitHub Packages on February 24, 2025, and packages left there will be deleted and unavailable. Most packages were automatically migrated to GitHub Container Registry (GHCR) when it became generally available in 2021; requests for those packages will forward to GHCR, so their owners need take no action. Packages with namespace conflicts--where the same package name exists in both registries--were excluded from migration. The excerpt advises checking GitHub's API endpoint for affected packages that need migration.

### Source excerpt

GitHub will deprecate the Docker registry for GitHub Packages on Feb 24th, 2025 in favor of the GitHub Container Registry, which supports Docker packages. All packages in the Docker registry...

## Client IDs are now included in App API responses

DevFeed: [Client IDs are now included in App API responses](<https://devfeed.tech/articles/client-ids-are-now-included-in-app-api-responses-72988.md>)

Original publisher: [Read original article](<https://github.blog/changelog/2024-08-23-client-ids-are-now-included-in-app-api-responses>)

Author: Allison

Published: 2024-08-23T22:12:53Z

Content type: release

Language: en

Sources: [GitHub Changelog](<https://devfeed.tech/sources/github-changelog.md>)

Topics: [GitHub API](<https://devfeed.tech/topics/github-api.md>), [API](<https://devfeed.tech/topics/api.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [app](<https://devfeed.tech/tags/app.md>), [application](<https://devfeed.tech/tags/application.md>), [applications](<https://devfeed.tech/tags/applications.md>), [client](<https://devfeed.tech/tags/client.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [features](<https://devfeed.tech/tags/features.md>), [github](<https://devfeed.tech/tags/github.md>), [id](<https://devfeed.tech/tags/id.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [ids](<https://devfeed.tech/tags/ids.md>), [installation](<https://devfeed.tech/tags/installation.md>), [name](<https://devfeed.tech/tags/name.md>), [primary](<https://devfeed.tech/tags/primary.md>), [responses](<https://devfeed.tech/tags/responses.md>), [rest](<https://devfeed.tech/tags/rest.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [support](<https://devfeed.tech/tags/support.md>), [unique](<https://devfeed.tech/tags/unique.md>)

### AI overview

GitHub is adding `client_id` to all API responses that describe a GitHub App and gradually shifting App-related APIs to use it as the primary identifier. Unlike an app name, which can change, or a database `app_id`, which is not sufficiently globally unique, the client ID is globally unique. The change builds on support for using client IDs to mint JWTs for installation tokens and prepares for upcoming enterprise features to manage applications programmatically. The added field makes it easier to find an app's client ID.

### Source excerpt

The client_id field is now included in all API responses that describe a GitHub App. We are shifting to use the client ID as the primary identifier for an app,...

## What's in a Name?

DevFeed: [What's in a Name?](<https://devfeed.tech/articles/what-s-in-a-name-23851.md>)

Original publisher: [Read original article](<http://testing.googleblog.com/2024/03/whats-in-name.html>)

Author: Google Testing Bloggers (noreply@blogger.com)

Published: 2024-03-26T12:34:00Z

Content type: tutorial

Language: en

Sources: [Google Testing Blog](<https://devfeed.tech/sources/google-testing-blog.md>)

Topics: [identifier](<https://devfeed.tech/topics/identifier.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [adam-raider](<https://devfeed.tech/tags/adam-raider.md>), [apis](<https://devfeed.tech/tags/apis.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [code-health](<https://devfeed.tech/tags/code-health.md>), [functions](<https://devfeed.tech/tags/functions.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [name](<https://devfeed.tech/tags/name.md>), [reading](<https://devfeed.tech/tags/reading.md>), [tips](<https://devfeed.tech/tags/tips.md>), [tott](<https://devfeed.tech/tags/tott.md>), [unique](<https://devfeed.tech/tags/unique.md>)

### AI overview

The excerpt argues that thoughtful names reduce the effort of reading code, and that renaming becomes more costly as a name becomes more public, especially for APIs. It recommends naming functions for what they do rather than when they are called, using an appropriate level of abstraction (for example, `logout` calling `clearUserToken`), and choosing precise names over vague suffixes such as `Manager` or `Util`. It also suggests taking time to consider names and asking a teammate when stuck.

### Source excerpt

This is another post in our Code Health series. A version of this post originally appeared in Google bathrooms worldwide as a Google Testing on the Toilet episode. You can download a printer-friendly version to display in your office. by Adam Raider "There are only two hard things in computer science: cache invalidation and naming things." --Phil Karlton Have you ever read an identifier only to realize later it doesn't do what you expected? Or had to read the implementation in order to understand an interface? These indirections eat up our cognitive bandwidth and make our work more difficult. We spend far more time reading code than we do writing it; thoughtful names can save the reader (and writer) a lot of time and frustration. Here are some naming tips: Spend time considering names--it's worth it. Don't default to the first name that comes to mind. The more public the name, the more expensive it is to change. Past a certain scale, names become infeasible to change, especially for APIs. Pay attention to a name in proportion to the cost of renaming it later. If you're feeling stuck, consider running a new name by a teammate. Describe behavior. Encourage naming based on what functions do rather than when the functions are called. Avoid prefixes like "handle" or "on" as they describe when and provide no added meaning: button.listen('click', handleClick) button.listen('click', addItemToCart) Reveal intent with a contextually appropriate level of abstraction: High-abstraction functions describe the what and operate on high-level types. Lower-abstraction functions describe the how and operate on lower-level types. For example, logout might call into clearUserToken, and recordWithCamera might call into parseStreamBytes. Prefer unique, precise names. Are you frequently asking for the UserManager? Manager, Util, and similar suffixes are a common but imprecise naming convention. What does it do? It manages! If you're struggling to come up with a more precise name, consider sp

## Actions runs triggered from tags or forks with the same name as a protected branch will now be blocked

DevFeed: [Actions runs triggered from tags or forks with the same name as a protected branch will now be blocked](<https://devfeed.tech/articles/actions-runs-triggered-from-tags-or-forks-with-the-same-name-as-a-protected-branch-will-now-be-blocked-73411.md>)

Original publisher: [Read original article](<https://github.blog/changelog/2023-08-10-actions-runs-triggered-from-tags-or-forks-with-the-same-name-as-a-protected-branch-will-now-be-blocked>)

Author: Kevin Duck

Published: 2023-08-10T19:23:40Z

Content type: release

Language: en

Sources: [GitHub Changelog](<https://devfeed.tech/sources/github-changelog.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [branch protection rules](<https://devfeed.tech/topics/branch-protection-rules.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [actions](<https://devfeed.tech/tags/actions.md>), [blocking](<https://devfeed.tech/tags/blocking.md>), [branch](<https://devfeed.tech/tags/branch.md>), [community](<https://devfeed.tech/tags/community.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [deployment-protection](<https://devfeed.tech/tags/deployment-protection.md>), [deployments](<https://devfeed.tech/tags/deployments.md>), [environments](<https://devfeed.tech/tags/environments.md>), [forks](<https://devfeed.tech/tags/forks.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [guardrails](<https://devfeed.tech/tags/guardrails.md>), [hardening](<https://devfeed.tech/tags/hardening.md>), [learn](<https://devfeed.tech/tags/learn.md>), [name](<https://devfeed.tech/tags/name.md>), [next](<https://devfeed.tech/tags/next.md>), [policies](<https://devfeed.tech/tags/policies.md>), [security](<https://devfeed.tech/tags/security.md>), [tags](<https://devfeed.tech/tags/tags.md>)

### AI overview

GitHub is hardening environment deployment branch policies: runs triggered from forks whose branch names match a protected branch, and tags with the same name as a protected branch, will be blocked from deploying to environments protected by those policies.

### Source excerpt

GitHub environments can be configured with deployment branch policies to allow-list the branches that can deploy to them. We are now security hardening these branch policies further by blocking runs...

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