Raymond Chen
- Indexed articles, last 90 days
- 5
- Latest publication
- Sep 10, 2026
- Outlet visibility, for Microsoft DevBlogs
- Top 500K sites
- Earliest in this view
- Aug 11, 2026
Latest articles
Why is the x86 undefined instruction called ud2? Why 2? - The Old New Thing (opens the original)
Read excerpt
If you look at x86 compiler output (or if, like me, you’re looking at a crash caused by some software that tried to detour an API), you may see an instruction ud2. What’s up with that? The ud2 instruction is an architecturally undefined instruction, guaranteed to raise an “invalid opcode” exception. Some compilers generate it to mark “unreachable” code, so that if execution somehow manages to reach it, you get a crash rather than executing random instructions. For example, if a function marked [
What algorithm did Windows XP use to choose your initial user picture? - The Old New Thing (opens the original)
Read excerpt
I noted some time ago that Windows XP chose your initial picture at random from among the pictures in the %ALLUSERSPROFILE%\Application Data\Microsoft\User Account Pictures\Default Pictures directory. But it seems people want to know more. Has anyone attempted to figure out the RNG for how Windows XP determines what profile picture is used on first account creation? The random number generator is our friend RtlRandomEx, using the current value of GetTickCount() as the initial seed. The function
Why did the Microsoft Entertainment Pack for Windows have a special sticker announcing that it also had Tetris? - The Old New Thing (opens the original)
Read excerpt
The first Microsoft Entertainment Pack for Windows didn’t have a number after its name because it was the first one, and nobody knew that there were going to be any sequels.¹ It may not have had a big number 1 on the box, but initial runs did have a bright red sticker that said, “Now includes TETRIS for Windows!” There was no mention of Tetris anywhere else on the box. Why did it announce the inclusion of Tetris only with a sticker? Because at the time the first run of boxes were being printed,
How do functions like alloca allocate memory from the stack? - The Old New Thing (opens the original)
Read excerpt
A little while ago, I talked about how compilers ensure that large stack allocations do not skip over the guard page. Shawn Van Ness was curious how this works with _alloca. “Does it do the necessary _chkstk() probing?” Yes, the _alloca() function calls the same _chkstk() function to probe the stack before adjusting the stack pointer for the allocated memory. Observe that the same __chkstk function is used both for performing the initial stack probe when creating the local frame as well as for t
The little-known winstart.bat batch file - The Old New Thing (opens the original)
Read excerpt
Reader Otul Osan wants to know what the use case for C:\WINDOWS\WINSTART.BAT was, compared to C:\AUTOEXEC.BAT and when exactly during system startup it launches. In Windows 95, you could create a winstart.bat file in your Windows directory. During startup, the virtual machine manager initializes and creates the so-called “System virtual machine” (the “System VM”), which is the virtual machine that all Windows programs run in. But before running the user-mode kernel in that virtual machine, the v
Publishing over time
Last 90 days. Choose a month to open its work.
Recurring subjects
Named in the text we hold. One piece can cover several.
Audience
Top 500K sites
For Microsoft DevBlogs, the outlet · Measured Aug 1, 2026
Website popularity band, not a count of readers or article views.
About this data
Counts cover the work we have indexed. Tone needs enough text and a confident classification. Excerpts and episode notes are not full articles or transcripts.
Identity or attribution wrong? Suggest a correction.