Page 1 of 1

My recent forum break

Posted: Wed Jul 25, 2012 4:08 pm
by tepples
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.


In #nesdev, rainwarrior suggested this USGS illustration of a geologic fault line (original filename "normalfault_USGS_NPS.gif") 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 (see Microsoft Q106126), 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

EDIT (February 2020): link check

Posted: Wed Jul 25, 2012 4:34 pm
by 3gengames
Yeah, and re-reading my forum post, I worded it terribly too. And more aggressive than what I wanted to. It was more meant to convey "If there's a bug in your program, fix it" basically as you can test hardware along the way to make sure no bugs exist. And not knocking on tepples for his games glitch, which was only even affected on a board it wasn't supposed to be on with CHR-RAM. That's a hard case to test as I'd never test that either.

But like I covered in the PM to tepples, I've had a HUGE mistake one ROM I put out there too. Just gotta go back, fix it, and accept we made a mistake. :oops:

Thanks for accepting my apologies tepples. :) Like I said before, sorry this even happened. :/

And I guess I see what all the pictures are for now. That's some deep stuff, heh. :)

Posted: Wed Jul 25, 2012 8:38 pm
by Hamtaro126
Nice stuff on this topic, Tepples!

It really cheers me up to see you do some cool stuff like this, That is why I liked you in the first place.

Posted: Wed Jul 25, 2012 9:17 pm
by infiniteneslives
That bank photo was what I was most curious about. I don't know if I would have ever got the relevance of that one. Thanks for sharing.