# hashing

Published articles for hashing.

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

## Nix 2.35.0 released

DevFeed: [Nix 2.35.0 released](<https://devfeed.tech/articles/nix-2-35-0-released-31355.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/nix-2-35-0-released/78914>)

Author: lisanna

Published: 2026-07-13T20:36:40Z

Content type: release

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [releases](<https://devfeed.tech/topics/releases.md>), [content addressed store](<https://devfeed.tech/topics/content-addressed-store.md>), [Security](<https://devfeed.tech/topics/security.md>), [hashing](<https://devfeed.tech/topics/hashing.md>), [integrity](<https://devfeed.tech/topics/integrity.md>)

Tags: [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [content-addressed-store](<https://devfeed.tech/tags/content-addressed-store.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [integrity](<https://devfeed.tech/tags/integrity.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [nix-releases](<https://devfeed.tech/tags/nix-releases.md>), [releases](<https://devfeed.tech/tags/releases.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Nix 2.35.0 is released with new features, bug fixes, performance improvements, and a security fix for recursive-nix. A highlighted change makes source copying to the Nix store more lazy, reducing unnecessary work for typical flake evaluations while preserving the evaluator's existing behavior.

### Source excerpt

On behalf of the Nix team, I am pleased to finally announce the release of Nix 2.35.0. This release contains a good number of new features, bugfixes, and performance improvements, and is available at releases.nixos.org. This release also fixes a security issue with recursive-nix: https://github.com/NixOS/nix/security/advisories/GHSA-6h4g-g5j9-fm5f Release Notes Highlights Sources are copied to the store more lazily #3121 #15711 #15920 Historically, flakes source trees have been eagerly fetched to and evaluated from the Nix store to ensure deterministic and hermetic evaluation, even if the resulting store object is not used as a derivation input. This made the implementation simpler, yet made flakes unusable in large repositories and performed unnecessary writes to the store on each change to the source tree. Since Nix 2.32, all I/O (excluding path: and hg+:-style inputs) for reading sources during evaluation has been funneled to their original filesystem location (or to the ~/.cache/nix/tarball-cache-v2 bare git repository for tarball-based inputs). However, the source tree was still fetched to the store - primarily for computing the resulting content-addressed store path. In most cases, (such as importing the nixpkgs package set) this is not necessary. Touching (and hashing the NAR serialisation of) the whole source tree is unavoidable, since: In case of flake inputs, narHash integrity must be checked eagerly. The outPath attribute of a flake must be known in advance, and for backwards compatibility must be a content-addressed store path string with constant string context representing the flake source tree. Even within the constraints imposed by backwards compatibility requirements, there are several improvements that are achievable. To reduce the number of copies performed, Nix now hashes the input without copying first, assuming that the .outPath will not end up in a derivation attribute and thus would never have to be actually fetched to the store. This comes a

## Deploying a Cost-Effective, Scalable PhotoDNA System for CSAM Detection

DevFeed: [Deploying a Cost-Effective, Scalable PhotoDNA System for CSAM Detection](<https://devfeed.tech/articles/deploying-a-cost-effective-scalable-photodna-system-for-csam-detection-22565.md>)

Original publisher: [Read original article](<https://tech.scribd.com/blog/2026/photodna-csam-detection.html>)

Author: Anish Kumar

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

Content type: article

Language: en

Sources: [Scribd Tech](<https://devfeed.tech/sources/scribd-tech.md>)

Topics: [Perceptual hashing](<https://devfeed.tech/topics/perceptual-hashing.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [auditability](<https://devfeed.tech/tags/auditability.md>), [aws](<https://devfeed.tech/tags/aws.md>), [content-trust-series](<https://devfeed.tech/tags/content-trust-series.md>), [cost](<https://devfeed.tech/tags/cost.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [false-positives](<https://devfeed.tech/tags/false-positives.md>), [featured](<https://devfeed.tech/tags/featured.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [latency](<https://devfeed.tech/tags/latency.md>), [legal](<https://devfeed.tech/tags/legal.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [observability](<https://devfeed.tech/tags/observability.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [scale](<https://devfeed.tech/tags/scale.md>)

### AI overview

Scribd describes a production system for detecting known Child Sexual Abuse Material using PhotoDNA perceptual hashes. The article covers its integration with NCMEC reporting, ingestion-scale architecture, operational model, cost considerations, and safety-related constraints.

### Source excerpt

Child safety is a non-negotiable responsibility for any platform that hosts user-generated content. Over the last year, we designed and deployed a production system that detects known Child Sexual Abuse Material (CSAM) using PhotoDNA perceptual hashes, integrates with the National Center for Missing and Exploted Children's (NCMEC) reporting system, and scales efficiently across our ingestion surfaces. This post explains the problem we set out to solve, how PhotoDNA hashing works, the online child-protection ecosystem (NCMEC, Tech Coalition, Project Lantern), our architecture and operational model, cost considerations, and key learnings.

## Understanding Gradient Noise with WebGL2 and GLSL

DevFeed: [Understanding Gradient Noise with WebGL2 and GLSL](<https://devfeed.tech/articles/sharing-everything-i-could-understand-about-gradient-noise-26116.md>)

Original publisher: [Read original article](<http://blog.pkh.me/p/42-sharing-everything-i-could-understand-about-gradient-noise.html>)

Published: 2025-06-06T14:45:38Z

Content type: tutorial

Language: en

Sources: [The Last Static Blog RSS](<https://devfeed.tech/sources/the-last-static-blog-rss.md>)

Topics: [glsl](<https://devfeed.tech/topics/glsl.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Code](<https://devfeed.tech/topics/code.md>), [hashing](<https://devfeed.tech/topics/hashing.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [floating-point](<https://devfeed.tech/tags/floating-point.md>), [function](<https://devfeed.tech/tags/function.md>), [glsl](<https://devfeed.tech/tags/glsl.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [math](<https://devfeed.tech/tags/math.md>), [performance](<https://devfeed.tech/tags/performance.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [prog](<https://devfeed.tech/tags/prog.md>)

### AI overview

This tutorial explains gradient noise, beginning with its one-dimensional form and progressing through higher dimensions and complexity. It uses a GPU-oriented approach with WebGL2 and GLSL, including deterministic coordinate-based pseudo-random values and hashing considerations.

### Source excerpt

You've most likely heard about gradient noise through the name Perlin noise, which refers to one particular implementation with various CPU optimizations. Because it's an incredible tool for creative work, it's used virtually everywhere: visual effects, video games, procedural mathematical art, etc. While getting it right can sometimes be subtle, a "broken" implementation can still look good or interesting. After all, "it looks fine, and I'm an artist". In order to gain a deeper and more meaningful understanding we will start studying the 1D version (a case often omitted in the literature), then slowly climb our way up in dimensions and complexity. We'll also work from a GPU perspective rather than a CPU-based one, hence all code snippets and visuals here are implemented in WebGL2/GLSL (hopefully without being too heavy on performance). They should run on most modern devices; let me know if you run into issues. Before we begin, credit where it's due: most of the material here are nothing new. This article is the result of weeks of studying and experimenting with the maths from Inigo Quilez's incredible pages and other scattered resources over the Internet. But as rich and valuable these resources are, they sometimes move quickly over the details, assuming they're obvious. This post is an attempt to fill those gaps. A welcoming wavy 1D gradient noise signal Hashing function and pseudo-random values At the most elementary level, we need a deterministic coordinate based pseudo-random system. More specifically, for any given integer coordinate we need a random value, and as uniformly distributed as possible. Something like: \begin{aligned} h(-3) &= -0.006124 \\ h(-2) &= -0.996686 \\ h(-1) &= 0.200864 \\ h(0) &= -1.000000 \\ h(1) &= 0.053313 \\ h(2) &= -0.893312 \\ h(3) &= 0.854923 \\ \text{...} \end{aligned} Perlin's implementation relies on a permutation table, which is convenient when working on the CPU, but more awkward for a shader. On the GPU, most people rely on v

## A Curious Case of Mistaken Identity: How Lambdas Break Data Class Hashing

DevFeed: [A Curious Case of Mistaken Identity: How Lambdas Break Data Class Hashing](<https://devfeed.tech/articles/a-curious-case-of-mistaken-identity-how-lambdas-break-data-class-hashing-27333.md>)

Original publisher: [Read original article](<https://blog.mmckenna.me/a-curious-case-of-mistaken-identity>)

Author: Matt McKenna

Published: 2024-11-14T21:44:31Z

Content type: tutorial

Language: en

Sources: [Matt McKenna](<https://devfeed.tech/sources/matt-mckenna.md>)

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

Tags: [android](<https://devfeed.tech/tags/android.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [class](<https://devfeed.tech/tags/class.md>), [data-class](<https://devfeed.tech/tags/data-class.md>), [hashcode](<https://devfeed.tech/tags/hashcode.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>)

### AI overview

This Kotlin article explains why data class instances containing lambdas may compare as unequal and produce different hash-based behavior. Each lambda instance has a distinct identity, so the article recommends excluding the callback from equality and hashCode calculations, while noting the resulting maintenance cost.

### Source excerpt

Introduction: The Scene of the Crime It was a dark and stormy night. My hands were flying across the keys when suddenly the codebase began to exhibit strange behavior. Hashes, which once returned the same values for identical objects, suddenly became...

## sttr - Awesome Linux & Unix tool for transformation of the string

DevFeed: [sttr - Awesome Linux & Unix tool for transformation of the string](<https://devfeed.tech/articles/sttr-awesome-linux-unix-tool-for-transformation-of-the-string-41962.md>)

Original publisher: [Read original article](<https://www.cyberciti.biz/open-source/sttr-awesome-linux-unix-command-tool-for-transformation-string/>)

Author: Vivek Gite

Published: 2024-05-24T21:17:45Z

Content type: tutorial

Language: en

Sources: [nixCraft: Linux Tips, Hacks, Tutorials, And Ideas In Blog Format (RSS/FEED)](<https://devfeed.tech/sources/nixcraft-linux-tips-hacks-tutorials-and-ideas-in-blog-format-rss-feed.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [hashing](<https://devfeed.tech/topics/hashing.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [debian-linux](<https://devfeed.tech/tags/debian-linux.md>), [developers](<https://devfeed.tech/tags/developers.md>), [golang](<https://devfeed.tech/tags/golang.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [json](<https://devfeed.tech/tags/json.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

This tutorial introduces sttr, a free and open-source Golang command-line tool for transforming and manipulating text. It covers installation across Linux, Unix, macOS, and Windows, along with text case conversion, hashing, encoding and decoding, YAML-to-JSON conversion, extraction of IP addresses and URLs, and terminal user interface mode.

### Source excerpt

sttr demo The sttr is a free and open-source command-line tool in Golang that lets you easily change and modify text. You can perform transformation operations on the string, such as hashing text, string manipulation, and more. sttr is beneficial for developers and *nix users requiring swift modification to strings or files directly via the command line or TUI. It is helpful in your scripting, data processing, and automation tasks at the CLI. Love this? sudo share_on: Twitter - Facebook - LinkedIn - Whatsapp - Reddit The post sttr - Awesome Linux & Unix tool for transformation of the string appeared first on nixCraft.

## A case for password hashing with delegation

DevFeed: [A case for password hashing with delegation](<https://devfeed.tech/articles/a-case-for-password-hashing-with-delegation-29179.md>)

Original publisher: [Read original article](<https://www.latacora.com/blog/2023/12/22/case-for-password-hashing/>)

Published: 2023-12-22T15:18:16Z

Content type: article

Language: en

Sources: [Latacora](<https://devfeed.tech/sources/latacora.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [hashing](<https://devfeed.tech/topics/hashing.md>), [Security](<https://devfeed.tech/topics/security.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [delegation](<https://devfeed.tech/tags/delegation.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [password](<https://devfeed.tech/tags/password.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article explains password-based key derivation functions and examines delegated password hashing, in which computation is offloaded to an untrusted server. It discusses how delegation could increase the work factor for systems constrained by weaker devices, with particular attention to encryption-key derivation in end-to-end encrypted backup systems.

### Source excerpt

When people talk about PBKDFs (Password Based Key Derivation Functions), this is usually either in the context of secure password storage, or in the context of how to derive cryptographic keys from potentially low-entropy passwords. The Password Hashing Competition (PHC, 2013-2015) was an open competition to derive new password hashing algorithms, resulting in Argon2 hash as its winner. Apart from achieving general hash security, many of the candidates focused on achieving resistance to parallel attacks on available hardware such as GPUs.

## Secure password hashing in Go

DevFeed: [Secure password hashing in Go](<https://devfeed.tech/articles/secure-password-hashing-in-go-8078.md>)

Original publisher: [Read original article](<https://snyk.io/blog/secure-password-hashing-in-go/>)

Author: Love Bhardwaj

Published: 2023-12-05T17:00:00Z

Content type: tutorial

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Security](<https://devfeed.tech/topics/security.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>)

Tags: [application-security](<https://devfeed.tech/tags/application-security.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [blog](<https://devfeed.tech/tags/blog.md>), [developer](<https://devfeed.tech/tags/developer.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [go](<https://devfeed.tech/tags/go.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [password](<https://devfeed.tech/tags/password.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This tutorial explains secure password hashing in Go. It describes why credentials should not be stored as plaintext, how one-way hash functions protect passwords, how password verification compares a newly computed hash with the stored hash, and how hashing differs from reversible encryption used for other sensitive data. The supplied text begins discussing attack methods but ends before that discussion is complete.

### Source excerpt

December 5, 2023 User credentials are the information required to authenticate a user's identity and grant them access to a system or application. Typically, this includes a username or email address and a password. While a username can be stored as plaintext in a database, sensitive information like email addresses or passwords should not. If a malicious actor gains access to your database where you store this information, you don't want to hand over this information to them easily.

## Consistent hashing algorithm

DevFeed: [Consistent hashing algorithm](<https://devfeed.tech/articles/consistent-hashing-algorithm-33602.md>)

Original publisher: [Read original article](<https://highscalability.com/consistent-hashing-algorithm/>)

Author: NK

Published: 2023-02-22T16:39:15Z

Content type: tutorial

Language: en

Sources: [High Scalability](<https://devfeed.tech/sources/high-scalability-3.md>)

Topics: [consistent hashing](<https://devfeed.tech/topics/consistent-hashing.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [cache](<https://devfeed.tech/tags/cache.md>), [consistent-hashing](<https://devfeed.tech/tags/consistent-hashing.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [load-balancing](<https://devfeed.tech/tags/load-balancing.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sharding](<https://devfeed.tech/tags/sharding.md>), [system-design](<https://devfeed.tech/tags/system-design.md>)

### AI overview

The article explains how consistent hashing places nodes and data keys on a virtual hash ring, then assigns data by traversing the ring clockwise to the next node. It discusses cache-server scaling, hotspot reduction, dynamic load, replication, availability, and latency in distributed systems.

### Source excerpt

You can subscribe to the system design newsletter to excel in system design interviews and software architecture. You can view the original article Consistent hashing explained on systemdesign.one website. How does consistent hashing work? At a high level, consistent hashing performs the following operations: The output of the hash

## Consistent hashing algorithm

DevFeed: [Consistent hashing algorithm](<https://devfeed.tech/articles/consistent-hashing-algorithm-27905.md>)

Original publisher: [Read original article](<http://highscalability.com/blog/2023/2/22/consistent-hashing-algorithm.html>)

Author: NK

Published: 2023-02-22T16:39:15Z

Content type: tutorial

Language: en

Sources: [High Scalability](<https://devfeed.tech/sources/high-scalability.md>), [High Scalability](<https://devfeed.tech/sources/high-scalability-2.md>)

Topics: [hashing](<https://devfeed.tech/topics/hashing.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Software](<https://devfeed.tech/topics/software.md>), [Availability](<https://devfeed.tech/topics/availability.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [availability](<https://devfeed.tech/tags/availability.md>), [cache](<https://devfeed.tech/tags/cache.md>), [consistent-hashing](<https://devfeed.tech/tags/consistent-hashing.md>), [distributed-system](<https://devfeed.tech/tags/distributed-system.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [hotspot](<https://devfeed.tech/tags/hotspot.md>), [load-balancing](<https://devfeed.tech/tags/load-balancing.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sharding](<https://devfeed.tech/tags/sharding.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>)

### AI overview

A tutorial explaining consistent hashing: nodes and data keys are mapped onto a virtual hash ring, and clockwise traversal assigns data to nodes. It discusses terminology, cache-server scaling requirements, hotspot reduction, dynamic load, replication, availability, and latency.

### Source excerpt

This is a guest article by NK. You can view the original article Consistent hashing explained on systemdesign.one website. How does consistent hashing work? At a high level, consistent hashing performs the following operations: The output of the hash function is placed on a virtual ring structure (known as the hash ring) The hashed IP addresses of the nodes are used to assign a position for the nodes on the hash ring The key of a data object is hashed using the same hash function to find the position of the key on the hash ring The hash ring is traversed in the clockwise direction starting from the position of the key until a node is found The data object is stored or retrieved from the node that was found Terminology

## Horizontally scaling Kafka consumers with rendezvous hashing

DevFeed: [Horizontally scaling Kafka consumers with rendezvous hashing](<https://devfeed.tech/articles/horizontally-scaling-kafka-consumers-with-rendezvous-hashing-18546.md>)

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

Author: David Manzanares

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

Content type: article

Language: en

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

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

Tags: [engineering-excellence](<https://devfeed.tech/tags/engineering-excellence.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [patterns](<https://devfeed.tech/tags/patterns.md>)

### AI overview

The article discusses using rendezvous hashing to horizontally scale Kafka consumers while keeping throughput high as partitions become bottlenecks.

### Source excerpt

Kafka horizontal scaling sounds straightforward until partitions become bottlenecks. These patterns keep throughput high as you grow.

## Ultimate Go: Advanced Engineering Episode 12

DevFeed: [Ultimate Go: Advanced Engineering Episode 12](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-12-22201.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/ultimate-go-advanced-engineering-episode-12.html>)

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

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [data](<https://devfeed.tech/topics/data.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Library](<https://devfeed.tech/topics/library.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [bitcoin](<https://devfeed.tech/tags/bitcoin.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [code](<https://devfeed.tech/tags/code.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [hash](<https://devfeed.tech/tags/hash.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [hex-value](<https://devfeed.tech/tags/hex-value.md>), [hexademical](<https://devfeed.tech/tags/hexademical.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

This video tutorial explains how to hash a transaction in Go using packages from the standard library and the Ethereum Go library. It also discusses the desired properties of a hashing function and the role of cryptographic signatures and public-key recovery in a decentralized blockchain.

### Source excerpt

Introduction In episode 11, Bill highlighted the issue of identity verification and provided a solution to this problem. The solution proposed was to cryptographically sign a transaction to verify its authenticity. Bill chose to implement a solution making use of the Elliptic Curve Digital Signature Algorithm (ECDSA) as the public key can be extracted from a signature. Although a small distinction, the ability to re-compute a public key is essential in a decentralized and distributed environment.

## Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database

DevFeed: [Ultimate Go: Advanced Engineering Episode 3 -- Adding a Cryptographic Audit Trail to a Dependency Manager Database](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-3-22189.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-3.html>)

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

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [audit trail](<https://devfeed.tech/topics/audit-trail.md>), [audit](<https://devfeed.tech/topics/audit.md>)

Tags: [audit](<https://devfeed.tech/tags/audit.md>), [audit-trail](<https://devfeed.tech/tags/audit-trail.md>), [cryptographic-audit](<https://devfeed.tech/tags/cryptographic-audit.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [genesis-record](<https://devfeed.tech/tags/genesis-record.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash-algorithms](<https://devfeed.tech/tags/hash-algorithms.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [record-chaining](<https://devfeed.tech/tags/record-chaining.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

This video explains how to add a previous-record hash to a dependency manager database, chaining records into a cryptographic audit trail. Recomputed hashes can reveal database changes, while the genesis record has no previous hash.

### Source excerpt

Introduction In episode 2, Bill designed a database for his dependency manager to enable Go developers to have reproducible,durable and secure builds. This database will house the hash value for each of the dependencies stored. During runtime, these hash values are compared with the dependencies a user has locally. Bill's tool makes this comparison to make sure the user has the right version of the dependency. Each team making use of Bill's dependency manager will have access to its database, however, his database lacked any means to reliably perform audits.

## Ultimate Go: Advanced Engineering Episode 2

DevFeed: [Ultimate Go: Advanced Engineering Episode 2](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-2-22188.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-2.html>)

Published: 2022-12-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [cli](<https://devfeed.tech/tags/cli.md>), [database](<https://devfeed.tech/tags/database.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [go](<https://devfeed.tech/tags/go.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [hash-algorithms](<https://devfeed.tech/tags/hash-algorithms.md>), [hash-collision](<https://devfeed.tech/tags/hash-collision.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [sha-256](<https://devfeed.tech/tags/sha-256.md>), [sha256](<https://devfeed.tech/tags/sha256.md>)

### AI overview

This video tutorial explains how dependency management in Go relates to reproducible builds, blockchain hashing, and trust in a centralized dependency database. It introduces hashes as distributed identifiers, explains collisions, and discusses the use of SHA-256 to reduce collision risk.

### Source excerpt

Introduction In episode 1, Bill finished by describing the dependency management conundrum Go faced in its early days. Prior to the Go team providing the module system, developers were on their own to find a solution. Engineers in the Go community did propose different solutions, but there was no general consensus on which tool to use for dependency management. In this video, Bill will begin to architect a solution to the reproducible build problem. By doing so, you will learn how blockchain hashing works and then Bill will share how centralizing this dependency database will cause other problems. One of these problems is people eventually losing trust in the database because only one stakeholder, Bill, can make changes to it without a means for users to detect the change. He closes this segment with an important question, "how do we establish trust for this CLI's database?"

## Cookie for a Thought - How to Manage HTTP Sessions

DevFeed: [Cookie for a Thought - How to Manage HTTP Sessions](<https://devfeed.tech/articles/cookie-for-a-thought-how-to-manage-http-sessions-29701.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/http-session-best-practices/>)

Author: sakshyam.shah@goteleport.com (Sakshyam Shah)

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

Content type: tutorial

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [HTTP](<https://devfeed.tech/topics/http.md>), [Cookies](<https://devfeed.tech/topics/cookies.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Security](<https://devfeed.tech/topics/security.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [browser](<https://devfeed.tech/tags/browser.md>), [cookies](<https://devfeed.tech/tags/cookies.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [generate](<https://devfeed.tech/tags/generate.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [protection](<https://devfeed.tech/tags/protection.md>), [random](<https://devfeed.tech/tags/random.md>), [security](<https://devfeed.tech/tags/security.md>), [tls](<https://devfeed.tech/tags/tls.md>), [token](<https://devfeed.tech/tags/token.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This article explains how HTTP sessions use cookies to persist session state and support identity-based access control. It recommends protecting session IDs against guessing, replay, and theft, including the use of cryptographically secure random values and TLS.

### Source excerpt

Exploring techniques and best practices to manage HTTP sessions.

## 7 Best Practices for Certificate-Based Authentication

DevFeed: [7 Best Practices for Certificate-Based Authentication](<https://devfeed.tech/articles/7-best-practices-for-certificate-based-authentication-29600.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/certificate-authentication-best-practices/>)

Author: sakshyam.shah@goteleport.com (Sakshyam Shah)

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

Content type: tutorial

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [Authentication](<https://devfeed.tech/topics/authentication.md>), [certificates](<https://devfeed.tech/topics/certificates.md>), [Security](<https://devfeed.tech/topics/security.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [hashing](<https://devfeed.tech/topics/hashing.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [certificates](<https://devfeed.tech/tags/certificates.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [hash](<https://devfeed.tech/tags/hash.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [openssl](<https://devfeed.tech/tags/openssl.md>), [security](<https://devfeed.tech/tags/security.md>), [security-best-practices](<https://devfeed.tech/tags/security-best-practices.md>)

### AI overview

This article explains certificate-based authentication security best practices for developers and administrators, with a focus on infrastructure access. It discusses risks including forged certificates, stolen-certificate reuse, compromised certificate authorities, weak verification, and hash collisions, and recommends established cryptographic algorithms, modules, and libraries.

### Source excerpt

We explain security best practices for both developers and administrators of certificate-based authentication, focusing on infrastructure access.

## Group Actions and Hashing Unordered Multisets

DevFeed: [Group Actions and Hashing Unordered Multisets](<https://devfeed.tech/articles/group-actions-and-hashing-unordered-multisets-40449.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2021/10/14/group-actions-and-hashing-unordered-multisets/>)

Published: 2021-10-14T08:00:00Z

Content type: article

Language: en

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

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

Tags: [abelian-groups](<https://devfeed.tech/tags/abelian-groups.md>), [group-actions](<https://devfeed.tech/tags/group-actions.md>), [group-theory](<https://devfeed.tech/tags/group-theory.md>), [groups](<https://devfeed.tech/tags/groups.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [multiset](<https://devfeed.tech/tags/multiset.md>), [multisets](<https://devfeed.tech/tags/multisets.md>), [practical](<https://devfeed.tech/tags/practical.md>), [programming](<https://devfeed.tech/tags/programming.md>), [xor](<https://devfeed.tech/tags/xor.md>)

### AI overview

The article introduces a result by Kevin Ventullo that applies group actions to hash functions for unordered sets and multisets. It explains why incremental, order-independent hashing is useful and describes collision-related weaknesses of addition and XOR approaches.

### Source excerpt

I learned of a neat result due to Kevin Ventullo that uses group actions to study the structure of hash functions for unordered sets and multisets. This piqued my interest because a while back a colleague asked me if I could think of any applications of "pure" group theory to practical computer programming that were not cryptographic in nature. He meant, not including rings, fields, or vector spaces whose definitions happen to be groups when you forget the extra structure.

## Searching for RH Counterexamples -- Scaling Up

DevFeed: [Searching for RH Counterexamples -- Scaling Up](<https://devfeed.tech/articles/searching-for-rh-counterexamples-scaling-up-40444.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2021/02/16/searching-for-rh-counterexamples-scaling-up/>)

Published: 2021-02-16T09:00:00Z

Content type: article

Language: en

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

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [hashing](<https://devfeed.tech/topics/hashing.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [sha256](<https://devfeed.tech/topics/sha256.md>), [hash](<https://devfeed.tech/topics/hash.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [disk-space](<https://devfeed.tech/tags/disk-space.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [programming](<https://devfeed.tech/tags/programming.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [riemann-hypothesis](<https://devfeed.tech/tags/riemann-hypothesis.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [sha256](<https://devfeed.tech/tags/sha256.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This article describes scaling a search for counterexamples to the Riemann Hypothesis. It focuses on reducing storage by keeping deterministic SHA-256 summaries instead of every witness value and refactoring the application into a worker architecture.

### Source excerpt

We're ironically searching for counterexamples to the Riemann Hypothesis. Setting up Pytest Adding a Database Search Strategies Unbounded integers Deploying with Docker Performance Profiling Last time we made the audacious choice to remove primary keys from the RiemannDivisorSums table for performance reasons. To help with that, we will do two things in this post Reduce the storage footprint of the whole application (it was 60 GiB when it crashed, and we got up to 84 prime factors).

## Ask about Geth: Snapshot acceleration

DevFeed: [Ask about Geth: Snapshot acceleration](<https://devfeed.tech/articles/ask-about-geth-snapshot-acceleration-16911.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2020/07/17/ask-about-geth-snapshot-acceleration>)

Author: Péter Szilágyi

Published: 2020-07-17T00:00:00Z

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [series](<https://devfeed.tech/tags/series.md>)

### AI overview

This first article in a question-and-answer series explains how Ethereum represents and verifies state. It contrasts flat and legacy database structures, then describes Merkle trees, Patricia trees, and the combined Merkle Patricia tree used for state, including the logarithmic complexity of updates and verification.

### Source excerpt

\This is part #1 of a series where anyone can ask questions about Geth and I'll attempt to answer the highest voted one each week with a mini writeup. This week's highest voted question was: Could you share how the flat db structure is different from the legacy structure?\...

## The 1.x Files: A Primer for the Witness Specification

DevFeed: [The 1.x Files: A Primer for the Witness Specification](<https://devfeed.tech/articles/the-1-x-files-a-primer-for-the-witness-specification-16901.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2020/05/04/eth1x-witness-primer>)

Author: Griffin Ichiba Hotchkiss

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

Content type: tutorial

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [blockchain](<https://devfeed.tech/tags/blockchain.md>), [canonical](<https://devfeed.tech/tags/canonical.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [research-development](<https://devfeed.tech/tags/research-development.md>)

### AI overview

This primer explains the formal Witness Specification as part of the Stateless Ethereum effort. It introduces Ethereum state, including accounts, balances, smart-contract code and memory, and describes how the state is represented by a Merkle-Patricia Trie whose root hash can be used for verification.

### Source excerpt

Since a lot of us have a bit more time on our hands, I thought now might be a good opportunity to proceed with something perhaps a little bit boring and tedious, but nevertheless quite fundamental to the Stateless Ethereum effort: understanding the formal Witness Specification. Like the captain...

## Improving Registration Lock with Secure Value Recovery

DevFeed: [Improving Registration Lock with Secure Value Recovery](<https://devfeed.tech/articles/improving-registration-lock-with-secure-value-recovery-1779.md>)

Original publisher: [Read original article](<https://signal.org/blog/improving-registration-lock/>)

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

Content type: release

Language: en

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

Topics: [Security](<https://devfeed.tech/topics/security.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [code](<https://devfeed.tech/tags/code.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [release](<https://devfeed.tech/tags/release.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Signal's beta release changes Registration Lock PIN protection by transitioning it to Secure Value Recovery. The change derives a random 256-bit value for access control, reducing the risk of offline brute-force attacks against stored PIN data while preserving PIN usability.

### Source excerpt

Registration Lock allows you to set a PIN that is required for account registration in addition to standard SMS-based verification. Today's Signal beta release enhances the security of these PINs by transitioning them to use Secure Value Recovery. Read more...

## The 1.x Files: The State of Stateless Ethereum

DevFeed: [The 1.x Files: The State of Stateless Ethereum](<https://devfeed.tech/articles/the-1-x-files-the-state-of-stateless-ethereum-16880.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2019/12/30/eth1x-files-state-of-stateless-ethereum>)

Author: Griffin Ichiba Hotchkiss

Published: 2019-12-30T00:00:00Z

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [client](<https://devfeed.tech/topics/client.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [data-structure](<https://devfeed.tech/tags/data-structure.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [node](<https://devfeed.tech/tags/node.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [root](<https://devfeed.tech/tags/root.md>), [state](<https://devfeed.tech/tags/state.md>), [stateless](<https://devfeed.tech/tags/stateless.md>)

### AI overview

This deep dive explains Ethereum state and the stateless client direction of Eth 1.x research. It describes how Ethereum state represents accounts, balances, and smart-contract memory, and how the Merkle-Patricia Trie organizes that data through branching, hashing, and a state root.

### Source excerpt

In the last edition of The 1.x files, we did a quick re-cap of where the Eth 1.x research initiative came from, what's at stake, and what some possible solutions are. We ended with the concept of stateless ethereum, and left a more detailed examination of the stateless client for...

## ReactOS Website Migrated to New Login System and Upgraded Components

DevFeed: [ReactOS Website Migrated to New Login System and Upgraded Components](<https://devfeed.tech/articles/website-upgraded-33256.md>)

Original publisher: [Read original article](<https://reactos.org/project-news/website-upgraded/>)

Published: 2018-07-04T00:00:00Z

Content type: release

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Website](<https://devfeed.tech/topics/website.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Database](<https://devfeed.tech/topics/database.md>), [hashing](<https://devfeed.tech/topics/hashing.md>), [Credential theft](<https://devfeed.tech/topics/credential-theft.md>), [jira](<https://devfeed.tech/topics/jira.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [change](<https://devfeed.tech/tags/change.md>), [credential-theft](<https://devfeed.tech/tags/credential-theft.md>), [database](<https://devfeed.tech/tags/database.md>), [free](<https://devfeed.tech/tags/free.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [jira](<https://devfeed.tech/tags/jira.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [password](<https://devfeed.tech/tags/password.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [service](<https://devfeed.tech/tags/service.md>), [website](<https://devfeed.tech/tags/website.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

The ReactOS Website was migrated to a new login system, its components were upgraded, and its user database was moved and cleaned of unused accounts. The article advises users to change their passwords and notes that some newer accounts may require a password reset.

### Source excerpt

Today, the ReactOS Website has been migrated to a new Login system and all components have been upgraded to their latest versions. In the course of that, the user database has also been moved and cleaned from accounts that have never been used. Such large migrations hardly go without issues, so if you notice anything wrong, please report a bug in our JIRA bugtracker. You are also advised to change your password in the Self-Service, even if it's just to the same one.

## The False Allure of Hashing for Anonymization

DevFeed: [The False Allure of Hashing for Anonymization](<https://devfeed.tech/articles/the-false-allure-of-hashing-for-anonymization-29671.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/hashing-for-anonymization/>)

Author: info@goteleport.com (Kevin Nisbet)

Published: 2018-04-30T00:00:00Z

Content type: article

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [hashing](<https://devfeed.tech/topics/hashing.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Security, Privacy and Abuse Prevention](<https://devfeed.tech/topics/security-privacy-and-abuse-prevention.md>), [data](<https://devfeed.tech/topics/data.md>), [sha256](<https://devfeed.tech/topics/sha256.md>)

Tags: [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [data](<https://devfeed.tech/tags/data.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [sha256](<https://devfeed.tech/tags/sha256.md>)

### AI overview

The article explains why cryptographic hashing, including SHA-256, does not by itself make personal data anonymous. Hashes of predictable values such as usernames and email addresses can be tested against guesses and identified.

### Source excerpt

Why using cryptographic hashes doesn't make data anonymous.

## Introducing Gradle Build Cache Beta

DevFeed: [Introducing Gradle Build Cache Beta](<https://devfeed.tech/articles/introducing-gradle-build-cache-beta-24652.md>)

Original publisher: [Read original article](<https://blog.gradle.org/introducing-gradle-build-cache>)

Author: Sterling Greene

Published: 2017-04-10T04:00:00Z

Content type: article

Language: en

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

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [build-performance](<https://devfeed.tech/tags/build-performance.md>), [cache](<https://devfeed.tech/tags/cache.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [hashing](<https://devfeed.tech/tags/hashing.md>)

### AI overview

The article introduces the Gradle Build Cache Beta, which reuses task outputs locally and shares them between machines to reduce build times.

### Source excerpt

Introduced in Gradle 3.5 to reduce build time. What does it do? The build cache reuses the outputs of Gradle tasks locally and shares task outputs between machines. In many cases, this will accelerate the average build time. The build cache is complementary to Gradle's incremental build features, which optimizes build performance for local changes that have not been built already. Many Gradle tasks are designed to be incremental, so that if the inputs and outputs of the task do not change, Gradle can skip the task. Even when the task's inputs have changed, some tasks can rebuild only the parts that have changed. Of course, these techniques only work if there are already outputs from previous local builds. In the past, building on fresh checkouts or executing "clean" builds required building everything from scratch again, even if the result of those builds had already been created locally or on another machine (such as the continuous integration server). Now, Gradle uses the inputs of a task as a key to uniquely identify the outputs for a task. With the build cache feature enabled, if Gradle can find that key in a build cache, Gradle will skip task execution and directly copy the outputs from the cache into the build directory. This can be much faster than executing the task again. In particular, if you're using a continuous integration server, you can configure Gradle to push task outputs to a shared build cache. When a developer builds, task outputs already built on CI are copied to the developer's machine. This can greatly improve the developer's local build experience. When using the local build cache, instead of rebuilding large parts of the project whenever you switch branches, Gradle can skip task execution and pull the previous outputs from the local cache. How does it work? A cacheable Gradle task is designed to declare everything that can affect the output of the task as an input. Gradle calculates a build cache key by hashing over all of the inputs to a ta

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