# Randomizer

A randomizer is a process that produces an individual random value or a random sequence, typically bits.

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

## What algorithm did Windows XP use to choose your initial user picture?

DevFeed: [What algorithm did Windows XP use to choose your initial user picture?](<https://devfeed.tech/articles/what-algorithm-did-windows-xp-use-to-choose-your-initial-user-picture-21759.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683>)

Author: Raymond Chen

Published: 2026-09-09T14:00:00Z

Content type: article

Language: en

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

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [files](<https://devfeed.tech/tags/files.md>), [history](<https://devfeed.tech/tags/history.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [random](<https://devfeed.tech/tags/random.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains that Windows XP selected an initial user picture randomly from the Default Pictures directory using the current time as the random seed. It describes a one-pass reservoir-sampling algorithm, including its efficiency and behavior when files change during selection, with a 100-picture safety limit.

### Source excerpt

It's random, really. The post What algorithm did Windows XP use to choose your initial user picture? appeared first on The Old New Thing.

## Security Week 2632: массовый угон криптовалюты у пользователей кошельков COLDCARD

DevFeed: [Security Week 2632: массовый угон криптовалюты у пользователей кошельков COLDCARD](<https://devfeed.tech/articles/security-week-2632-coldcard-23085.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/kaspersky/articles/1065992/>)

Author: Kaspersky\_Lab ("Лаборатория Касперского")

Published: 2026-08-04T03:26:05Z

Content type: news

Language: ru

Sources: ["Лаборатория Касперского" RU](<https://devfeed.tech/sources/ru-2.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>)

Tags: [card](<https://devfeed.tech/tags/card.md>), [coin](<https://devfeed.tech/tags/coin.md>), [kite](<https://devfeed.tech/tags/kite.md>), [research](<https://devfeed.tech/tags/research.md>), [security](<https://devfeed.tech/tags/security.md>), [tag-9fe8963de219](<https://devfeed.tech/tags/tag-9fe8963de219.md>), [tag-d14eb265d33e](<https://devfeed.tech/tags/tag-d14eb265d33e.md>), [tag-d4be1d74f775](<https://devfeed.tech/tags/tag-d4be1d74f775.md>)

### AI overview

A predictable software random-number implementation in COLDCARD hardware wallets allowed an attacker to reconstruct wallet seeds and steal cryptocurrency. By August 1, reports cited 1,367 stolen bitcoins from 4,585 addresses, worth approximately $88 million.

### Source excerpt

Громкой новостью прошлой недели стала массовая кража криптовалюты у пользователей холодных кошельков COLDCARD. Хотя в теории холодные кошельки (аппаратные устройства, хранящие данные для доступа к криптовалюте) лучше защищены от кибератак, но в реальности COLDCARD подвела ошибка при реализации криптографического алгоритма: вместо надежной аппаратной генерации случайных чисел использовалась программная реализация, результаты работы которой могли быть предсказаны. Злоумышленник смог реконструировать так называемый сид, открывающий доступ ко всем сохраненным на кошельках секретам, для большого количества кошельков,. Правильность вычисления сида могла быть проконтролирована путем сверки с публичными данными, включая историю транзакций в биткоинах. Имея на руках всю необходимую информацию, организатору атаки оставалось перевести средства на собственные кошельки. Точно оценить итоговый ущерб пока затруднительно, но по данным на 1 августа было украдено 1367 биткоинов с 4585 адресов, это примерно соответствует 88 миллионам долларов. Читать далее

## Libraries I use for generative art

DevFeed: [Libraries I use for generative art](<https://devfeed.tech/articles/libraries-i-use-for-generative-art-37303.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/js-libraries-for-generative-art/>)

Author: Stanko

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

Content type: article

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [plotting](<https://devfeed.tech/topics/plotting.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>)

Tags: [generative-art](<https://devfeed.tech/tags/generative-art.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [plotting](<https://devfeed.tech/tags/plotting.md>), [programming](<https://devfeed.tech/tags/programming.md>), [random](<https://devfeed.tech/tags/random.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

A curated list of JavaScript libraries used to create generative art, organized into categories including randomness and noise, geometry, vector fields, 3D, spatial data structures, Axidraw, and other tools. The author selected the libraries based partly on performance and describes their practical uses.

### Source excerpt

This is going to be a very straight forward post. Just a list of JavaScript libraries I use in creating my generative art. And I really mean I use (and abuse) them. All of them are used in multiple of my drawings. I'll include couple of photos under the respective libraries. I finally settled with these libraries after trying several other alternatives for each. Performance was one of the key factors (especially as generative work can get brute-forcy sometimes). Huge thank you to all people who created and shared these wonderful tools!Also, as a rule of thumb, when you find a good library, you might want to check author's GitHub profile. In the most cases you are going to find more useful stuff there. That is exactly how I found some of these. Categories: Randomness and noise Geometry Vector fields 3D vector line engines Spatial data structures Axidraw Other Randomness and noise # seedrandom # In generative programming it is super important to be able to repeat the same output. As randomness is heavily involved, we need a way to repeat random values. That's where seedrandom steps in as an excellent seeded random number generator. random-words # For random number generator seeds, I like to use real words instead of randomly generated strings. This library is a simple dictionary of couple of thousands english words. simplex-noise # Fast implementation of Open Simplex noise. poisson-disk-sampling # When you need a random collections of points in space, Poisson sampling is a great tool. It gives us much more natural distribution than just using random values. Geometry # js-angusj-clipper # This library is a lifesaver. For all your polygon clipping and offseting needs. And it is super fast as it is implemented in WebAssembly. voronoi # Sometimes I think I use Voronoi diagrams too much in my work. Anyway, this library efficiently computes Voronoi diagrams. robust-point-in-polygon # For figuring out if the point is inside of the polygon. I tried a couple of other libraries

## Insomnihack22: Reversing a flawed ECC rng-as-a-service Go Server

DevFeed: [Insomnihack22: Reversing a flawed ECC rng-as-a-service Go Server](<https://devfeed.tech/articles/insomnihack22-reversing-a-flawed-ecc-rng-as-a-service-go-server-39681.md>)

Original publisher: [Read original article](<https://mahaloz.re/2022/02/07/Insomnihack22-go-rev.html>)

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

Content type: tutorial

Language: en

Sources: [mahaloz.re](<https://devfeed.tech/sources/mahaloz-re.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [servers](<https://devfeed.tech/topics/servers.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [crypto](<https://devfeed.tech/tags/crypto.md>), [ctf](<https://devfeed.tech/tags/ctf.md>), [ecc](<https://devfeed.tech/tags/ecc.md>), [game-hacking](<https://devfeed.tech/tags/game-hacking.md>), [go](<https://devfeed.tech/tags/go.md>), [ida](<https://devfeed.tech/tags/ida.md>), [reversing](<https://devfeed.tech/tags/reversing.md>), [server](<https://devfeed.tech/tags/server.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>)

### AI overview

This write-up explains how to reverse a Go binary from the Insomnihack Teaser 2022 Nobus101 challenge. The binary provides an RNG service using a flawed P-256 elliptic-curve construction with reversible parameters, and the solution applies ideas from the Dual EC cryptography paper.

### Source excerpt

Reversing a Go binary to find it generates flawed RNG from a P256 Elliptic Curve chosen with a reversible P and Q for number generation. Solution based on the Dual EC crypto paper.

## Functional Duplications

DevFeed: [Functional Duplications](<https://devfeed.tech/articles/functional-duplications-21797.md>)

Original publisher: [Read original article](<http://blog.cleancoder.com/uncle-bob/2021/10/28/functional-duplication.html>)

Published: 2021-10-28T00:00:00Z

Content type: opinion

Language: en

Sources: [Robert C. Martin](<https://devfeed.tech/sources/robert-c-martin.md>), [The Clean Code Blog](<https://devfeed.tech/sources/the-clean-code-blog.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [random](<https://devfeed.tech/tags/random.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>)

### AI overview

The article describes debugging a crash in a Space War game after randomly placed bases were duplicated at the same location. Despite using TDD and having test coverage, the defect appeared during gameplay and was traced by adding runtime checks until the responsible low-frequency function was found.

### Source excerpt

I broke out my old Space War game a few days ago and decided to make a few changes to speed the game up and make it more fun to play. In so doing I discovered a very interesting bug. One of the changes I made was to populate the initial space with a few random bases scattered here and there. This would allow the player some extra resources with which to battle the Klingons while building up a network of more bases. While I was playing the modified game, it crashed. Hard. Now I wrote this with TDD, and I was very disciplined about the cleanliness of the code, and the test coverage. So this was unexpected. So I dug up all my old debugging skills from the pit in which I had buried them, and started to work out what was going on. It wasn't long before I realized that crash was occuring because a transport was being launched between two bases, but the angle of the velocity vector of the transport was :bad-angle. This can only happen if the two bases exist at the exact same location. Bases don't move around in this game, so there's no chance that two bases will accidentally slide on top of each other. There is a very (very) minor chance that the random number generator will put two bases on top of each other at the start of the game; but the odds are so miniscule that didn't worry about it. In any case, this crash happened well into the game I was playing, so initial values could not have been the cause. Fortunately it's pretty easy to hunt and peck around in the game, so I was quickly able to discover that the two bases in question were duplicates of each other. Something in my code was duplicating bases! Well now that should't be too hard to find. So I wrote a litte function that would examine the world and halt with a message if the world contained two bases at the same location. I called this function in the main update loop, and sure enough after 20 minutes of play the program halted with my message. Unfortunately being able to detect that the duplication occurred di

## Writing Simulations Using Go

DevFeed: [Writing Simulations Using Go](<https://devfeed.tech/articles/writing-simulations-using-go-22174.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2021/01/writing-simulations-using-go.html>)

Published: 2021-01-13T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Simulation](<https://devfeed.tech/topics/simulation.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Statistics](<https://devfeed.tech/topics/statistics.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [programming](<https://devfeed.tech/tags/programming.md>), [random](<https://devfeed.tech/tags/random.md>), [simulation](<https://devfeed.tech/tags/simulation.md>), [statistics](<https://devfeed.tech/tags/statistics.md>)

### AI overview

A practical tutorial on writing simulations in Go using a random number generator. It demonstrates a Catan dice-roll simulation that estimates how often each sum occurs and explains why seeding affects repeated results.

### Source excerpt

Introduction If you can write a for-loop, you can do statistics. - Jake Vanderplas A lot of developers shy away from problems which involve statistics or probability. Which is shameful since in today's data-rich environment, you can gain a lot of insights from data. In this blog post, I'll show you how to write a simulation tool which requires no knowledge in statistics or probability. Simulations are easy to write and can be a very effective tool in research. You only need some basic programming skills and a random number generator.

## On Generating Identity Hash Codes

DevFeed: [On Generating Identity Hash Codes](<https://devfeed.tech/articles/on-generating-identity-hash-codes-24843.md>)

Original publisher: [Read original article](<https://alidg.me/blog/2020/7/15/hash-code>)

Author: Alimate

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

Content type: tutorial

Language: en

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

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [cas](<https://devfeed.tech/tags/cas.md>), [generate](<https://devfeed.tech/tags/generate.md>), [hash](<https://devfeed.tech/tags/hash.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [memory](<https://devfeed.tech/tags/memory.md>), [retry](<https://devfeed.tech/tags/retry.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

This tutorial explains how the HotSpot JVM generates identity hash codes in Java. It examines several strategies, including Park-Miller/Lehmer random number generation, memory-address-based values, a constant value, and sequential numbers, while discussing atomic updates and contention.

### Source excerpt

Have you ever wondered how does the HotSpot JVM generate identity hashcodes?

## Thread Local Randoms in Java

DevFeed: [Thread Local Randoms in Java](<https://devfeed.tech/articles/thread-local-randoms-in-java-24841.md>)

Original publisher: [Read original article](<https://alidg.me/blog/2020/4/24/thread-local-random>)

Author: Alimate

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

Content type: tutorial

Language: en

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

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [atomics](<https://devfeed.tech/tags/atomics.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [java](<https://devfeed.tech/tags/java.md>), [lock-free](<https://devfeed.tech/tags/lock-free.md>), [performance](<https://devfeed.tech/tags/performance.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

This article examines thread-local random number generation in Java. It compares a shared generator, a simple thread-local implementation, and the built-in approach, explaining how contention, atomic operations, synchronization, and shared mutable state affect throughput.

### Source excerpt

Benchmarking regular randoms against thread-local ones!

## The Blum-Blum-Shub Pseudorandom Generator

DevFeed: [The Blum-Blum-Shub Pseudorandom Generator](<https://devfeed.tech/articles/the-blum-blum-shub-pseudorandom-generator-40401.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2016/07/11/the-blum-blum-shub-pseudorandom-generator/>)

Published: 2016-07-11T08:00:54Z

Content type: tutorial

Language: en

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

Topics: [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Python](<https://devfeed.tech/topics/python.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [generator](<https://devfeed.tech/tags/generator.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [miller-rabin](<https://devfeed.tech/tags/miller-rabin.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A tutorial on the Blum-Blum-Shub pseudorandom number generator, including a Python implementation, prime selection, quadratic residues, and the computational assumptions behind its unpredictability.

### Source excerpt

Problem: Design a random number generator that is computationally indistinguishable from a truly random number generator. Solution (in Python): note this solution uses the Miller-Rabin primality tester, though any primality test will do. See the github repository for the referenced implementation. from randomized.primality import probablyPrime import random def goodPrime(p): return p % 4 == 3 and probablyPrime(p, accuracy=100) def findGoodPrime(numBits=512): candidate = 1 while not goodPrime(candidate): candidate = random.getrandbits(numBits) return candidate def makeModulus(): return findGoodPrime() * findGoodPrime() def parity(n): return sum(int(x) for x in bin(n)[2:]) % 2 class BlumBlumShub(object): def __init__(self, seed=None): self.

## Problème de connexion à Oracle

DevFeed: [Problème de connexion à Oracle](<https://devfeed.tech/articles/probleme-de-connexion-a-oracle-26062.md>)

Original publisher: [Read original article](<https://blog.arkey.fr/2015/11/06/probleme-de-connection-a-oracle/>)

Author: brice.dutheil@gmail.com (Brice Dutheil)

Published: 2015-11-06T22:33:53Z

Content type: tutorial

Language: fr

Sources: [The Coffee Workshop](<https://devfeed.tech/sources/the-coffee-workshop.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Firewall](<https://devfeed.tech/topics/firewall.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [firewall](<https://devfeed.tech/tags/firewall.md>), [http](<https://devfeed.tech/tags/http.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [linux](<https://devfeed.tech/tags/linux.md>), [posix](<https://devfeed.tech/tags/posix.md>), [random](<https://devfeed.tech/tags/random.md>)

### AI overview

This article examines two causes of Oracle database connection problems that can lead to HTTP timeouts: insufficient system entropy and firewall connection termination. It explains how Java and POSIX random sources affect blocking behavior and discusses the security trade-off between /dev/random and /dev/urandom.

### Source excerpt

Deux problèmes assez courant peuvent survenir sur les connexions à une base de donnée Oracle. Ces problèmes peuvent être à l'origine de timeout sur les connexions HTTP, etc... Ces deux problèmes touchent deux choses totalement différente, l'entropie du système et la coupure de connexion par un firewall.

## Hardware entropy: RDRAND

DevFeed: [Hardware entropy: RDRAND](<https://devfeed.tech/articles/hardware-entropy-rdrand-38923.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2013-03-25-hardware-entropy-rdrand>)

Author: Marek

Published: 2013-03-24T23:00:00Z

Content type: article

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Security](<https://devfeed.tech/topics/security.md>), [intel](<https://devfeed.tech/topics/intel.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>)

Tags: [aes](<https://devfeed.tech/tags/aes.md>), [ansi](<https://devfeed.tech/tags/ansi.md>), [bits](<https://devfeed.tech/tags/bits.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [entropy](<https://devfeed.tech/tags/entropy.md>), [fips](<https://devfeed.tech/tags/fips.md>), [generator](<https://devfeed.tech/tags/generator.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [intel](<https://devfeed.tech/tags/intel.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [nist](<https://devfeed.tech/tags/nist.md>), [security](<https://devfeed.tech/tags/security.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This article explains Intel's RDRAND instruction, which uses an on-processor entropy source and AES conditioning to produce hardware-generated random numbers. It also describes checking the carry flag because RDRAND may temporarily return no data when demand exceeds hardware supply.

### Source excerpt

Hardware entropy: RDRAND This is the third blog post on machine instructions: This time I've noticed instruction. According to Wikipedia is: ... a random number generator that is compliant with security and cryptographic standards such as NIST SP800-90, FIPS 140-2, and ANSI X9.82. The generator uses an on-processor entropy source, which passes the randomly generated bits to an AES (in CBC-MAC mode) conditioner to distill the entropy into non-deterministic random numbers. Sounds good.

## Making C compiler generate obfuscated code

DevFeed: [Making C compiler generate obfuscated code](<https://devfeed.tech/articles/making-c-compiler-generate-obfuscated-code-20536.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/58/>)

Published: 2010-12-06T23:00:00Z

Content type: article

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [random](<https://devfeed.tech/tags/random.md>), [reverse-engineering](<https://devfeed.tech/tags/reverse-engineering.md>)

### AI overview

The article describes patching the Tiny C compiler to insert random noise code between effective instructions, making compiled programs more difficult to reverse engineer. It notes the performance cost, suggests limiting obfuscation to critical algorithms, and reports that an example crackme was eventually reversed.

### Source excerpt

Making C compiler generate obfuscated code