# padding

Published articles for padding.

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

## A Tight Hierarchy for Chain of Thought

DevFeed: [A Tight Hierarchy for Chain of Thought](<https://devfeed.tech/articles/a-tight-hierarchy-for-chain-of-thought-123452.md>)

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

Author: Thanh Le, A. Pavan, N. V. Vinodchandran

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

Content type: article

Language: en

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

Topics: [Chain-of-thought](<https://devfeed.tech/topics/chain-of-thought.md>), [computational complexity](<https://devfeed.tech/topics/computational-complexity.md>)

Tags: [chain-of-thought](<https://devfeed.tech/tags/chain-of-thought.md>), [complexity-theory](<https://devfeed.tech/tags/complexity-theory.md>), [cs-cc](<https://devfeed.tech/tags/cs-cc.md>), [cs-lg](<https://devfeed.tech/tags/cs-lg.md>), [hierarchy](<https://devfeed.tech/tags/hierarchy.md>), [padding](<https://devfeed.tech/tags/padding.md>), [transformers](<https://devfeed.tech/tags/transformers.md>), [turing-machines](<https://devfeed.tech/tags/turing-machines.md>)

### AI overview

The paper proves a strict hierarchy for chain-of-thought computation: for any reasonable resource bound r(n) >= n and ε > 0, transformers using O(r(n)^(1+ε)) reasoning steps can solve decision problems beyond those solvable with O(r(n)) steps. To establish this result, the authors use known simulations between CoT-augmented transformers and Turing machines in both directions, then adapt the classical padding technique. They identify implementing padding within the transformer CoT model as a key technical contribution.

### Source excerpt

arXiv:2611.09759v1 Announce Type: new Abstract: Chain-of-thought (CoT) reasoning has emerged as a powerful paradigm for extending the computational capabilities of transformer-based models. A growing body of recent work has begun to uncover the fine-grained computational power of transformers augmented with CoT, as well as their connections to classical complexity theory. In this work, we advance this line of research by establishing the first hierarchy theorem for CoT-based computation. Our main result shows that for any reasonable resource bound $r(n) \geq n$ and any $\varepsilon > 0$, \[ \mathrm{CoT}(r(n)) \subsetneq \mathrm{CoT}(r(n)^{1+\varepsilon}), \] where $\mathrm{CoT}(r(n))$ denotes the class of decision problems solvable by transformers using $O(r(n))$ CoT reasoning steps on inputs of length $n$. Our result shows that increasing the number of CoT reasoning steps provably yields strictly greater computational power, establishing CoT steps as a fundamental resource in transformer-based computation. Unlike classical hierarchy theorems, which are typically proved via diagonalization, our approach leverages known coarse-grained simulations between CoT-augmented transformers and Turing machines in both directions. Building on these connections, we adapt the classical padding technique from complexity theory to this setting to obtain a tight hierarchy. A key technical contribution of our work is the implementation of padding within the transformer-based CoT model.

## Practical Preimages for 19- and 20-Step SHA-256 with Standard Padding

DevFeed: [Practical Preimages for 19- and 20-Step SHA-256 with Standard Padding](<https://devfeed.tech/articles/practical-preimages-for-19-and-20-step-sha-256-with-standard-padding-114025.md>)

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

Author: Sebastian R. Wain

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

Content type: article

Language: en

Sources: [arXiv: Cryptography and Security](<https://devfeed.tech/sources/arxiv-cryptography-and-security.md>)

Topics: [sha256](<https://devfeed.tech/topics/sha256.md>), [computational complexity](<https://devfeed.tech/topics/computational-complexity.md>)

Tags: [computer-science](<https://devfeed.tech/tags/computer-science.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [cs-cr](<https://devfeed.tech/tags/cs-cr.md>), [padding](<https://devfeed.tech/tags/padding.md>), [practical](<https://devfeed.tech/tags/practical.md>), [security](<https://devfeed.tech/tags/security.md>), [sha-256](<https://devfeed.tech/tags/sha-256.md>), [standard](<https://devfeed.tech/tags/standard.md>)

### AI overview

The paper reports practical preimage attacks on 19- and 20-step SHA-256 that use the standard IV, Davies-Meyer feed-forward, and full FIPS 180-4 padding for arbitrary 256-bit targets. Its techniques include constant-time inversion of a padding byte while retaining state variables for context shaping, bit-slice equivalence pruning that removes 99.74% of candidate nodes across seven stages, and a closed-form upper-half inverse with lookup tables. A single CPU core solves 19-step targets in 1.2-86.4 seconds (median 19.5 seconds), after an 18-second table build. The 20-step padded attack costs 2^46.6 CPU-reference evaluations, reported as 191 node-hours on a 10-core Apple M4 node or 9.0-22.2 GPU-hours on an NVIDIA L4. The authors also report an unpadded 20-step compression-function bridge costing 2^38.1 evaluations and 46 self-verifying witnesses. The attacks cover only 19-20 of SHA-256's 64 steps and do not threaten full SHA-256.

### Source excerpt

arXiv:2611.00512v1 Announce Type: new Abstract: We present practical preimage attacks on 19- and 20-step SHA-256 that respect the standard IV, Davies-Meyer feed-forward, and full FIPS 180-4 padding, for arbitrary prescribed 256-bit targets. Building on Basra's algebraic selector saturation and backward padding absorption, we introduce three techniques: an exact $O(1)$ inversion of the low padding byte $(W_{13} \bmod 256) = \mathtt{0x80}$ that leaves $(a_5, a_6)$ free for exact context shaping; a causal bit-slice equivalence theorem that prunes $99.74\%$ of right-hand candidate nodes across seven stages; and a closed-form $\mathbf{F}_2$ upper-half inverse paired with compact $Q_0^{-1}$ lookup tables. One CPU core solves arbitrary 19-step padded targets in $1.2$--$86.4$ s (median $19.5$ s) after an $18$ s table build. A 20-step padded preimage costs $2^{46.6}$ CPU-reference evaluations: $191$ node-hours on one 10-core Apple M4 CPU node (16 threads), or $9.0$--$22.2$ GPU-hours on one NVIDIA L4. A companion Zero-$a_3$ bridge inverts the unpadded 20-step compression function in $2^{38.1}$ evaluations. We provide 46 self-verifying witnesses, including 55-byte preimages of SHA-256("abc") and $0^{256}$. These attacks cover 19--20 of 64 steps and do not threaten full SHA-256.

## Blindfold: Keeping the Audit Coin Secret from LLM Agents

DevFeed: [Blindfold: Keeping the Audit Coin Secret from LLM Agents](<https://devfeed.tech/articles/blindfold-keeping-the-audit-coin-secret-from-llm-agents-103225.md>)

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

Author: Wei Zhu, Meiyun Zuo, Huiping Sun

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

Content type: article

Language: en

Sources: [arXiv: Artificial Intelligence](<https://devfeed.tech/sources/arxiv-artificial-intelligence.md>), [arXiv: Cryptography and Security](<https://devfeed.tech/sources/arxiv-cryptography-and-security.md>), [arXiv: Machine Learning](<https://devfeed.tech/sources/arxiv-machine-learning.md>)

Topics: [LLM security](<https://devfeed.tech/topics/llm-security.md>), [ai security](<https://devfeed.tech/topics/ai-security.md>), [audit](<https://devfeed.tech/topics/audit.md>)

Tags: [actions](<https://devfeed.tech/tags/actions.md>), [adaptive](<https://devfeed.tech/tags/adaptive.md>), [agent](<https://devfeed.tech/tags/agent.md>), [agents](<https://devfeed.tech/tags/agents.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [audit](<https://devfeed.tech/tags/audit.md>), [auditing](<https://devfeed.tech/tags/auditing.md>), [bias](<https://devfeed.tech/tags/bias.md>), [certificate](<https://devfeed.tech/tags/certificate.md>), [certification](<https://devfeed.tech/tags/certification.md>), [channel](<https://devfeed.tech/tags/channel.md>), [coin](<https://devfeed.tech/tags/coin.md>), [commits](<https://devfeed.tech/tags/commits.md>), [cs-ai](<https://devfeed.tech/tags/cs-ai.md>), [cs-cr](<https://devfeed.tech/tags/cs-cr.md>), [cs-lg](<https://devfeed.tech/tags/cs-lg.md>), [defender](<https://devfeed.tech/tags/defender.md>), [latency](<https://devfeed.tech/tags/latency.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llm-agents](<https://devfeed.tech/tags/llm-agents.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [padding](<https://devfeed.tech/tags/padding.md>), [secret](<https://devfeed.tech/tags/secret.md>)

### AI overview

Audit-based certification can fail against adaptive LLM agents when the audit coin affects what they observe before committing an action. The paper calls the required confidentiality condition pre-commit noninterference (PNI), quantifies leakage as the total-variation distance between agent views under the two coin values, and derives worst-case certificate bias of (1−ε)D_A. In the reported experiments, tool timestamps exposed latency from otherwise silent audits, and an agent followed an injection naming a visible audit notice; the plain certificate then failed on measured labels and in a post-hoc analysis of a live run on a pre-registered schedule. Silent audits restored validity in those settings. A fresh coin per audited call closed the timing channel, while padding only narrowed it; increasing the audit rate did not restore validity.

### Source excerpt

arXiv:2610.37055v1 Announce Type: cross Abstract: Audit-based certification bounds the violation rate of an LLM agent by auditing a random fraction $\varepsilon$ of actions and reweighting the audited labels; its validity is meant to rest only on the defender's audit coin. We show that it also rests on a confidentiality property: the coin must not interfere with the agent's view before the action commits, at a time the agent chooses. We call this pre-commit noninterference (PNI) and measure its violation by $D_{\mathrm{A}}$, the total-variation distance between the agent's views under the two coin values. PNI is necessary and sufficient for an unbiased certificate against adaptive agents, the worst-case bias is $(1-\varepsilon)D_{\mathrm{A}}$, and no procedure that sees only audited labels can pay less. Leakage composes across steps, a resource shared across episodes opens a channel of computable size, and raising the audit rate cannot restore validity. On a monitor we built, a silent audit changes no output but adds latency that tool timestamps expose, and the agent can enlarge it. A real LLM agent follows an injection that names a visible audit notice (generic, tool, and timing clauses have no effect); over that channel the plain certificate fails on measured labels and, by a post-hoc analysis, in a live run on a pre-registered schedule, while a silent audit restores it. A fresh coin per audited call closes the timing channel; padding only narrows it.

## Ranking Is Not Deciding: Benchmark Shortcuts and Operating-Point Collapse in Query-Time RAG Poisoning Defenses

DevFeed: [Ranking Is Not Deciding: Benchmark Shortcuts and Operating-Point Collapse in Query-Time RAG Poisoning Defenses](<https://devfeed.tech/articles/ranking-is-not-deciding-benchmark-shortcuts-and-operating-point-collapse-in-query-time-rag-poisoning-defenses-101412.md>)

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

Author: Pushkal Kumar, Arvin Sahaym

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

Content type: article

Language: en

Sources: [arXiv: Cryptography and Security](<https://devfeed.tech/sources/arxiv-cryptography-and-security.md>)

Topics: [information retrieval](<https://devfeed.tech/topics/information-retrieval.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [attack](<https://devfeed.tech/tags/attack.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [code](<https://devfeed.tech/tags/code.md>), [content](<https://devfeed.tech/tags/content.md>), [cs-cl](<https://devfeed.tech/tags/cs-cl.md>), [cs-cr](<https://devfeed.tech/tags/cs-cr.md>), [cs-lg](<https://devfeed.tech/tags/cs-lg.md>), [cue](<https://devfeed.tech/tags/cue.md>), [defense](<https://devfeed.tech/tags/defense.md>), [detection](<https://devfeed.tech/tags/detection.md>), [domain](<https://devfeed.tech/tags/domain.md>), [evaluations](<https://devfeed.tech/tags/evaluations.md>), [false-positive](<https://devfeed.tech/tags/false-positive.md>), [false-positive-rate](<https://devfeed.tech/tags/false-positive-rate.md>), [filter](<https://devfeed.tech/tags/filter.md>), [medical](<https://devfeed.tech/tags/medical.md>), [overlap](<https://devfeed.tech/tags/overlap.md>), [padding](<https://devfeed.tech/tags/padding.md>), [rag](<https://devfeed.tech/tags/rag.md>), [rag-poisoning](<https://devfeed.tech/tags/rag-poisoning.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>)

### AI overview

The study finds that query-time RAG poisoning defenses can rank poisoned passages well yet fail at their deployed decision threshold when benchmark construction cues are removed. It profiles those cues using poison-to-clean-corpus statistics: verbatim target-question containment and length overlap. Removing the target-question prefix from PoisonedRAG passages lowers RAGuard's AUROC from 0.953 to 0.758 and raises its miss rate from 0.191 to 0.763, even though 0.93 of passages remain retrieved for the target. Padding medical poison to clean length with word-shuffled filler raises TrustRAG's set-level miss rate from 0.000 to 0.827; a learned scorer's rises to 0.986, or 0.321 at a matched 5% false-positive rate, while AUROC remains 0.953. The authors say a defense-aware attacker defeats their scorer and claim no defense. They argue detection results should report poison-set construction profiles and false-positive rates at deployed thresholds.

### Source excerpt

arXiv:2610.33849v1 Announce Type: new Abstract: Query-time filters that screen each retrieved document before it reaches the generator are the dominant published defense against retrieval-augmented generation poisoning, and they report near-perfect detection on domain benchmarks. We show that this performance is predicted by how the poison set was built rather than by what the filter reads: removing a single construction cue destroys the deployed decision before it destroys the ranking. Two label-free statistics of a poison set and its clean corpus profile the cue: containment, how often the target question appears verbatim in the poison, and length overlap. PoisonedRAG's released code prepends the target question to every inserted passage. Of the 21 published defense evaluations we survey, 8 verifiably run poison built this way and 5 substitute a length cue; separately, 12 report no false-positive rate at the operating point they deploy. Deleting only that prefix from the attack authors' own passages (0.93 still retrieved for their target) takes RAGuard, a published content filter we re-implement, from AUROC 0.953 to 0.758 and its miss rate from 0.191 to 0.763. Across four corpora, four attack families and ten per-document defenses on one shared candidate set, the profile predicts where detection saturates. Padding medical poison to clean length with word-shuffled filler that carries no content takes TrustRAG's set-level stage from a miss rate of 0.000 to 0.827, and one learned scorer of ours from 0.000 to 0.986 (0.321 at a matched 5% false-positive rate) while its AUROC holds at 0.953. The ranking survives; the decision does not. A defense-aware attacker defeats our own scorer, so we claim no defense. A detection result is evidence only when it is reported with its poison set's construction profile and the false-positive rate at the threshold actually deployed; we release the script that computes the profile.

## Truncate Text in CSS: text-overflow: ellipsis and line-clamp

DevFeed: [Truncate Text in CSS: text-overflow: ellipsis and line-clamp](<https://devfeed.tech/articles/truncate-text-in-css-text-overflow-ellipsis-and-line-clamp-95295.md>)

Original publisher: [Read original article](<https://markodenic.com/text-overflow-ellipsis/>)

Author: Marko

Published: 2026-10-22T09:00:00Z

Content type: tutorial

Language: en

Sources: [Marko Denic Blog](<https://devfeed.tech/sources/marko-denic-blog.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [clamp](<https://devfeed.tech/tags/clamp.md>), [css](<https://devfeed.tech/tags/css.md>), [css-grid](<https://devfeed.tech/tags/css-grid.md>), [display](<https://devfeed.tech/tags/display.md>), [flexbox](<https://devfeed.tech/tags/flexbox.md>), [grid](<https://devfeed.tech/tags/grid.md>), [hidden](<https://devfeed.tech/tags/hidden.md>), [limit](<https://devfeed.tech/tags/limit.md>), [max](<https://devfeed.tech/tags/max.md>), [max-width](<https://devfeed.tech/tags/max-width.md>), [min-width](<https://devfeed.tech/tags/min-width.md>), [minmax](<https://devfeed.tech/tags/minmax.md>), [modern](<https://devfeed.tech/tags/modern.md>), [multiple](<https://devfeed.tech/tags/multiple.md>), [padding](<https://devfeed.tech/tags/padding.md>), [parent](<https://devfeed.tech/tags/parent.md>), [properties](<https://devfeed.tech/tags/properties.md>), [tables](<https://devfeed.tech/tags/tables.md>), [text](<https://devfeed.tech/tags/text.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

For one-line truncation, combine `white-space: nowrap`, `overflow: hidden`, and `text-overflow: ellipsis`, and constrain the element's width. For multiple lines, use `-webkit-line-clamp` with `display: -webkit-box`, vertical box orientation, and hidden overflow; the excerpt says this works in current browsers, including Firefox. Layouts may need extra constraints: set `min-width: 0` on a flex item, use `minmax(0, 1fr)` for a grid column, and give tables fixed layout plus a width or constrain the cell. Ellipses also require block or inline-block display on inline elements. Move padding off a clamped element if it reveals part of the next line. The full text remains in the HTML; a title, tooltip, or expanded state can expose it to sighted users. CSS truncates only at the end; middle truncation requires splitting spans or JavaScript.

### Source excerpt

Truncate text with an ellipsis in CSS: one line with text-overflow: ellipsis, several lines with line-clamp, and fixes for when the ellipsis doesn't show in flexbox, grid and tables.

## KPage: Cross-Block Page Compaction for Hardware-Efficient Sparse Attention

DevFeed: [KPage: Cross-Block Page Compaction for Hardware-Efficient Sparse Attention](<https://devfeed.tech/articles/kpage-cross-block-page-compaction-for-hardware-efficient-sparse-attention-93752.md>)

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

Author: Junwei Feng, Qiaorui Chen, Chenyu Liang, Zhen Guo, Jingyi Yang, Xiaoling Zhou, Jiahao Zhang, Dongliang Huang, Yiqiao Liao, Chengru Song

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

Content type: article

Language: en

Sources: [arXiv: Distributed Computing](<https://devfeed.tech/sources/arxiv-distributed-computing.md>)

Topics: [High-Performance Computing](<https://devfeed.tech/topics/high-performance-computing.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [attention](<https://devfeed.tech/tags/attention.md>), [bandwidth](<https://devfeed.tech/tags/bandwidth.md>), [block](<https://devfeed.tech/tags/block.md>), [blocks](<https://devfeed.tech/tags/blocks.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [cs-dc](<https://devfeed.tech/tags/cs-dc.md>), [cudnn](<https://devfeed.tech/tags/cudnn.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [masking](<https://devfeed.tech/tags/masking.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [packing](<https://devfeed.tech/tags/packing.md>), [padding](<https://devfeed.tech/tags/padding.md>), [pages](<https://devfeed.tech/tags/pages.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [transformers](<https://devfeed.tech/tags/transformers.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

KPage improves sparse attention efficiency for video Transformer layouts whose selected blocks are only partly occupied. It packs valid 16-row K/V pages across logical-block boundaries into tiles during loading, avoiding compacted tensors in high-bandwidth memory, and routes Q blocks between 64x256 and 128x128 tiles to reduce padding. Exact masking and K/V-owned packing preserve the original sparse graph in forward and backward execution. Against NVIDIA Block-Sparse Attention, reported forward speedups are 1.35x-2.06x across five workloads (1.77x geometric mean), rising to 2.29x on partially occupied 3D layouts; fully occupied blocks are near parity at 1.03x. Physical query-key capacity falls from 334.1G to 177.5G while retaining 160.6G useful interactions. Across eight layouts, KPage reports 1.13x-4.25x forward and 1.02x-2.71x forward-plus-backward speedups over the strongest exact sparse baselines. These are abstract-reported results; open-source release and a cuDNN Frontend pull request are planned after compliance review.

### Source excerpt

arXiv:2610.28096v1 Announce Type: new Abstract: Sparse attention reduces the computational cost of long-sequence video Transformers, but three-dimensional token layouts often leave selected blocks partially occupied, wasting physical tile capacity. We present KPage, a block-sparse attention scheme that packs valid 16-row K/V pages across logical-block boundaries into large tiles directly during loading, without materializing compacted tensors in high-bandwidth memory. KPage also routes Q blocks between 64x256 and 128x128 tiles to reduce query-side padding. Exact masking and K/V-owned page packing preserve the original sparse graph in forward and backward execution. Across five representative workloads, KPage achieves 1.35x-2.06x bare forward-kernel speedup over NVIDIA Block-Sparse Attention (BSA), with a geometric mean of 1.77x. It is near parity for fully occupied blocks (1.03x) but achieves 2.29x geometric-mean speedup on 3D layouts with partial blocks. KPage reduces physical query-key pair capacity from 334.1G to 177.5G while preserving 160.6G useful interactions. Across eight layouts from open-source SSTA, STA, and VSA systems, KPage achieves 1.13x-4.25x forward and 1.02x-2.71x forward-plus-backward speedup over the strongest exact sparse baselines. With independent Q/K partitions, KPage also achieves 1.49x speedup over the strongest exact sparse baseline and 1.57x over BSA on the SVG2 Wan 14B/720p configuration. After compliance review, we will open-source KPage and submit a pull request to NVIDIA cuDNN Frontend.

## Your Design System Is a Contract. Enforce It with Konsist and Android Lint

DevFeed: [Your Design System Is a Contract. Enforce It with Konsist and Android Lint](<https://devfeed.tech/articles/your-design-system-is-a-contract-enforce-it-with-konsist-and-android-lint-91135.md>)

Original publisher: [Read original article](<https://proandroiddev.com/konsist-design-system-validator-jetpack-compose-d5c3814fe462?source=rss----c72404660798---4>)

Author: Ravi Rawal

Published: 2026-10-20T16:36:52Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [lint](<https://devfeed.tech/topics/lint.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>), [Android](<https://devfeed.tech/topics/android.md>), [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Android Testing](<https://devfeed.tech/topics/android-testing.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [automated](<https://devfeed.tech/tags/automated.md>), [color](<https://devfeed.tech/tags/color.md>), [colors](<https://devfeed.tech/tags/colors.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-ui](<https://devfeed.tech/tags/compose-ui.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [custom](<https://devfeed.tech/tags/custom.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [dimensions](<https://devfeed.tech/tags/dimensions.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [feature](<https://devfeed.tech/tags/feature.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lint](<https://devfeed.tech/tags/lint.md>), [padding](<https://devfeed.tech/tags/padding.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [rules](<https://devfeed.tech/tags/rules.md>), [screen](<https://devfeed.tech/tags/screen.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

Treat the design system as an enforceable engineering contract: centralize approved tokens and reusable components, then place each rule in the layer suited to check it. Konsist can test package structure and architectural boundaries; custom Android Lint detectors can flag prohibited source patterns, such as numeric Compose Color literals outside approved packages; Compose UI tests can check rendered behavior like accessibility, font scaling, touch targets, and state transitions. The sample Lint rule is deliberately limited: it may miss colors expressed through constants, helpers, resources, aliases, or other forms, and it cannot judge whether a named token is semantically appropriate. The article recommends testing both violations and allowed exceptions, keeping rules narrow to reduce false positives, verifying APIs against the project's pinned versions, and rolling checks out gradually before making them blocking in CI.

### Source excerpt

A practical guide to enforcing colors, spacing, typography, shapes, and component conventions in Jetpack Compose -- with a custom Android Lint rule. A design system is only as reliable as the rules that prevent teams from bypassing it. Most Android teams have a design system. They define typography, colors, spacing, shapes, dimensions, and reusable Compose components. They document usage guidelines, publish component libraries, and ask developers to follow the established conventions. Yet a few months into development, the same problems start appearing. One screen uses 16.dp for horizontal padding; another uses 18.dp. A developer creates a custom TextStyle because the existing typography does not look quite right. A feature introduces a hardcoded hex color. A button uses a different corner radius from the rest of the application. Someone builds another card component because the existing one seems inconvenient to reuse. None of these decisions looks particularly dangerous in isolation. Together, they undermine the consistency the design system was supposed to provide. Code reviews can catch some of these violations, but they are not a reliable enforcement mechanism. Reviewers have limited time, conventions are easy to overlook, and the same feedback gets repeated across pull requests. The better approach is to treat the design system as an engineering contract and enforce that contract through automated checks. For Android teams using Jetpack Compose, Konsist and custom Android Lint rules solve complementary parts of this problem. Konsist can enforce architectural and structural conventions. Android Lint can inspect source code for prohibited patterns. Compose UI tests can verify how the resulting interface behaves at runtime. Together, they turn design-system conventions from documentation into executable rules. Start by defining what the contract actually means Before writing a test or a lint detector, identify the rules your team expects every feature to follow. N

## Length Extension Attacks: How Hash-Based Signatures Can Be Forged

DevFeed: [Length Extension Attacks: How Hash-Based Signatures Can Be Forged](<https://devfeed.tech/articles/length-extension-attacks-how-hash-based-signatures-can-be-forged-84159.md>)

Original publisher: [Read original article](<https://hackernoon.com/length-extension-attacks-how-hash-based-signatures-can-be-forged?source=rss>)

Author: viodex

Published: 2026-10-09T08:38:27Z

Content type: tutorial

Language: en

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

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

Tags: [cryptography](<https://devfeed.tech/tags/cryptography.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [hash-padding-vulnerability](<https://devfeed.tech/tags/hash-padding-vulnerability.md>), [hashes-vulnerabilities](<https://devfeed.tech/tags/hashes-vulnerabilities.md>), [keyed-hash-authentication](<https://devfeed.tech/tags/keyed-hash-authentication.md>), [length-extension-attack](<https://devfeed.tech/tags/length-extension-attack.md>), [length-extension-attacks](<https://devfeed.tech/tags/length-extension-attacks.md>), [md5-hash-security](<https://devfeed.tech/tags/md5-hash-security.md>), [padding](<https://devfeed.tech/tags/padding.md>)

### AI overview

The tutorial explains length extension attacks against secret-prefixed MD5 hashes through message padding, internal state, and worked examples. It describes using an original message, its digest, and a known or guessed secret length to append data and generate a valid signature without recovering the secret. It also demonstrates hash_extender and explains that practical impact depends on signature construction and application behavior.

### Source excerpt

Learn how Length Extension Attacks work by exploring MD5 internals, message padding, internal states, and how attackers can extend signed data without knowing t

## Windows on Itanium also provided for hot-patching, in an even simpler way

DevFeed: [Windows on Itanium also provided for hot-patching, in an even simpler way](<https://devfeed.tech/articles/windows-on-itanium-also-provided-for-hot-patching-in-an-even-simpler-way-63833.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20261001-57/?p=112747/>)

Author: Raymond Chen

Published: 2026-10-01T14:00:57Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [bitlocker](<https://devfeed.tech/topics/bitlocker.md>), [DLL hijacking](<https://devfeed.tech/topics/dll-hijacking.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [assembler](<https://devfeed.tech/tags/assembler.md>), [branch](<https://devfeed.tech/tags/branch.md>), [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [conditional](<https://devfeed.tech/tags/conditional.md>), [net](<https://devfeed.tech/tags/net.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [other](<https://devfeed.tech/tags/other.md>), [padding](<https://devfeed.tech/tags/padding.md>), [windows](<https://devfeed.tech/tags/windows.md>), [with](<https://devfeed.tech/tags/with.md>)

### AI overview

The post explains how Windows hot-patching worked on Itanium. Its fixed-size instruction bundles allowed the first bundle of a function to be overwritten with a long branch during patching, without reserving separate hot-patching space. The apparent spare bundles found before some functions were padding for 32-byte alignment.

### Source excerpt

Once again, the benefit of fixed-length instructions. The post Windows on Itanium also provided for hot-patching, in an even simpler way appeared first on The Old New Thing.

## A properties panel and annotations, now in Figma Make

DevFeed: [A properties panel and annotations, now in Figma Make](<https://devfeed.tech/articles/a-properties-panel-and-annotations-now-in-figma-make-10017.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/properties-panel-and-annotations-now-in-figma-make/>)

Author: Phillip Wang

Published: 2026-07-30T19:25:32.996000Z

Content type: article

Language: en

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

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Code](<https://devfeed.tech/topics/code.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [animation](<https://devfeed.tech/tags/animation.md>), [code](<https://devfeed.tech/tags/code.md>), [design](<https://devfeed.tech/tags/design.md>), [figma](<https://devfeed.tech/tags/figma.md>), [padding](<https://devfeed.tech/tags/padding.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [typography](<https://devfeed.tech/tags/typography.md>)

### AI overview

Figma introduces a properties panel and annotations in Figma Make, enabling visual edits to code through familiar design controls and in-context prompts. The update supports detailed styling changes, DOM-tree selection, staged review before applying edits, and synchronization with underlying code.

### Source excerpt

With visual editing and annotations, Figma Make is bridging the gap between design and code. Select any element you want to change, adjust it directly in the properties panel, or write in-context prompts with annotations.

## Item Flow

DevFeed: [Item Flow](<https://devfeed.tech/articles/item-flow-45342.md>)

Original publisher: [Read original article](<https://ishadeed.com/article/item-flow/>)

Author: Ahmad Shadeed

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

Content type: article

Language: en

Sources: [Ahmad Shadeed](<https://devfeed.tech/sources/ahmad-shadeed.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [layout](<https://devfeed.tech/topics/layout.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>)

Tags: [a11y](<https://devfeed.tech/tags/a11y.md>), [css](<https://devfeed.tech/tags/css.md>), [css-grid](<https://devfeed.tech/tags/css-grid.md>), [display](<https://devfeed.tech/tags/display.md>), [flexbox](<https://devfeed.tech/tags/flexbox.md>), [gap](<https://devfeed.tech/tags/gap.md>), [layout](<https://devfeed.tech/tags/layout.md>), [padding](<https://devfeed.tech/tags/padding.md>), [property](<https://devfeed.tech/tags/property.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This article examines the proposed CSS Item Flow system for unifying grid, flexbox, and masonry-related layout behavior. It discusses how the proposal could enable masonry through CSS syntax and explores dense packing options for flexbox, including potential accessibility concerns from reordering.

### Source excerpt

Notes on the proposed Item Flow system for grid, flexbox, and masonry

## Bootstrap 5.3.4

DevFeed: [Bootstrap 5.3.4](<https://devfeed.tech/articles/bootstrap-5-3-4-22294.md>)

Original publisher: [Read original article](<https://blog.getbootstrap.com/2025/04/03/bootstrap-5-3-4/>)

Author: Mark Otto

Published: 2025-04-03T15:22:00Z

Content type: release

Language: en

Sources: [Bootstrap.com](<https://devfeed.tech/sources/bootstrap-com.md>)

Topics: [Bootstrap](<https://devfeed.tech/topics/bootstrap.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Dark Mode](<https://devfeed.tech/topics/dark-mode.md>), [Sass](<https://devfeed.tech/topics/sass.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [bootstrap](<https://devfeed.tech/tags/bootstrap.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [button](<https://devfeed.tech/tags/button.md>), [changelog](<https://devfeed.tech/tags/changelog.md>), [color-modes](<https://devfeed.tech/tags/color-modes.md>), [css](<https://devfeed.tech/tags/css.md>), [dark-mode](<https://devfeed.tech/tags/dark-mode.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [deprecation](<https://devfeed.tech/tags/deprecation.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [light-mode](<https://devfeed.tech/tags/light-mode.md>), [modal](<https://devfeed.tech/tags/modal.md>), [nested](<https://devfeed.tech/tags/nested.md>), [npm](<https://devfeed.tech/tags/npm.md>), [padding](<https://devfeed.tech/tags/padding.md>), [sass](<https://devfeed.tech/tags/sass.md>), [select](<https://devfeed.tech/tags/select.md>)

### AI overview

Bootstrap 5.3.4 includes fixes for modal and offcanvas headers collapsing when padding variables are set to zero, close button display in color modes, and light mode carousels appearing in dark mode. It also improves floating label alignment for select controls, addresses a Sass 1.77.7 nested rules deprecation, and fixes popovers toggling twice to close. The excerpt says the full changelog includes additional documentation and dependency updates.

### Source excerpt

Bootstrap v5.3.4 is here with several bug fixes and a load of documentation updates. Here are a handful of highlights from the CSS and JS changes: Fixed modal and offcanvas headers collapsing when any padding variables were set to 0. Fixed close button display in color modes. Fixed light mode carousel when in dark mode. Updated floating labels for better <select> alignment and other styling issues. Fixed a Sass 1.77.7 deprecation for nested rules Fixed popover toggling twice to close. Read the GitHub v5.3.4 changelog for a full list of changes (including a ton of documentation and dependency updates) in this release.

## Spacing Concepts in Jetpack Compose - An Overview

DevFeed: [Spacing Concepts in Jetpack Compose - An Overview](<https://devfeed.tech/articles/spacing-concepts-in-jetpack-compose-an-overview-25099.md>)

Original publisher: [Read original article](<https://dladukedev.com/articles/044_spacing_concepts_compose/>)

Published: 2024-09-19T00:00:00Z

Content type: article

Language: en

Sources: [Donovan LaDuke - Developer](<https://devfeed.tech/sources/donovan-laduke-developer.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [guide](<https://devfeed.tech/tags/guide.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [overview](<https://devfeed.tech/tags/overview.md>), [padding](<https://devfeed.tech/tags/padding.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This article presents a mental model for handling fixed spacing in Jetpack Compose. It explains how to choose between modifiers, Spacer-like composables, and arrangement options based on parent-child and sibling relationships, including considerations for directional layouts and interactive touch targets.

### Source excerpt

A short guide to thinking about the concepts of spacing in Jetpack Compose including Spacers, padding, and Arrangement

## Improving Hugging Face Training Efficiency Through Packing with Flash Attention 2

DevFeed: [Improving Hugging Face Training Efficiency Through Packing with Flash Attention 2](<https://devfeed.tech/articles/improving-hugging-face-training-efficiency-through-packing-with-flash-attention-2-7433.md>)

Original publisher: [Read original article](<https://huggingface.co/blog/packing-with-FA2>)

Author: Rhui Dih Lee; Arthur Zucker; Achintya Kundu; Laura Wynter; Raghu Ganti; Mayank Mishra

Published: 2024-08-21T00:00:00Z

Content type: article

Language: en

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

Topics: [hugging face](<https://devfeed.tech/topics/hugging-face.md>), [Transformers](<https://devfeed.tech/topics/transformers.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [dataset](<https://devfeed.tech/topics/dataset.md>)

Tags: [datasets](<https://devfeed.tech/tags/datasets.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [flash-attention-2](<https://devfeed.tech/tags/flash-attention-2.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [hugging-face](<https://devfeed.tech/tags/hugging-face.md>), [models](<https://devfeed.tech/tags/models.md>), [packing](<https://devfeed.tech/tags/packing.md>), [padding](<https://devfeed.tech/tags/padding.md>), [training](<https://devfeed.tech/tags/training.md>), [transformers](<https://devfeed.tech/tags/transformers.md>)

### AI overview

The article explains how Hugging Face improves training throughput by packing instruction-tuning sequences without padding while using Flash Attention 2. A new data collator preserves sequence boundaries and can provide up to 2x higher throughput while maintaining convergence quality, with measured gains varying by dataset and sequence-length variance.

### Source excerpt

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

## Day 77: block-size, inline-size, vi, and vb

DevFeed: [Day 77: block-size, inline-size, vi, and vb](<https://devfeed.tech/articles/day-77-block-size-inline-size-vi-and-vb-52273.md>)

Original publisher: [Read original article](<https://www.matuzo.at/blog/2023/100daysof-day77>)

Author: Manuel Matuzović

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

Content type: tutorial

Language: en

Sources: [Manuel Matuzović](<https://devfeed.tech/sources/manuel-matuzovic-blog.md>)

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

Tags: [alternatives](<https://devfeed.tech/tags/alternatives.md>), [border](<https://devfeed.tech/tags/border.md>), [class](<https://devfeed.tech/tags/class.md>), [css](<https://devfeed.tech/tags/css.md>), [padding](<https://devfeed.tech/tags/padding.md>), [properties](<https://devfeed.tech/tags/properties.md>), [property](<https://devfeed.tech/tags/property.md>), [using](<https://devfeed.tech/tags/using.md>), [vertical](<https://devfeed.tech/tags/vertical.md>), [viewport](<https://devfeed.tech/tags/viewport.md>)

### AI overview

A tutorial on CSS logical sizing properties and viewport units. It explains how inline-size and block-size adapt to writing modes, and compares vi and vb with vw and vh for responsive dimensions.

### Source excerpt

There are logical properties for width and height values. width and height The logical alternative for width is inline-size and the alternative for height is block-size. Here's an example of how using inline-size over width makes a difference. If you use width, the property sets the physical width, regardless of the writing mode. h1 { border: 1rem solid; padding: 1rem; width: 16rem; } .vertical { writing-mode: vertical-rl; } <h1>width horizontal</h1> <h1 class="vertical">width vertical</h1> width horizontal width vertical If you use inline-size, the property sets the logical width with respect to the writing mode. h1 { border: 1rem solid; padding: 1rem; inline-size: 16rem; } .vertical { writing-mode: vertical-rl; } inline-size horizontal inline-size vertical vi and vb There are also logical unit alternatives for vw and vh. The width and height of the <div> is always the width and height of the viewport, regardless of the writing mode. div { border: 1rem solid; width: 20vw; height: 40vh; } .vertical { writing-mode: vertical-rl; } vw + vh vw + vh The width and height of the <div> matches either the vertical or horizontal dimensions of the viewport, depending on the writing mode. div { border: 1rem solid; width: 20vi; height: 40vb; } vi + vb vi + vb 50vw alternative: 50vi 50vh alternative: 50vb 50dvh alternative: 50dvb 50svh alternative: 50svb 50lvh alternative: 50lvb My blog doesn't support comments yet, but you can reply via blog@matuzo.at.

## Day 31: logical border properties

DevFeed: [Day 31: logical border properties](<https://devfeed.tech/articles/day-31-logical-border-properties-52199.md>)

Original publisher: [Read original article](<https://www.matuzo.at/blog/2022/100daysof-day31>)

Author: Manuel Matuzović

Published: 2022-11-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Manuel Matuzović](<https://devfeed.tech/sources/manuel-matuzovic-blog.md>)

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

Tags: [border](<https://devfeed.tech/tags/border.md>), [color](<https://devfeed.tech/tags/color.md>), [css](<https://devfeed.tech/tags/css.md>), [logical](<https://devfeed.tech/tags/logical.md>), [margin](<https://devfeed.tech/tags/margin.md>), [padding](<https://devfeed.tech/tags/padding.md>), [properties](<https://devfeed.tech/tags/properties.md>), [size](<https://devfeed.tech/tags/size.md>), [solid](<https://devfeed.tech/tags/solid.md>), [style](<https://devfeed.tech/tags/style.md>), [value](<https://devfeed.tech/tags/value.md>), [values](<https://devfeed.tech/tags/values.md>)

### AI overview

A CSS tutorial explaining logical border properties, including border-block, border-inline, and their individual start and end variants. It describes shorthand values for border size, style, and color, with examples.

### Source excerpt

Just like for margin or padding, there are also logical property variations for border properties. Originally there were 4 shorthand properties we could use for defining borders. border - 1, 2, or 3 values (size, style, color) border-width - 1, 2, 3, or 4 size values for the different sides border-style - 1, 2, 3, or 4 style values for the different sides border-color - 1, 2, 3, or 4 color values for the different sides And we could do the same for each physical side (top, right, bottom, left). border-left - 1, 2, or 3 values border-left-width - A size value border-left-style - A style value border-left-color - A color value Now there are a couple of more properties: border-block border-block - 1, 2, or 3 values (size, style, color) border-block-width - 1 or 2 size values (a single value for both sides or one for each) border-block-style - 1 or 2 style values border-block-color - 1 or 2 color values div { border-block: solid; } border-block div { border-block: 20px solid aqua; } border-block div { border-block-color: green; border-block-width: 10px 20px; border-block-style: dashed dotted; } border-block We can do the same for each individual side (block-start and block-end). border-block-start - 1, 2, or 3 values border-block-start-width - A size value border-block-start-style - A style value border-block-start-color - A color value div { border-block-start: 2em solid red; } border-block-start div { border-block-end-color: blue; border-block-end-width: 1rem; border-block-end-style: dashed; } border-block-end border-inline border-inline - 1, 2, or 3 values border-inline-width - 1 or 2 size values border-inline-style - 1 or 2 style values border-inline-color - 1 or 2 color values div { border-inline: solid; } border-inline div { border-inline: 20px solid aqua; } border-inline div { border-inline-color: green; border-inline-width: 10px 20px; border-inline-style: dashed dotted; } border-inline We can do the same for each individual side (inline-start and inline-end). bo

## Day 28: custom properties and web components

DevFeed: [Day 28: custom properties and web components](<https://devfeed.tech/articles/day-28-custom-properties-and-web-components-52195.md>)

Original publisher: [Read original article](<https://www.matuzo.at/blog/2022/100daysof-day28>)

Author: Manuel Matuzović

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

Content type: tutorial

Language: en

Sources: [Manuel Matuzović](<https://devfeed.tech/sources/manuel-matuzovic-blog.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [color](<https://devfeed.tech/tags/color.md>), [components](<https://devfeed.tech/tags/components.md>), [css](<https://devfeed.tech/tags/css.md>), [custom](<https://devfeed.tech/tags/custom.md>), [custom-properties](<https://devfeed.tech/tags/custom-properties.md>), [padding](<https://devfeed.tech/tags/padding.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [style](<https://devfeed.tech/tags/style.md>), [var](<https://devfeed.tech/tags/var.md>), [web-components](<https://devfeed.tech/tags/web-components.md>)

### AI overview

A tutorial on using CSS custom properties to customize the styling of Web Components from outside the component. It demonstrates fallback values and an alert component whose background, color, and spacing can be changed without modifying the component itself.

### Source excerpt

We already know that we can encapsulate styles within a web component and we know that web components inherit styles. Another interesting feature of web components in terms of CSS is that custom properties used in a web component can be modified from the outside. Let's take this basic alert component. Please confirm your e-mail address by clicking the link in the e-mail we just sent you. class Alert extends HTMLElement { constructor() { super(); this.attachShadow({mode: 'open'}); const styles = document.createElement('style'); styles.textContent = ` div { background-color: rgb(136 177 255 / 0.5); color: rgb(0 0 0); font-weight: bold; padding: 1rem; } ` const content = document.createElement('div'); content.innerHTML = ` <slot></slot> ` this.shadowRoot.append(styles) this.shadowRoot.append(content) } } customElements.define('matuzo-alert', Alert); <matuzo-alert> Please confirm your e-mail address by clicking the link in the e-mail we just sent you. </matuzo-alert> Now, let's say we want to reuse this component, but convey a different importance visually. We could add attributes (props) for styling to the web component. <matuzo-alert type="error"> The amount must be a value between 1 and 16. </matuzo-alert> styles.textContent = ` div { background-color: rgb(136 177 255 / 0.5); color: rgb(0 0 0); font-weight: bold; padding: 1rem; } host([type="error"]) div { ... } ` This works and it's also sometimes the preferred way, but we could also open the component up by using custom properties. const styles = document.createElement('style'); styles.textContent = ` div { background-color: var(--alert-bg, rgb(136 177 255 / 0.5)); color: var(--alert-color, rgb(0 0 0)); font-weight: bold; padding: var(--alert-spacing, 1rem); } ` What's happening here is that we set the background-color, color, and padding to a custom property. If the custom property isn't defined, it falls back to default value. The web component still looks the same, but we can now change its styling according to ou

## Lazy layouts contentPadding

DevFeed: [Lazy layouts contentPadding](<https://devfeed.tech/articles/lazy-layouts-contentpadding-22661.md>)

Original publisher: [Read original article](<https://www.valueof.io/blog/lazy-layouts-lazyrow-lazycolumn-contentpadding-compose>)

Author: James Shvarts

Published: 2022-05-22T12:57:51Z

Content type: article

Language: en

Sources: [Android Blog - Mobile Dev Notes](<https://devfeed.tech/sources/android-blog-mobile-dev-notes.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [layout](<https://devfeed.tech/topics/layout.md>)

Tags: [clipping](<https://devfeed.tech/tags/clipping.md>), [compose](<https://devfeed.tech/tags/compose.md>), [layouts](<https://devfeed.tech/tags/layouts.md>), [lazy](<https://devfeed.tech/tags/lazy.md>), [padding](<https://devfeed.tech/tags/padding.md>), [recyclerview](<https://devfeed.tech/tags/recyclerview.md>)

### AI overview

For Compose lazy layouts, use the `contentPadding` parameter to add space before the first item and after the last without clipping items as they scroll. Applying padding directly to the layout keeps it around every item; clipping to those padded bounds also causes problems. The excerpt says the same fix applies to a similar layout, but omits the relevant code and some layout names.

### Source excerpt

Controlling padding for first and last item in a lazy layout in Compose

## Aligning Content In Different Wrappers

DevFeed: [Aligning Content In Different Wrappers](<https://devfeed.tech/articles/aligning-content-in-different-wrappers-45247.md>)

Original publisher: [Read original article](<https://ishadeed.com/article/aligning-content-different-wrappers/>)

Author: Ahmad Shadeed

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

Content type: tutorial

Language: en

Sources: [Ahmad Shadeed](<https://devfeed.tech/sources/ahmad-shadeed.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [layout](<https://devfeed.tech/topics/layout.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [align](<https://devfeed.tech/tags/align.md>), [calc](<https://devfeed.tech/tags/calc.md>), [content](<https://devfeed.tech/tags/content.md>), [css](<https://devfeed.tech/tags/css.md>), [css-variables](<https://devfeed.tech/tags/css-variables.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [layout](<https://devfeed.tech/tags/layout.md>), [max](<https://devfeed.tech/tags/max.md>), [padding](<https://devfeed.tech/tags/padding.md>), [viewport](<https://devfeed.tech/tags/viewport.md>), [wrapper](<https://devfeed.tech/tags/wrapper.md>)

### AI overview

A tutorial on aligning content across different wrappers in a responsive article layout. It derives dynamic padding from the viewport and wrapper widths, then applies CSS viewport units, calc(), max(), and CSS variables to keep the alignment consistent across screen sizes, including mobile.

### Source excerpt

How to align content with another section given that they are placed in different wrappers

## C Structure Padding Initialization

DevFeed: [C Structure Padding Initialization](<https://devfeed.tech/articles/c-structure-padding-initialization-47199.md>)

Original publisher: [Read original article](<https://interrupt.memfault.com/blog/c-struct-padding-initialization>)

Author: Noah Pendleton

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

Content type: article

Language: en

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

Topics: [C](<https://devfeed.tech/topics/c.md>), [structure](<https://devfeed.tech/topics/structure.md>), [clang](<https://devfeed.tech/topics/clang.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [undefined\_behavior](<https://devfeed.tech/topics/undefined-behavior.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [behavior](<https://devfeed.tech/tags/behavior.md>), [c](<https://devfeed.tech/tags/c.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [padding](<https://devfeed.tech/tags/padding.md>), [structure](<https://devfeed.tech/tags/structure.md>)

### AI overview

An exploration of C structure padding initialization, including alignment, compiler behavior in Clang and GCC, packed structures, performance overhead, type aliasing, and bitfields.

### Source excerpt

This article takes a look at a few different aspects of C structure initialization. In particular, we'll look at when it matters, the current state of things in Clang and GCC, recommendations, and the ✨ future ✨. Continue reading...

## New CSS Units in Codename One Apps

DevFeed: [New CSS Units in Codename One Apps](<https://devfeed.tech/articles/new-css-units-in-codename-one-apps-19399.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/new-css-units-in-codename-one-apps/>)

Author: Steve Hannah

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

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [css](<https://devfeed.tech/tags/css.md>), [examples](<https://devfeed.tech/tags/examples.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [margin](<https://devfeed.tech/tags/margin.md>), [padding](<https://devfeed.tech/tags/padding.md>)

### AI overview

Codename One adds CSS-inspired units for setting margins, padding, and font sizes in CSS stylesheets, with corresponding Java constants. The article also explains viewport-based units and screen-independent-pixel settings for adapting default font sizes across devices and desktop platforms.

### Source excerpt

We've added some new units that you can use for specifying things like margin, padding and font sizes. You can use each of these units directly in your CSS stylesheets.

## CSS Mistakes While On Autopilot

DevFeed: [CSS Mistakes While On Autopilot](<https://devfeed.tech/articles/css-mistakes-while-on-autopilot-45296.md>)

Original publisher: [Read original article](<https://ishadeed.com/article/css-mistakes/>)

Author: Ahmad Shadeed

Published: 2020-08-09T00:00:00Z

Content type: article

Language: en

Sources: [Ahmad Shadeed](<https://devfeed.tech/sources/ahmad-shadeed.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [box-shadow](<https://devfeed.tech/tags/box-shadow.md>), [calc](<https://devfeed.tech/tags/calc.md>), [color](<https://devfeed.tech/tags/color.md>), [css](<https://devfeed.tech/tags/css.md>), [css-color](<https://devfeed.tech/tags/css-color.md>), [css-grid](<https://devfeed.tech/tags/css-grid.md>), [css-variables](<https://devfeed.tech/tags/css-variables.md>), [debugging-css](<https://devfeed.tech/tags/debugging-css.md>), [developer](<https://devfeed.tech/tags/developer.md>), [display](<https://devfeed.tech/tags/display.md>), [editor](<https://devfeed.tech/tags/editor.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [go](<https://devfeed.tech/tags/go.md>), [highlighting](<https://devfeed.tech/tags/highlighting.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [padding](<https://devfeed.tech/tags/padding.md>), [properties](<https://devfeed.tech/tags/properties.md>), [property](<https://devfeed.tech/tags/property.md>), [units](<https://devfeed.tech/tags/units.md>), [variables](<https://devfeed.tech/tags/variables.md>)

### AI overview

An article about common CSS mistakes developers make while working on web projects, including errors involving font properties, opacity, padding, CSS Grid, variables, box shadows, positioning, calc(), colors, display, and transforms. It also mentions an ebook about debugging CSS.

### Source excerpt

When we're very focused on working on a web project, we tend to forget or do some mistakes that can lead to an invalid CSS code. I like to call these "Autopilot mistakes". The kind of mistakes that make us ask ourselves: "Oops, why did I do that?", and solving them doesn't take much time, only if you found them in the first place. I asked on Twitter about the funniest mistakes that a front-end developer can do, and I got some funny responses. What's the *funniest* CSS mistake that you do a lot?

## Ensmallening Go binaries by prohibiting comparisons

DevFeed: [Ensmallening Go binaries by prohibiting comparisons](<https://devfeed.tech/articles/ensmallening-go-binaries-by-prohibiting-comparisons-20831.md>)

Original publisher: [Read original article](<https://dave.cheney.net/2020/05/09/ensmallening-go-binaries-by-prohibiting-comparisons>)

Author: Dave Cheney

Published: 2020-05-09T10:23:17Z

Content type: article

Language: en

Sources: [Dave Cheney](<https://devfeed.tech/sources/dave-cheney.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [binaries](<https://devfeed.tech/tags/binaries.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [go](<https://devfeed.tech/tags/go.md>), [padding](<https://devfeed.tech/tags/padding.md>), [programming](<https://devfeed.tech/tags/programming.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This article examines how equality and struct comparison work in Go, including memory layout, padding, alignment, and memcmp-based comparisons. It connects these implementation details to the size of compiled Go binaries.

### Source excerpt

Conventional wisdom dictates that the larger the number of types declared in a Go program, the larger the resulting binary. Intuitively this makes sense, after all, what's the point in defining a bunch of types if you're not going to write code that operates on them. However, part of the job of a linker is [...]

## False Sharing

DevFeed: [False Sharing](<https://devfeed.tech/articles/false-sharing-24842.md>)

Original publisher: [Read original article](<https://alidg.me/blog/2020/5/1/false-sharing>)

Author: Alimate

Published: 2020-05-01T00:00:00Z

Content type: article

Language: en

Sources: [Ali Dehghan - Kemikit](<https://devfeed.tech/sources/ali-dehghan-kemikit.md>)

Topics: [performance-engineering](<https://devfeed.tech/topics/performance-engineering.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [thread safe data sharing](<https://devfeed.tech/topics/thread-safe-data-sharing.md>)

Tags: [atomic](<https://devfeed.tech/tags/atomic.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [latency](<https://devfeed.tech/tags/latency.md>), [layout](<https://devfeed.tech/tags/layout.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [memory](<https://devfeed.tech/tags/memory.md>), [multithreading](<https://devfeed.tech/tags/multithreading.md>), [padding](<https://devfeed.tech/tags/padding.md>), [sharing](<https://devfeed.tech/tags/sharing.md>), [threads](<https://devfeed.tech/tags/threads.md>), [throughput](<https://devfeed.tech/tags/throughput.md>)

### AI overview

The excerpt benchmarks eight atomic counters incremented by eight threads, each targeting a distinct counter, and reports about 170 ns per call for the initial layout. Despite no logical counter contention, shared memory layout can affect performance: adding padding between counters produces surprising latency changes. The excerpt describes using JOL to inspect object layout and padding counters until each occupies a separate 64-byte area, but it ends before reporting the final benchmark result or explaining the full measurement.

### Source excerpt

Measuring false-sharing effect on latency and throughput

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