Sign in to follow this  

Ancient terms still alive

This topic is 1178 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Like most AAA games, when debugging I get a huge amount of text output on the TTY. All very useful stuff, but when you are trying to find a particular line in the output, it can be a nightmare,

 

So I tend to use "Guru Meditation #%d"

 

No one else in the company uses that string and so it's easy to find.

 

I'm sitting here waiting for a full rebuild of the game to finish, wondering how many of the old school phrases are still in use.

 

Some have been run with and have taken on all sorts of new meaning, like alt2600. In my day it was just a newsgroup forum about phone hacking, now it has taken on a whole new meaning.

 

Some have died, no one talks about MOB's anymore, ( for those of you under 50 that was a Moveable Object Block ) though the similar phrase BOB seems to have lasted a lot longer. Vector BOB's are often mentioned in certain circles.

 

Others have died as the technology made them redundant, like HAM (hold and modify mode). Another Amiga term.

 

I also have a library of stupid one line jokes I cannot get out of my head going as far back as the goon show. Be alert! The country needs lerts.

 

sorry

 

 

I just wondered if any of you still use anything from the old days.

Share this post


Link to post
Share on other sites

I used to use potato in my log files (and web pages when I was web developing). I have since worked with two other developers who use potato, so now I use POOP. The all-caps helps too.

 

Someone I worked with told me he used to initialize memory to DE AD. That way, if he ran into an issue with that, it would come up and say DEAD.

Share this post


Link to post
Share on other sites

So I tend to use "Guru Meditation #%d"

An Amiga hacker, huh?

 

I think the big reason for that was mostly size. When size was at a premium nobody wanted to include massive tables of error strings in their applications.

 

These days when only a portion of the program actually gets loaded to memory and there are sometimes massive amounts of unused diagnostics data, we can use lots of useful text.

 

I like to assume I'm not the only one who will be working on the code and use descriptive words in the log. A short phrase is unlikely to be used elsewhere in the code, especially if line numbers are used.  Coupled with __FILE__ and __LINE__ values they're unique and programmer friendly.  I prefer to give descriptive errors like "CRITICAL ERROR: resourcehashmapper.cpp:741 Duplicate hash found hashing "somename". 0x1984719358713958, old value was "othername". Program will now crash to prevent spreading bad data."

 

Much less work needed to look up an obscure meditation code in the source.  If necessary I can still search for ", old value was \"%s\"" and find it easily enough. 

 

 

 


Someone I worked with told me he used to initialize memory to DE AD. That way, if he ran into an issue with that, it would come up and say DEAD.

There are quite a few common memory fill patterns.

 

Debugging libraries use them all the time.

 

0xdeadbeef is a common old one. Variations are 0xdeadf00d, deadc0de, deadbabe, and more.

 

0xcc is nice on x86 platforms since it is the single-byte version of the debugging interrupt.

 

Microsoft's debug heap uses several magic hex values: cc, cd, dd, fd, ab, baadf00d  When you encounter the CCCC or CDCD pattern you know it is uninitialized, the DDDD pattern means someone kept an old pointer around, etc.

Edited by frob

Share this post


Link to post
Share on other sites

I agree when it's permanent code you should use descriptive error messages, I tend to use a {class}::{method}::{description} paradigm.

 

However for quick text when I'm tracking down a bug, guru meditation works best for me, maybe it's because I liked writing games on the Amiga. The days when games programming was fun and not endless hours of tracking down obscure bugs caused by a combination of events that happen rarely. In millions of lines of code unsure.png

 

I'm more interested in how many people still around using programming terms from the old days.

 

How many of you know (without googling please smile.png ) what a NMI is?

 

How many of you could look at : s dup * ;  and instantly recognise it ?

 

How many people still believe that a computer without COBOL and FORTRAN is like a piece of chocolate cake without ketchup or mustard.

 

I suppose what I am really asking is, how many coders from my generation are still coding, but then I'm old. unsure.png

Share this post


Link to post
Share on other sites


I suppose what I am really asking is, how many coders from my generation are still coding, but then I'm old.

 

I learned Fortran on an IBM360 and my first chip was a Fairchild F8. When I moved on to an 8080 I thought I had died and gone to Heaven. My first commercial computer was a Radio Shack Color Computer. The NMI was tied to the expansion port (didn't have to look that up.) to which the external drive (external was all there was, of course) was hooked up. I doubled the drive capacity by modifying the discs into "flippies."

Share this post


Link to post
Share on other sites

Count me among the people who once had a wire in to the ground pin to manually trigger an NMI. 

 

Edit: Those were also called a "programmer's button" back in the day. What does it do? Ask the programmer using it. ph34r.png

Edited by frob

Share this post


Link to post
Share on other sites

Count me among the people who once had a wire in to the ground pin to manually trigger an NMI. 
 
Edit: Those were also called a "programmer's button" back in the day. What does it do? Ask the programmer using it. ph34r.png


Heh, I wasn't doing low-level coding at the time that NMIs were a thing, but I did enjoy hearing about how to trigger one with a ballpoint pen if your computer had an ISA slot.

Share this post


Link to post
Share on other sites

I once had to fix a computer that got struck by lightning. I don't mean there was a power surge caused by a lightning strike, it was struck by lightning.

 

Most of the boards had evaporated, they were just stains on the cabinet.

 

I found spares for most things, hand rebuilt parts of the cabinet, but I couldn't get ram from anywhere. 

 

With the clock ticking, and my chances of getting paid fading into the distance, I rewired a drum hard disk (you know the ones where you opened the top and dropped the huge platters in) to act as ram.

 

Typed in a modified boot loader on the front panel in hex from memory smile.png and started it up.

 

It worked. Okay, you could only type at one character per 3 seconds, but it worked and I got paid.

 

I kind of miss those days, the kit now is so much more powerful, but it's disposable. In the same situation now you would just buy another computer.

Share this post


Link to post
Share on other sites

It just hit me that the term "core dump" comes from core memory.

 

... and a "core" (single bit) was a ferrite doughnut cut from a cylindrical core of ferrite.

 

EDIT: For input, I once had a hex pad which I scanned using a "debounced cross-bar" technique.

Edited by Buckeye

Share this post


Link to post
Share on other sites


I rewired a drum hard disk (you know the ones where you opened the top and dropped the huge platters in)

Dude, magnetic drum storage was distinctly different from magnetic disk storage.  Drums had the media on the outside surface of a cylinder.  Disks use the surface of disks.  Hence the name.

 

My first full-time job after graduating sometimes required me to change the RL03 disk packs to get at legacy FORTRAN IV code for some clients when I had support calls.  That was on a PDP-11/M running RSX-11.  I'm familiar with disks.  Drums I only read about in my mother's computer science textbooks.  Core memory and paper tape I remember from high-school science fairs when I was in grade school.  Core memory came in 256-bute chunks (2^8, 8-bit address space), measuring about 6 inches by 6 inches by 2 inches.  I mean, who could fill up 256 bytes?

 

When I started university, we still used keypunches and submitted the card deck with JCL to the HSJS on the mainframe, and picked up a our printouts sometimes hours later.  You could still get coding forms to write your code on with demarked columns (a 'C' in column 1 indicated the line was a comment).

 

Other than hardware, a lot of the time a term has fallen into disuse and been replaced by a new term that means the same thing that gets announced and marketed like it's a great new discovery or invention.  You just gotta learn to be aware that when a new silver bullet is announced that's going to save us all from trying, you need to check what the business model of the promoter is and how they're aiming to part you from your money.

Share this post


Link to post
Share on other sites

That was on a PDP-11/M running RSX-11. ... Core memory and paper tape I remember from high-school science fairs when I was in grade school.

 

Such a young pup. Several years out of college, I was booting a PDP-8 with an 8-bit toggle front panel which loaded into core a boot routine for the paper tape reader, which, when loaded, loaded the OS from disk (albeit not a drum). laugh.png

 

As there appears to be just a boatload of old farts around here, a non-computer-related quip from the past: "What you see when you don't have a grenade."

 


Dude, magnetic drum storage was distinctly different from magnetic disk storage. Drums had the media on the outside surface of a cylinder. Disks use the surface of disks. Hence the name.

 

Likely he was thinking of a tub (as they looked like washing machines - "wash tubs").

Edited by Buckeye

Share this post


Link to post
Share on other sites
Ah finally someone older than me here. I'm "only" 37 but I'm familiar with NMI, IRQ, zero page, copper lists, blitter objects, etc from having owned and programmed a C64 and Amiga.
Well, programmed is maybe stretching it a bit as I never finished anything useful and I didn't even have an assembler (only machine code monitor with which I experimented and learned)

Share this post


Link to post
Share on other sites
About short messages: At work we use a short, mostly meaningless name for every warning, error or informational message, followed by a description of what happened. For instance, if a file is being created but there was already a file by that name, you might get something like this in the output:
 
WARNING NINJA'D LOGGER: File `/work/project/us/20140924/execution_engine.log' already exists. Moving it to `/work/project/us/20140924/execution_engine.log.moved'.

That way you get a good description of the warning, but you also have a good name to use in conversations with coworkers: "I tried your code patch, but now I get a bunch of NINJA'D LOGGER warnings whenever I rerun the process."

I find this trick extremely useful. I believe we imported this idea from IBM.

Share this post


Link to post
Share on other sites

This topic is 1178 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this