PART I
1)What's your current occupation?
I work as a full time warehouse clerk for WorldPac and as a part time Utility Clerk for FoodMaxx.

2)Why is your grammar so sloppy?
Usually because I type my speel after I get home from work. 95% of the time, my mind really isn't focused on the grammar or spelling. Once in great while I run a spell checker. Once in a greater while I'll get a decent nights sleep and then re-read what I wrote the previous night, correcting some obvious grammatical errors.

3)What is up with the nharmon rant in your program?
Before I got banned from grex, me and another guy were writing a bot that worked over grex party. To make a long story short, this guy called nharmon told me all I knew was stupid arcane theory when I was talking to other programmers on grex. This wouldn't have been so bad EXPECT that he then had the nerve to copy my code bot program and telegram nuker template and ask me how it worked because he realized what I was doing was sort of cool.

3a)Are you still working on the bot program?
No. I might start working on it again in the first part of 2008.

4)Who is hacking_machine on AOL? Why do you make a reference to him in your program?
hacking_machine on AOL is who got me interested in computers. Prior to talking to this kid, I thought computers and computer programming in general was mundane. He is one of those people that had some kind of impact on my life.



PART II
1)Why do I sometimes get "mesg: Unable to find your tty (pts/2) in utmp file"
This means the tty wasn't written to utmp. I don't know any way around this. I have a vague idea how to solve this if a user is on xterm. I say vague, because I haven't tested it.

2)How do I get this flooder to work over xterm?
You would have to write a pseudo terminal and then use getutent() and pututline() to write the current tty to utmp. Then in theory, write (and flood) should work because there is an entry for the current tty in utmp.

2a)Is there some kind of basis to this assertion?
Yes. If you get the error mesg
"mesg: Unable to find your tty (pts/2) in utmp file"
ssh to yourself on the same terminal and run the program. You should now be able to flood yourself and others. This is because ssh becomes the master terminal and the shell becomes the slave. The bridge between these two is the pseudo terminal.

3)How do I make this program message flood more than one person at a time?
This is an oversimplified explanation...
Modify the program so that it forks multiple times. Say you want to flood 4 people at once, then you would have the process fork itself 4 different times. Please note that the number of processes increases exponentially. So if you would fork the process 4 times, you would have 2^4 or 16 processes. If you would fork the process 5 times, you would have 2^5 or 32 processes. A lot of systems limit the number of processes you can have.



PART III
1)How come I get 'Permission denied' when I run the program?
This means
a)You need to create a file. Ie the program was reading a directory.
b)There are zero bytes in the file. To solve this, just edit the input file and either enter a space or some data in the input file.

1a)How come you the just can't have the damn program say this?
I haven't figured out how to make the damn program say this.

2)How come there are some radical re-writes from version to version?
Usually the code writing process goes like the following.
a)I write the code just to get the damn thing to compile and solve the mini-problem at hand.
b)I then re-write it, removing all the boneheaded errors.

In the process, I've probably alienated myself from a lot of 'professional coders." Why? Because of a lot of experienced coders look at one version of the code, see the boneheaded errors and think "Oh god, this kid doesn't have a fucking clue what is going on." This is usually the case. Experience has taught me that once they stop looking, they don't come back. However, then I look at how some of the popular open source problems the same type of mini-problem. I usually end up asking on some technical forums why the author does it one way and not the other. Once I get the explanation, I look at my original code, see my errors, learn from it, and then re-write it.

3)When I compile the code like:
gcc -Wall -Wshadow -Wmissing-declarations -ansi -pedantic flood.c -o flood

I get the following:
flood.c: In function main:
flood.c:257: warning: implicit declaration of function fileno

This happens when you use the -ansi flag. On some systems the flag will suppress the declaration of most functions returning int in stdio.h. I think this is just some kind of stupid GNU C compiler bug.