As you will likely have gathered, I took a 2-week break from the BBS after this post by 3gengames caused me to question my own authority to say anything helpful on the BBS. I made up with him over private messages, and all is forgiven. But then infiniteneslives showed interest in the images displayed by my avatar rotation script during this period.
"...terrible programmer."
This was up for a few days until I finished the rotator.
"Publicity Stunt Race FX", based on the logo of Nintendo's Stunt Race FX
I have a mental disorder that causes me to make a lot of faux pas. Sometimes when I feel I've made a major faux pas on a forum, I withdraw for a couple weeks. Some may see this as a drama-generating publicity stunt, but it gives me a chance to cool off, refine my argument, and make something that the members will appreciate once I come back. I was still active in #nesdev during the break.
"Segfault"
In #nesdev, rainwarrior suggested this illustration of a geologic fault line to represent a segmentation fault, or a stray out-of-bounds memory access that the operating system has trapped. When a segfault occurs, and the program has not registered a handler for segfaults, the kernel stops the program and saves its state for later analysis.
MS-DOS had no memory protection, and programs that overwrote key data structures in MS-DOS could end up trashing the file system. To make this more difficult, MS-DOS 6.x introduced a feature called DoubleGuard, which added canary values around certain data structures so that the system would halt instead of trashing valuable data on the disk. It saved my butt several times when I was developing graphics code in Turbo C and ended up inadvertently writing imperfect, defective, "terrible" code.
"16 banks"
Logos of 15 financial institutions plus "Save", to represent the sixteen 8 KiB banks in a 128 KiB SRAM chip. If saved games are kept in one bank, a freak glitch won't affect the saves unless it also changes the bank number to the bank with saved games.
From left to right: detail of cover of Alexander and the Terrible, Horrible, No Good, Very Bad Day illustrated by Ray Cruz; portrait by an unknown author of Tsar Ivan IV "the Terrible" of Russia; detail of cover of "I Need to Know" single by Marc Anthony with caption alternating between "terrible" and "honourable"
An earlier draft of the big comeback (which a few people on #nesdev have read) centered around the term "terrible" before I rewrote it to use Bible-based examples. The language of this earlier draft subtly redefined "terrible" to refer to people who try to do a good job but, knowing their own limitations, engineer in extra reliability measures should something go wrong. For example, "only terrible programmers use the extra banks in the chips they already have to build in extra memory protection mechanisms as a layered defense." In William Shakespeare's play The Tragedy of Julius Caesar, Mark Antony's eulogy for Caesar subtly redefines "honourable" negatively in a similar way.
Further reading:
Wikipedia articles about defense in depth, defensive programming, layered security
"...terrible programmer."
This was up for a few days until I finished the rotator.
"Publicity Stunt Race FX", based on the logo of Nintendo's Stunt Race FX
I have a mental disorder that causes me to make a lot of faux pas. Sometimes when I feel I've made a major faux pas on a forum, I withdraw for a couple weeks. Some may see this as a drama-generating publicity stunt, but it gives me a chance to cool off, refine my argument, and make something that the members will appreciate once I come back. I was still active in #nesdev during the break.
"Segfault"
In #nesdev, rainwarrior suggested this illustration of a geologic fault line to represent a segmentation fault, or a stray out-of-bounds memory access that the operating system has trapped. When a segfault occurs, and the program has not registered a handler for segfaults, the kernel stops the program and saves its state for later analysis.
MS-DOS had no memory protection, and programs that overwrote key data structures in MS-DOS could end up trashing the file system. To make this more difficult, MS-DOS 6.x introduced a feature called DoubleGuard, which added canary values around certain data structures so that the system would halt instead of trashing valuable data on the disk. It saved my butt several times when I was developing graphics code in Turbo C and ended up inadvertently writing imperfect, defective, "terrible" code.
"16 banks"
Logos of 15 financial institutions plus "Save", to represent the sixteen 8 KiB banks in a 128 KiB SRAM chip. If saved games are kept in one bank, a freak glitch won't affect the saves unless it also changes the bank number to the bank with saved games.
From left to right: detail of cover of Alexander and the Terrible, Horrible, No Good, Very Bad Day illustrated by Ray Cruz; portrait by an unknown author of Tsar Ivan IV "the Terrible" of Russia; detail of cover of "I Need to Know" single by Marc Anthony with caption alternating between "terrible" and "honourable"
An earlier draft of the big comeback (which a few people on #nesdev have read) centered around the term "terrible" before I rewrote it to use Bible-based examples. The language of this earlier draft subtly redefined "terrible" to refer to people who try to do a good job but, knowing their own limitations, engineer in extra reliability measures should something go wrong. For example, "only terrible programmers use the extra banks in the chips they already have to build in extra memory protection mechanisms as a layered defense." In William Shakespeare's play The Tragedy of Julius Caesar, Mark Antony's eulogy for Caesar subtly redefines "honourable" negatively in a similar way.
Further reading:
Wikipedia articles about defense in depth, defensive programming, layered security