Hexspeak
Hexspeak, like leetspeak, is a novelty form of variant English spelling using the hexadecimal digits. Created by programmers as memorable magic numbers, hexspeak words can serve as a clear and unique identifier with which to mark memory or data.
Hexadecimal notation represents numbers using the 16 digits
0123456789ABCDEF
. Using only the letters ABCDEF
it is possible to spell several words. Further words can be made by treating some of the decimal numbers as letters - the digit "0
" can represent the letter "O", and "1
" can represent the letters "I" or "L". Less commonly, "5
" can represent "S", "7
" represent "T", "12
" represent "R" and "6
" or "9
" can represent "G" or "g", respectively. Numbers such as 2
, 4
or 8
can be used in a manner similar to leet or rebuses; e.g. the word "defecate" can be expressed either as DEFECA7E
or DEFEC8
.Notable magic numbers
Many computer processors, operating systems, and debuggers make use of magic numbers, especially as a magic debug value.Code | Decimal | Description |
0x0000000FF1CE | 1044942 | is used as the last part of product codes for Microsoft Office components. |
0x00BAB10C | 12235020 | is used as the magic number for the ZFS uberblock. |
0x1BADB002 | 464367618 | Multiboot header magic number. |
0x1CEB00DA | 485163226 | was used as the origin for the binary file parser IceBuddha. |
0x4B1D | 19229 | was a password in some calibration consoles for developers to peer deeper into control registers outside the normal calibration memory range. |
0x8BADF00D | 2343432205 | is used by Apple in iOS crash reports, when an application takes too long to launch, terminate, or respond to system events. |
0xABADBABE | 2880289470 | was/is used by Microsoft's Windows 7 to trigger a debugger break-point, probably when a USB device is attached |
0xB105F00D | 2969956365 | is the value of the low bytes of last four registers on ARM PrimeCell compatible components, used to identify correct behaviour of a memory-mapped component. |
0xB16B00B5 | 2976579765 | was required by Microsoft's Hyper-V hypervisor to be used by Linux guests as their "guest signature". One proposal suggested changing it to 0x0DEFACED . But in actuality, it was initially changed to decimal and then replaced entirely. |
0x0B00B135 | 184594741 | was likewise required by Microsoft's Hyper-V hypervisor to be used by a user of XEN as their user id. It was removed on Jan 22, 2010. |
0xBAAAAAAD | 3131746989 | is used by Apple's iOS exception report to indicate that the log is a stackshot of the entire system, not a crash report. |
0xBAADF00D | 3131961357 | is used by Microsoft's LocalAlloc to indicate uninitialised allocated heap memory when the debug heap is used. |
0xBAD22222 | 3134333474 | is used by Apple's iOS exception log to indicate that a VoIP application has been terminated by iOS because it resumed too frequently. |
0xBADDCAFE | 3135097598 | is used by Libumem to indicate uninitialized memory area. |
0xBEEFBABE | 3203381950 | is used by Frogger to detect a stack buffer overflow. |
0xB000 0xDEAD | 2952847021 | was displayed by the HP 9000 Model 840 when it crashed. |
0xC00010FF | 3221229823 | is used by Apple in iOS crash reports, when application was killed in response to a thermal event. |
C15C:0D06:F00D | 212601099710477 | used in the IPv6 address of www.cisco.com on World IPv6 Day. "Dog food" refers to Cisco eating its own dog food with IPv6. |
0xCAFEBABE | 3405691582 | is used by Plan 9's libc as a poison value for memory pools. It is also used by Mach-O to identify Universal object files, and by the Java programming language to identify Java bytecode class files. It was originally created by NeXTSTEP developers as a reference to the baristas at Peet's Coffee & Tea. |
0xCAFED00D | 3405697037 | is used by Java as a magic number for their pack200 compression. |
0xCEFAEDFE | 3472551422 | is used by Mach-O to identify flat object files. In little endian this reads FEEDFACE , "Feed Face". |
0x0D15EA5E | 219540062 | is a flag that indicates regular boot on the Nintendo GameCube and Wii consoles. |
0xDABBAD00 | 3669732608 | is the name of a blog on computer security. |
0xDEAD2BAD | 3735890861 | was used to mark allocated areas of memory that had not yet been initialised on Sequent Dynix/ptx systems. |
0xDEADBAAD | 3735927469 | is used by the Android libc abort function when native heap corruption is detected. |
0xDEADBABE | 3735927486 | is used by IBM Jikes RVM as a sanity check of the stack of the primary thread. |
0xDEADBEAF | 3735928495 | is part of the signature code of Jazz Jackrabbit 2 tileset files. Level files have less room for their signatures and use 0xBABE instead. It is also the header of campaign gamesaves used in the Halo Game Series. |
deadbeef-dead-beef-dead-beef00000075 | is the GUID assigned to hung/dead virtual machines in Citrix XenServer. | |
0xDEADBEEF | 3735928559 | is frequently used to indicate a software crash or deadlock in embedded systems. 0xDEADBEEF was originally used to mark newly allocated areas of memory that had not yet been initialized—when scanning a memory dump, it is easy to see the 0xDEADBEEF . It is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun Microsystems' Solaris, it marks freed kernel memory. On OpenVMS running on Alpha processors, 0xDEADBEEF can be seen by pressing CTRL-T. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef". |
0xDEADC0DE | 3735929054 | is used as a marker in OpenWrt firmware to signify the beginning of the to-be created jffs2 filesystem at the end of the static firmware. |
0xDEADDEAD | 3735936685 | is the bug check code displayed when invoking a Blue Screen of Death either by telling the kernel via the attached debugger, or by using a special keystroke combination. This is usually seen by driver developers,as it is used to get a memory dump on Windows NT based systems. An alternative to 0xDEADDEAD is the bug check code 0x000000E2 , as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network. |
0xDEADD00D | 3735932941 | is used by Android in the Dalvik virtual machine to indicate a VM abort. |
0xDEADFA11 | 3735943697 | is used by Apple in iOS crash reports, when the user force quits an application. |
0xDEAD10CC | 3735883980 | is used by Apple in iOS crash reports, when application holds on to a system resource while running in the background. |
0xDEADFEED | 3735944941 | is used by Apple in iOS crash reports, when a timeout occurs spawning a service |
0xDECAFBAD | 3737844653 | is often found in coding as an easily recognized magic number when hex dumping memory |
0xDEFEC8ED | 3741239533 | is the magic number for OpenSolaris core dumps. |
0xD0D0CACA | 3503344330 | is the uninitialized value of GPIO values on the Nvidia Tegra X1 |
0xE011CFD0 | 3759263696 | is used as a magic number for Microsoft Office files. In little endian this reads D0CF11E0 , "docfile0". |
face:b00c | 4207849484 | used in the IPv6 addresses of www.facebook.com. |
0xFACEFEED | 4207869677 | is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer generates this error when it encounters a hardware failure. |
0xFBADBEEF | 4222467823 | is used in the WebKit and Blink layout engines to indicate a known, unrecoverable error such as out of memory. |
0xFEE1DEAD | 4276215469 | is used as a magic number in the Linux reboot system call. |
0xFEEDBABE | 4276992702 | is the magic number used to indicate the beginning of an OpenRG flash partition descriptor. |
0xFEEDC0DE | 4276994270 | is used as filling pattern by the OS-9 Operating System when initializing its RAM. |
0xFEEDFACECAFEBEEF | 18369614221190020847 | is the magic number used to send as a password via serial wire to rescue some NXP created controller devices from boot failures. |
0xFFBADD11 | 4290436369 | : Used by Windows internally. |
Alternative letters
Many computer languages require that a hexadecimal number be marked with a prefix or suffix to identify it as a number. Sometimes the prefix or suffix is used as part of the word.- The C programming language uses the "0x" prefix to indicate a hexadecimal number, but the "0x" is usually ignored when people read such values as words. C also allows the suffix L to declare an integer as
long
, or LL to declare it aslong long
, making it possible to write "0xDEADCELL". In either case a U may also appear in the suffix to declare the integer asunsigned
, making it possible to write "0xFEEDBULL". - In the Intel assembly language, hexadecimal numbers are denoted by a "h" suffix, making it possible to write "0beach". Note that numbers in this notation that begin with a letter must be prefixed with a zero to distinguish them from variable names. A Unix-style assembler uses C language convention instead.
- Visual Basic and all previous Microsoft BASICs such as QuickBasic, GWBasic, BASICA and ColorBASIC, use a &H prefix, for example, "&HEADED".
- In Pascal and several assembly languages, hexadecimal numbers are denoted by a "$" prefix. This allows for words starting with the letter "S", for example "$EED".
- In Б3-34 programmable calculators, an alternative hexadecimal alphabet was used, where the symbols "−", "L", "C", "Г", "E", and " " were used instead of Latin letters. Using these, it was possible to display messages like "EГГ0Г".
PlayStation 3 RSX
These projects were largely born out of PS3 homebrew operating on the PS3's OtherOS which allowed Linux to be installed, initially with extremely limited GPU access.
Code | Description |
0x1337BEEF , 0x1337F001 , 0x1337BEEF | Found as part of the RSX Descriptor. |
0xF00DBEEF | The RSX Semaphore Value |
0x1337C0D3 and 0x1337BABE | Begin semaphore value and pad, from the system. |