# standard

A document or rule that specifies requirements, guidelines, characteristics, or procedures for consistent use in products, systems, services, processes, or testing.

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

## The skills CLI now supports Notion hosted skills

DevFeed: [The skills CLI now supports Notion hosted skills](<https://devfeed.tech/articles/the-skills-cli-now-supports-notion-hosted-skills-42112.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/skills-cli-notion-skills>)

Author: Ben Sabic

Published: 2026-09-17T18:00:00Z

Content type: release

Language: en

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

Topics: [Agent Skills](<https://devfeed.tech/topics/agent-skills.md>), [Notion](<https://devfeed.tech/topics/notion.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [API](<https://devfeed.tech/topics/api.md>), [personal access token](<https://devfeed.tech/topics/personal-access-token.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-skills](<https://devfeed.tech/tags/agent-skills.md>), [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [commands](<https://devfeed.tech/tags/commands.md>), [install](<https://devfeed.tech/tags/install.md>), [integration](<https://devfeed.tech/tags/integration.md>), [notion](<https://devfeed.tech/tags/notion.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [personal-access-token](<https://devfeed.tech/tags/personal-access-token.md>), [skills](<https://devfeed.tech/tags/skills.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

The skills CLI now supports Notion-hosted skills as an installation source. Teams can author, review, and update reusable agent skills in Notion, then install selected skill packs or individual skills through the CLI. Authentication uses a Notion personal access token and respects Notion page permissions.

### Source excerpt

skills@1.7.0 adds Notion skills databases as an install source for agent skills . Notion skills are reusable agent skills written as Notion pages. Teams author, review, and update them in the workspace they already use, then install them into any agent the skills CLI supports. No Git repository required. To browse your Notion workspace's skills, run: The CLI lists the skill packs shared with you and installs every skill in the packs you select. To install a single skill, pass its Notion page URL: Both commands use the Notion CLI (ntn) to authenticate. To set it up: ntn login requires a Notion personal access token, so your workspace must allow them. Access follows Notion's page permissions. You only see skills shared with you, so controlling who can install a skill is the same as controlling who can view the page. This integration is built on Notion's new Agent Skills API, which exposes skills stored in Notion as standard Agent Skills folders. Because the format is standard, the same skills work in any agent that reads them. Get started by creating a Notion skill. Read more

## Winner: Identifying a Bandgap Voltage Reference Circuit in a Chip Micrograph

DevFeed: [Winner: Identifying a Bandgap Voltage Reference Circuit in a Chip Micrograph](<https://devfeed.tech/articles/winner-name-that-ware-july-2026-36620.md>)

Original publisher: [Read original article](<https://www.bunniestudios.com/blog/2026/winner-name-that-ware-july-2026/>)

Author: bunnie

Published: 2026-08-30T06:27:57Z

Content type: article

Language: en

Sources: [bunnie's blog](<https://devfeed.tech/sources/bunnie-s-blog.md>)

Topics: [circuit](<https://devfeed.tech/topics/circuit.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [baochip](<https://devfeed.tech/tags/baochip.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [name-that-ware](<https://devfeed.tech/tags/name-that-ware.md>), [process](<https://devfeed.tech/tags/process.md>)

### AI overview

The article identifies the featured chip structure as a bandgap voltage reference built around paired NPN transistors. It explains how the circuit maintains a near-constant voltage and why dummy transistors surround the active devices.

### Source excerpt

The structure in question for last month's ware are a pair of NPN transistors that form the core of a bandgap voltage reference circuit. As its name implies, a bandgap voltage reference generates a near-constant voltage for use inside chips. The voltage is intended to be fairly constant over process variations, temperature variations, and power [...]

## TBM 435: 20 Unfiltered Operating Takes

DevFeed: [TBM 435: 20 Unfiltered Operating Takes](<https://devfeed.tech/articles/tbm-435-20-unfiltered-operating-takes-40061.md>)

Original publisher: [Read original article](<https://cutlefish.substack.com/p/tbm-435-20-unfiltered-operating-takes>)

Author: John Cutler

Published: 2026-08-08T00:31:35Z

Content type: opinion

Language: en

Sources: [The Beautiful Mess](<https://devfeed.tech/sources/the-beautiful-mess.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [standard](<https://devfeed.tech/topics/standard.md>), [Exception handling](<https://devfeed.tech/topics/exception-handling.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [implement](<https://devfeed.tech/tags/implement.md>), [simplify](<https://devfeed.tech/tags/simplify.md>), [strategy](<https://devfeed.tech/tags/strategy.md>)

### AI overview

An opinionated set of operating advice argues that the North Star Framework is more useful as a teaching tool than as a rigid organizational practice. The article also cautions that vision-to-tactics pyramids can distract teams by turning labels and abstractions into substitutes for understanding real work.

### Source excerpt

I had a friend reach out recently for advice. I started writing...

## RFC 10005: BGP Community for link capacity

DevFeed: [RFC 10005: BGP Community for link capacity](<https://devfeed.tech/articles/rfc-10005-bgp-community-for-link-capacity-40166.md>)

Original publisher: [Read original article](<https://blog.j2sw.com/netops/rfc-10005-bgp-link-bandwidth/>)

Author: j2sw

Published: 2026-07-01T13:31:00Z

Content type: article

Language: en

Sources: [Justin Wilson (j2sw)](<https://devfeed.tech/sources/justin-wilson-j2sw.md>)

Topics: [BGP](<https://devfeed.tech/topics/bgp.md>), [standard](<https://devfeed.tech/topics/standard.md>), [Load Balancing](<https://devfeed.tech/topics/load-balancing.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [bgp](<https://devfeed.tech/tags/bgp.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [internet](<https://devfeed.tech/tags/internet.md>), [load-balancing](<https://devfeed.tech/tags/load-balancing.md>), [network](<https://devfeed.tech/tags/network.md>), [network-operations](<https://devfeed.tech/tags/network-operations.md>), [rfc](<https://devfeed.tech/tags/rfc.md>), [rfc-10005](<https://devfeed.tech/tags/rfc-10005.md>), [route](<https://devfeed.tech/tags/route.md>), [routers](<https://devfeed.tech/tags/routers.md>), [routing](<https://devfeed.tech/tags/routing.md>), [standard](<https://devfeed.tech/tags/standard.md>), [traffic](<https://devfeed.tech/tags/traffic.md>)

### AI overview

RFC 10005 defines a BGP extended community for carrying link bandwidth information in routes. When multiple BGP paths are eligible, routers can use the value to weight traffic according to link capacity, while normal best-path policy still determines route eligibility. The RFC is currently a draft.

### Source excerpt

RFC 10005 defines a BGP extended community that lets a router attach link bandwidth information to a route. Another router can use that value when it spreads traffic across multiple BGP paths. RFC 10005 matters because links are not always of the same capacity. This RFC provides routers with a standard way to carry bandwidth ... Read more The post RFC 10005: BGP Community for link capacity appeared first on Justin Wilson (j2sw).

## Obfuscated Rhythm Games

DevFeed: [Obfuscated Rhythm Games](<https://devfeed.tech/articles/obfuscated-rhythm-games-38399.md>)

Original publisher: [Read original article](<https://blog.danlew.net/2026/06/23/obfuscated-rhythm-games/>)

Author: Dan Lew

Published: 2026-06-23T14:17:46Z

Content type: opinion

Language: en

Sources: [Dan Lew Blog](<https://devfeed.tech/sources/dan-lew-blog.md>)

Topics: [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [game](<https://devfeed.tech/tags/game.md>), [games](<https://devfeed.tech/tags/games.md>), [music](<https://devfeed.tech/tags/music.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

The article examines three rhythm games released in 2025 that intentionally obscure which buttons players should press and when. It discusses how Rift of the Necrodancer, Rhythm Doctor, and Unbeatable derive much of their challenge from less legible note charts and altered visual or auditory cues.

### Source excerpt

I've been a rhythm game fiend since my introduction to Dance Dance Revolution in the early 2000s. I spent years obsessed with DDR, took a detour into Beatmania, then played Guitar Hero / Rock Band nonstop for years. I haven't gone deep on any rhythm games recently,

## Unsigned char std::basic\_string\<\> in C++

DevFeed: [Unsigned char std::basic\_string\<\> in C++](<https://devfeed.tech/articles/unsigned-char-std-basic-string-in-c-36572.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/unsigned-char-std-string-cpp/>)

Published: 2026-01-03T22:00:02Z

Content type: tutorial

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [standard](<https://devfeed.tech/topics/standard.md>), [LLVM](<https://devfeed.tech/topics/llvm.md>), [clang](<https://devfeed.tech/topics/clang.md>), [gcc](<https://devfeed.tech/topics/gcc.md>)

Tags: [bits](<https://devfeed.tech/tags/bits.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [clang](<https://devfeed.tech/tags/clang.md>), [concatenation](<https://devfeed.tech/tags/concatenation.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [freebsd](<https://devfeed.tech/tags/freebsd.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [openbsd](<https://devfeed.tech/tags/openbsd.md>), [standard](<https://devfeed.tech/tags/standard.md>), [string](<https://devfeed.tech/tags/string.md>)

### AI overview

A C++ post explains why code using std::basic_string<uint8_t> can fail on FreeBSD and OpenBSD. The issue involves std::char_traits: LLVM 19 removed its unconstrained base template because the C++ Standard does not require it for unsigned-character types. Code may need string concatenation and related operations replaced or a correct custom specialization provided.

### Source excerpt

Brief post on a somewhat vexing and irritating C++ problem I ran into some time ago. I hope that this page will help other people deal with this problem more quickly than I did. I've long used std::basic_string<uint8_t>, an unsigned char string, for fiddling with bits. You could use a regular char string, but especially when doing cryptographic or sub-byte operations, it is more convenient to not have to deal with sign bits.

## Reflecting on Threats: The Frame

DevFeed: [Reflecting on Threats: The Frame](<https://devfeed.tech/articles/reflecting-on-threats-the-frame-36953.md>)

Original publisher: [Read original article](<https://shostack.org/blog/reflecting-on-threats-the-frame/>)

Author: Adam

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

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [standard](<https://devfeed.tech/topics/standard.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [spoofing](<https://devfeed.tech/topics/spoofing.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [YAML](<https://devfeed.tech/topics/yaml.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [password](<https://devfeed.tech/tags/password.md>), [spoofing](<https://devfeed.tech/tags/spoofing.md>), [standard](<https://devfeed.tech/tags/standard.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

The author reflects on how the framing and subtitle of the Threats book shaped its content. The article discusses the value of shared engineering terminology and argues that common understandings, standards, and available tools can support more consistent threat assessment and evaluation of software flaws.

### Source excerpt

Reflecting on the framing of the Threats book

## How SerenityOS declares ssize\_t

DevFeed: [How SerenityOS declares ssize\_t](<https://devfeed.tech/articles/how-serenityos-declares-ssize-t-38356.md>)

Original publisher: [Read original article](<https://awesomekling.github.io/How-SerenityOS-declares-ssize_t/>)

Author: Andreas Kling

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

Content type: opinion

Language: en

Sources: [Andreas Kling](<https://devfeed.tech/sources/andreas-kling.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [compilers](<https://devfeed.tech/topics/compilers.md>), [standard](<https://devfeed.tech/topics/standard.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [cpp](<https://devfeed.tech/tags/cpp.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [posix](<https://devfeed.tech/tags/posix.md>), [serenityos](<https://devfeed.tech/tags/serenityos.md>), [standard](<https://devfeed.tech/tags/standard.md>), [technical](<https://devfeed.tech/tags/technical.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

This article explains how SerenityOS declares ssize_t using a C preprocessor macro technique. It contrasts the approach with more architecture-specific declarations commonly used by other C libraries and notes the limitations of the hack.

### Source excerpt

This post explores one of my favorite hacks in SerenityOS. I don't recommend doing this in your codebase, but it has worked for us so far. :^)

## A very small Rust binary indeed

DevFeed: [A very small Rust binary indeed](<https://devfeed.tech/articles/a-very-small-rust-binary-indeed-35370.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/a-very-small-rust-binary-indeed/>)

Author: Graham King

Published: 2022-07-01T16:00:32Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [x86](<https://devfeed.tech/topics/x86.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [linux](<https://devfeed.tech/tags/linux.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [rust](<https://devfeed.tech/tags/rust.md>), [software](<https://devfeed.tech/tags/software.md>), [standard](<https://devfeed.tech/tags/standard.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

A tutorial explores how to reduce the size of an x86_64 Linux Rust binary, starting from 3.6 MiB and applying techniques such as stripping symbols, adjusting panic handling, link-time optimization, and rebuilding the standard library. It compares the result with a pure assembly program and explains relevant Linux program-loading and Rust runtime behavior.

### Source excerpt

Can we make a Rust program that's as small as it's assembler equivalent?

## NIST Brings Threat Modeling into the Spotlight

DevFeed: [NIST Brings Threat Modeling into the Spotlight](<https://devfeed.tech/articles/nist-brings-threat-modeling-into-the-spotlight-36902.md>)

Original publisher: [Read original article](<https://shostack.org/blog/nist-brings-threat-modeling-into-the-spotlight/>)

Author: Adam

Published: 2021-09-23T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [standard](<https://devfeed.tech/topics/standard.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [nist](<https://devfeed.tech/tags/nist.md>), [post](<https://devfeed.tech/tags/post.md>), [spotlight](<https://devfeed.tech/tags/spotlight.md>), [standard](<https://devfeed.tech/tags/standard.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

This post announces a Dark Reading article about NIST and threat modeling. It mentions NIST releasing a minimum standard for vendor or developer verification of code in July.

### Source excerpt

New at Darkreading, a post on NIST and threat modeling

## Threat Model Thursday: NIST's Code Verification Standard

DevFeed: [Threat Model Thursday: NIST's Code Verification Standard](<https://devfeed.tech/articles/threat-model-thursday-nist-s-code-verification-standard-37067.md>)

Original publisher: [Read original article](<https://shostack.org/blog/tmt-NIST-code-verification-standard/>)

Author: Adam

Published: 2021-07-15T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

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

Tags: [code](<https://devfeed.tech/tags/code.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [fuzzing](<https://devfeed.tech/tags/fuzzing.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [nist](<https://devfeed.tech/tags/nist.md>), [software](<https://devfeed.tech/tags/software.md>), [standard](<https://devfeed.tech/tags/standard.md>), [testing](<https://devfeed.tech/tags/testing.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The article examines NIST's Recommended Minimum Standard for Vendor or Developer Verification of Code, including its technical requirements and emphasis on threat modeling. It highlights the standard's coverage of automated testing, static and dynamic analysis, included software, and bug fixing, while arguing that developers should prepare for the new requirements.

### Source excerpt

Earlier this week, NIST released a Recommended Minimum Standard for Vendor or Developer Verification of Code. I want to talk about the technical standard overall, the threat modeling component, and the what the standard means now and in the future.

## Medical Device Security Standards

DevFeed: [Medical Device Security Standards](<https://devfeed.tech/articles/medical-device-security-standards-36882.md>)

Original publisher: [Read original article](<https://shostack.org/blog/medical-device-security-standards/>)

Author: Adam

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

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [checksums](<https://devfeed.tech/tags/checksums.md>), [connectivity](<https://devfeed.tech/tags/connectivity.md>), [cost](<https://devfeed.tech/tags/cost.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [digital-signature](<https://devfeed.tech/tags/digital-signature.md>), [disclosure](<https://devfeed.tech/tags/disclosure.md>), [funding](<https://devfeed.tech/tags/funding.md>), [medical-devices](<https://devfeed.tech/tags/medical-devices.md>), [network](<https://devfeed.tech/tags/network.md>), [pii](<https://devfeed.tech/tags/pii.md>), [security](<https://devfeed.tech/tags/security.md>), [standards](<https://devfeed.tech/tags/standards.md>)

### AI overview

This commentary compares four cybersecurity approaches for medical devices: a comprehensive process-centered framework, MITA's factual material data sheet, disclosure of device behavior and cybersecurity properties, and funded threat-modeling work. It notes that differing national requirements can increase costs and create conflicting demands.

### Source excerpt

Recently, I've seen four cybersecurity approaches for medical devices, and we can learn by juxtaposing them.

## Comparison of OWASP ASVS v3 and v4 Password Requirements

DevFeed: [Comparison of OWASP ASVS v3 and v4 Password Requirements](<https://devfeed.tech/articles/passwords-advice-36928.md>)

Original publisher: [Read original article](<https://shostack.org/blog/passwords-advice/>)

Author: adam

Published: 2019-06-26T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [Requirements](<https://devfeed.tech/topics/requirements.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [cost](<https://devfeed.tech/tags/cost.md>), [errors](<https://devfeed.tech/tags/errors.md>), [password](<https://devfeed.tech/tags/password.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [standard](<https://devfeed.tech/tags/standard.md>), [standards](<https://devfeed.tech/tags/standards.md>), [useful](<https://devfeed.tech/tags/useful.md>)

### AI overview

The article highlights Bruce Marshall's comparison of password requirements in OWASP ASVS versions 3 and 4. It argues that standards bodies should provide clear difference documents when updating or building on standards, because this reduces user analysis, errors, cost, and wasted effort.

### Source excerpt

Bruse Marshall has put together a useful comparison of password requirements from OWASP ASVS v3 and v4.

## Threat Modeling as Code

DevFeed: [Threat Modeling as Code](<https://devfeed.tech/articles/threat-modeling-as-code-37029.md>)

Original publisher: [Read original article](<https://shostack.org/blog/threat-modeling-as-code/>)

Author: Adam

Published: 2019-01-23T00:00:00Z

Content type: opinion

Language: en

Sources: [Shostack & Friends Blog](<https://devfeed.tech/sources/shostack-friends-blog.md>)

Topics: [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>), [Code](<https://devfeed.tech/topics/code.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [delivery](<https://devfeed.tech/tags/delivery.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [practices](<https://devfeed.tech/tags/practices.md>), [productivity](<https://devfeed.tech/tags/productivity.md>)

### AI overview

This commentary explores representing threat models as code and aligning threat modeling with established engineering practices. It argues that converting threat-modeling analysis into code and selecting suitable code representations can increase delivery consistency and productivity, while requiring upfront effort.

### Source excerpt

Exploring threat models as code.

## Writing more legible SQL

DevFeed: [Writing more legible SQL](<https://devfeed.tech/articles/writing-more-legible-sql-41186.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2016/01/08/Writing-more-legible-SQL/>)

Author: Map

Published: 2016-01-08T20:55:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [formatting](<https://devfeed.tech/topics/formatting.md>), [Code](<https://devfeed.tech/topics/code.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

The article recommends formatting SQL for readability and maintainability. Its suggestions include putting one column, table, or join per line; aligning projections and conditions; using explicit column names in grouping and ordering; commenting queries; adopting consistent keyword casing; and using CTEs to make complex queries easier to reason about.

### Source excerpt

A number of times in a crowd I've asked how many people enjoy writing SQL, and often there's a person or two. The follow up is how many people enjoy reading other people's SQL and that's unanimously 0. The reason for this is that so many people write bad SQL. It's not that it doesn't do the job, it's just that people don't tend to treat SQL the same as other languages and don't follow strong code formatting guidelines. So, of course here's some of my own recommendations on how to make SQL more readable. One thing per line Only put a single column/table/join per line. This is going to make for slightly more verbose SQL, but it will be easier to read and edit.. Here's a basic example: SELECT foo, bar FROM baz Align your projections and conditions You can somewhat see this in the above with foo and bar being on the same line. This is reasonably common for columns you're selecting, but it's not applied as often in AND or GROUP BY clauses. As you can see there is a difference though between: SELECT foo, bar FROM baz WHERE foo > 3 AND bar = 'craig.kerstiens@gmail.com' And a cleaner version: SELECT foo, bar FROM baz WHERE foo > 3 AND bar = 'craig.kerstiens@gmail.com' Use column names when grouping/ordering This is personally an awful habit of mine, but it is extremely convenient to just order by the column number. In the above query we could just ORDER BY 1. This is especially easy when column 1 may be something like SUM(foo). However, ensuring you explicitly ORDER BY SUM(foo) will help limit any misunderstanding of the data. Comments You comment your code all the time, yet so few seem to comment their queries. A simple -- allows you to inline a comment, perhaps where there's some oddities to what you're joining or just anywhere it may need clarification. You can of course go much further, but at least some basic level of commenting should be required. Casing As highlighted in these examples, having a standard for how you case your queries is especially handy. Sticking wit

## How the Linux Kernel's container\_of() Macro Works

DevFeed: [How the Linux Kernel's container\_of() Macro Works](<https://devfeed.tech/articles/the-magical-container-of-macro-40712.md>)

Original publisher: [Read original article](<https://radek.io/posts/magical-container_of-macro/>)

Published: 2012-11-10T00:00:00Z

Content type: article

Language: en

Sources: [Radek Pazdera](<https://devfeed.tech/sources/radek-pazdera.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [container](<https://devfeed.tech/topics/container.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [container](<https://devfeed.tech/tags/container.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [library](<https://devfeed.tech/tags/library.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [standard](<https://devfeed.tech/tags/standard.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [value](<https://devfeed.tech/tags/value.md>)

### AI overview

This tutorial explains how the Linux Kernel's container_of() macro derives a pointer to a containing structure from a pointer to one of its members. It describes GNU C extensions, including braced groups within expressions and typeof(), and explains the zero-pointer dereference and member-offset techniques used in the implementation.

### Source excerpt

Probably the most confusing piece of C code I've encountered

## Static and extern keywords in C

DevFeed: [Static and extern keywords in C](<https://devfeed.tech/articles/static-and-extern-keywords-in-c-40742.md>)

Original publisher: [Read original article](<https://radek.io/posts/static-and-extern-keywords-in-c/>)

Published: 2011-09-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Radek Pazdera](<https://devfeed.tech/sources/radek-pazdera.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [standard](<https://devfeed.tech/topics/standard.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [external](<https://devfeed.tech/tags/external.md>), [function](<https://devfeed.tech/tags/function.md>), [local-variables](<https://devfeed.tech/tags/local-variables.md>), [memory](<https://devfeed.tech/tags/memory.md>), [runtime](<https://devfeed.tech/tags/runtime.md>), [scope](<https://devfeed.tech/tags/scope.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

A tutorial explaining how the static and extern keywords in C affect linkage, storage duration, memory allocation, and visibility across scopes and compilation units. It also describes external, internal, and no linkage, along with static and automatic storage duration.

### Source excerpt

What does the C standard actually say about these?

## Tiling a Chessboard

DevFeed: [Tiling a Chessboard](<https://devfeed.tech/articles/tiling-a-chessboard-40213.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/06/26/tiling-a-chessboard/>)

Published: 2011-06-26T20:24:09Z

Content type: tutorial

Language: en

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

Topics: [color](<https://devfeed.tech/topics/color.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [chessboard](<https://devfeed.tech/tags/chessboard.md>), [color](<https://devfeed.tech/tags/color.md>), [dominoes](<https://devfeed.tech/tags/dominoes.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [standard](<https://devfeed.tech/tags/standard.md>), [tiling](<https://devfeed.tech/tags/tiling.md>)

### AI overview

The article uses coloring arguments to show that certain chessboard and grid regions cannot be tiled with dominoes. It first analyzes 2-by-1 dominoes on a chessboard with two opposite corners removed, then applies a specially chosen coloring to a 3-by-1 domino problem and generalizes the proof method.

### Source excerpt

Problem: Take a chessboard and cut off two opposite corners. Is it possible to completely tile the remaining board with 2-by-1 dominoes? Solution: Notice that every domino covers exactly one white tile and one black tile. Counting up the colors, we have 32 white and 30 black. Hence, any tiling by 2-by-1 dominoes will leave two extra white squares unaccounted for. So no such tiling is possible. Problem: Cut one corner off a chessboard.

## Valuing Employees

DevFeed: [Valuing Employees](<https://devfeed.tech/articles/valuing-employees-41081.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2010/02/27/Valuing-Employees/>)

Author: Map

Published: 2010-02-28T01:10:23Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Job](<https://devfeed.tech/topics/job.md>), [standard](<https://devfeed.tech/topics/standard.md>)

Tags: [business](<https://devfeed.tech/tags/business.md>), [employees](<https://devfeed.tech/tags/employees.md>), [joel-spolsky](<https://devfeed.tech/tags/joel-spolsky.md>)

### AI overview

The article argues that employee compensation should reflect the value people deliver and that retention depends on more than pay. Employees who are no longer challenged should seek new challenges within their role or move elsewhere.

### Source excerpt

A coworker and I were recently having conversations over employee compensation. We covered the gambit around employee feedback, evals, and compensation. He mentioned Joel Spolsky, and his format of being very open about where individuals were ranked. He also pointed me to: http://alumnit.ca/~apenwarr/log/?m=200904#05 which provided good insight, though I most like his final point. The end goal with evaluating your employees and compensation for them is to make sure they're happy. Sure the business should make sure they feel like you're worth what you're being paid, but usually there is no question about this, or if there is you're quickly escorted out the door. While this is an interesting model, I think it can be much simpler, but companies usually confine themselves too much in giving credit to employees. There was another recent occasion where a statement was made of 'no more playing stick them up, until next year'. When I first thought about this, I knew I didn't like the statement, but was unsure of why. The reason is that there can be several reasons why employees leave. Only one of which is compensation. If you feel you're being adequately compensated for the job you're doing it makes sense. But there's another reason thats very clear in the valley but less clear in other parts of the country. Paul Buchheit at Startup School this weekend in Berkeley said it very well: If you've been at your job too long, QUIT. Meaning if you're comfortable, you know the people, you know how to do your job, and you're not being challenged, then you should go somewhere where you are challenged. So what does this have to do in regards to playing stick em up? Well if you're at a comfortable place you should be compensate appropriately that's fair. However if you're at a comfortable place, you should either find ways to be challenged there or move on. If you're challenged there it means your role over time will change, there's not a standard guide for how quickly you become experi