home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
tragic-v.zip
/
tragic.txt
< prev
next >
Wrap
Text File
|
2000-04-06
|
81KB
|
1,424 lines
Tragic Release V
For RS6000 AIX, Intel based Linux, OS/2 and 32-bit Windows platforms.
7/30/1999, (not sure what happened to release II), 12/17/1999, 3/18/2000
4/3/2000
Copyright Stu Mark.
"Tragic. They tell me the internet is about sharing."
--- cut here ---
For the first time, in my history at least, I've decided to put a little
description of what this fine product does so that you don't have to wade through
the entertaining documentation. So here it is (but you'll be missing out if you
don't read it...)
Tragic is a peer to peer networking system that functions somewhat like
all of those popular Instant Messengers you hear about all the time, with a few
distinct differences:
1) There's no central server. (Well, there is, but it's not required.)
2) There's no GUI. (Yet, I'm working on it. If you think Tragic is a bad
name for a system, I'm sure you'll think "Terminal Cancer" is a worse name for
its GUI)
3) It runs on more platforms than any other IM does. We support Linux,
AIX, OS/2 and Windows (32-bit)
4) It allows for searching of other Tragic users shared directories.
5) It allows for demand downloads of files in those shared directories.
So basically, it's this: You run the Tragic server, and then you can use
the Tragic utilities to work with other Tragic net members. Here's a list.
config - run this to answer a few questions Tragic needs to get going
and install config files and stuff like that.
tchat <username> - chat one on one with another Tragic user
tcheck <username> - verify the status of another Tragic user and
read their info file.
tfind <email address> - try to find another Tragic user by email address.
tseed <ip address> - give Tragic a hint where to look for other Tragic users
if it can't find any on it's own. (You'll never use this if you're attached to the
Internet)
tsend <username> <filespec> [filespec...] - send one or more files to
another Tragic user. You must be on their friends list.
* New with Tragic Release V *
tsearch [username] <"searchstring"> - Search all Tragic users for files
based on search string. You can search a specific user by specifying their username.
tget <username> <filespec> [filespec...] - get one or more files from
the shared directories on another user's machine.
You may feel the need to complain about the lack of a GUI, but no GUI is
the tradeoff for portability. You can trade files between UNIX, OS/2 and Windows.
If you run into problems, check the contents of a file called tragic.log
in the directory Tragic is configured for. I'm more into server software than front
end applications. It may not be the most intuitive system in the world, but nowhere
else can you type tget "*" and walk away for a few hours and have it do everything
for you.
I write lots of software, I write lots of music, what better way to share
than over the Tragic network.
That's the summary. For details, read below.
--- cut here ---
T R A G I C
It was a long dark struggle. It was so dark you couldn't see it very well.
In fact, you started to question if it was there at all, then you realized, what
the hell is a dark struggle? Struggles don't have color. Stupid people.
To my faithful followers, all one of me, don't worry, this won't be as
long as Murray. If you don't know what I'm talking about, check out
http://nyti.spaghetti.com
To my unfaithful followers, an unfaithful follower is better than no
follower at all.
To my indifferent, yet faithful followers, there's more to come.
To my indifferent and unfaithful unfollowers, you're probably bored by
now.
To my wife, I leave all my worldly possessions, because I can't use them
anymore. No no. Not that again.
First there was NYTI, then there was Murray, now there is Tragic. I seem
to be putting off the explanation, just a tad, probably because it's hard to
explain. So here's the story.
A few years ago, I was trying to call a friend of mine up, and her phone
was busy (you know who you are, name starts with "S", and ends in "herry") and I
realized she was dialed up to her ISP on her one phone line, and I could either
email her or stop by her place, or wait until she hung up.
Then I had a better idea. ICQ. Well, actually, it didn't exist at the time
so it wasn't really called ICQ, but after starting the project, somebody showed
it to me and I found the similarities less than remarkable. I didn't remark at
all in fact, but I'll explain them below. Alas, I had started the project, and
it still seemed like a cool idea, so I thought maybe some of my friends would
still use it. (Keep in mind, this was back in 1996 or so.)
Then I heard this rumor that ICQ in all of its popularity was going to
start charging money. "HA!" I thought to myself.
"What?" I replied.
"Well, when ICQ starts charging money, people are going to stop using it
in droves, and they'll want something else." (This was before AOL and Netscape
fell in the same bed, and long before AOL bought ICQ.)
"HA!" I replied.
"Exactly."
So I really turned things into high gear, and three years later (in reality,
it was in high gear for about 4 days, the rest of the time, it was kinda sitting
dormant) Tragic was to be.
For you future history buffs, as in, some time in the future you will
remember this and be a history buff, not the people who are buffs of things that
haven't happened yet) it was originally going to be called "White Pages." "Wp"
is real easy to type. Then I remembered Murray, so I thought "Derrick" would be
kind of a neat name. And it changed 2 or 3 more times, until I realized what the
effect of the program on a small network would be. Then I realized what a mess
it would make if used on the Internet. I explained it to a co-worker of mine
(who I was very surprised to find out had written the book "The C Primer") and
he said, "do you realize what a mess that's going to make?" To which I replied:
"That's why it's called Tragic."
ICQ and AOL IM (and all sorts of other acronyms) function by having a
central server that everybody attaches to that holds everybody's latest IP
address. So I dial up, I attach to some big ICQ server somewhere, I tell it my
IP address and then whenever somebody wants to find me, they ask the ICQ server
what my IP address is and they try to attach to the ICQ client on that machine.
That's my guess of the basic premise anyway. I have never bothered to actually
check to see how it works. My idea was a little different. Since there's no way
in hell my 33.6 modem would be able to handle the kind of traffic that would
generate, and let's face it, that's a pretty simple program to write, I embarked
on a more challenging task.
"Make it peer." The old guy had said.
"What?" I asked.
"Pay attention you sniveling idiot. Make everybody a client and make
everybody a server. That way, nobody depends on their being just one guy around,
that brings the whole system to a stop when it goes down."
"Fair enough, doody head."
So I did. The basic idea, is that you run the Tragic server, and it sits
around in the background of your machine, humming along finding out whatever it
can about people's IP addresses. So when they're on the phone, you can tell your
Tragic server, to tell their Tragic server that you want to chat with them, and
then I don't have to go over to Sherry's house just to ask her the name of the
guy who made that really cool bread I had the night before.
Get it?
How it works is really neat, but I'll explain that later.
I include two applications, the bare minimum for usefulness for this type
of thing. A chat program and a file transfer program. You windows people may
find it a bit aggravating, but there are few if any pretty windows (at the time
of this writing, I haven't finished the Windows port yet). Mostly because I'm
running out of steam with my interest in this, and because it runs on 4
different platforms, and I wasn't about to go ape for just one of them. They all
work with each other, and that's good enough for most people, and more than most
freeware applications can say about themselves.
The idea here people, is peer. It works on the premise that you are there
to chat with the other person, or you are there to receive a file from them.
You'll notice that there is no file receive program. You can only send. If you
want a file from somebody else, they have to send it to you. Make sense? Ahh,
but I'm getting ahead of myself. Now that you have a brief overview, let's start
with my favorite thing: The Roman Numerals.
I. Tragic (Unlike Murray, it doesn't sound all that innocent.)
I'm getting tired of version numbers, and we all know I like Roman Numerals, and
I hate having multiple distributions, so there will be one distribution with 1
doc file and 4 sets of executables, one for each OS. They will all be marked
with the same Release Number, so they all match as a package. Actually, I've
changed my mind since I wrote that. Instead, there will be 4 distributions,
each with one set of executables for that platform all sharing a copy of
the same DOC file. How's THAT.
Hmmm. Not as good as this. To avoid potential problems with different
distributions of some OSes, I have 6 packages. Windows 32-bit, OS/2,
Slackware Linux, Red Hat Linux, AIX 4.2 and AIX 4.3 (with the 64 bit stuff.)
This is Release V
4/3/2000
Concept and implementation by Stu Mark.
Copyright 1971-2000. (That's when I was born, Einstein Hospital, Bronx, NY)
For those of you reading this because my doc files are historically
humorous, I'll do what I can, but I can't guarantee anything. This is a fast
path get it out the door, it's been sitting on my hard drive for 3 years project
and I'm getting tired of it.
This program is free. That means you can download it as many times as you
want, use it as much as you want and give it to everybody you know, as much as
you want, but from a purely statistical point of view, chances are if you
download it twice, you're going to get two copies of the same thing. That's not
necessarily bad, if you're schizophrenic. This way, nobody gets left out,
everybody can have their own copy, and nobody's better than anybody else is.
Anyway. Nothing times out, there are no annoying splash screens. I hate crippled
software, so I don't write any. So read the pricing section below. :)
II. Profanity. (You'd think I'd learn my lesson by now)
Because there are certain uptight free software distributors whose names I
won't mention because I don't remember them, some of my past software was not
released on certain distribution mediums because of the level of profanity in
the documentation. Who'd of thought. Well to those people: **** ***.
So in order not to have to put one of those "PARENTAL ADVISORY" stickers
placed on every CD with this program on it, I will replace any profane words
with `Konichiwa'. For example:
"This guy at white castle asked for my autograph, so I signed it, Dear
Dave, thanks for the support, Konichiwa."
You know what though, I can't resist a bit of temptation when it comes to
this stuff, so I thought I'd share something I came up with today.
Anybody remember the TV commercial: "Don't squeeze the Charmin, you fat Konichiwa."
III. Corrections.
I found a line in the Murray documentation that said:
"There are no commercials in books. Now how boring is that."
I stand corrected. I bought a house recently and in attempt to furnish it,
I've been tramping around lots of antique shops. I found they sell these books
that have advertisements in the front and back. That was before TV. Apparently
that was the way things were, and now companies buy these books and rip out the
advertisement pages and frame them and use them for decorations in their
restaurants. I seem to recall mentioning something about stupid people before,
naaah that wasn't me.
Another correction. I've often said: "I hate stupid people." As it turns
out, this is not true. I hate the stupid things that people do, and let's face
it, everybody does stupid things, including myself. I'm proud to be a member of
the human race. Konichiwa happens. But I will continue to say "I hate stupid
people" just because it sounds better, and is easier to pronounce due to the
limited number of syllables in all of the words, as compared to "I hate the
stupid things that people do."
IV. How it works / System requirements. (I'd rather read a text file than play
with the program)
The trick that makes Tragic work is called Class C subnets (also see below
on the subject of eliminating stupid people with the use of "Mr. Bat"). The IPV4
addressing scheme splits up the 2^32 possible IP addresses into groups. The
smallest common group set is called a Class C subnet. This is a lot of what the
Internet runs on. If a company wants Internet access, they go to an ISP and get
a Class C. 255 addresses they can call their own. Too bad there are a lot of
companies. They're running out. Enter IPV6. If you're quick and adept, you'll
notice the lack of IPV5. Don't know what happened to it myself, don't care
enough to find out. I just figured they were using that Microsoft Marketing
Scheme where the next version after Visual C++ 1.5 is Visual C++ Version 4.0.
Must be that "new math" they're always talking about.
IPV6 will break Tragic, so don't use it. (I mean IPV6 not Tragic, use
Tragic a lot.)
Then again, IPV6 will break just about everything, so I'm not all that
concerned about it at the moment.
When a mom-and-pop startup ISP go to a ISP's ISP to get a bunch of
addresses to attach to modems so people can dial up, then generally get a Class
C just like the companies do. So it stands to reason that if you dial up with
your modem to the same ISP, with the same access number, you're likely going to
get an IP address within a single Class C. This little bit of information is
what Tragic uses to find people, because it's not that hard to look for somebody
in one of 255 addresses.
So when you start Tragic it will hunt around any Class C's it knew about
from its last session and start looking for people and updating its database. In
this respect, it's sorta like named for DNS, it locally stores the IP address,
so they're real quick to look up. So when you want to chat with a friend, you
fire up Tragic Chat, it looks up the last known whereabouts of the person you're
looking for and tries to chat there. Real simple.
All the aggregation of data is the complicated part. But I already wrote
that, so all you have to know is how to set up the config file and how to run
the programs.
Tragic does not require Internet access. It will work just as well on a
private network, so you can use it in your office. If everybody has a DHCP
defined address, or some such scheme, you can chat at work, and send
files back and forth without having to save everything on a shared drive.
Now there's something that ICQ can't do.
I'll have to remember that as a selling point.
Now that I think about it, here's something else ICQ doesn't do. It
doesn't run on windows 95, 98, NT, OS/2, Linux and AIX and interoperate
seamlessly between them. Go sell that.
Hmm. Correction. I just found a guy running ICQ here at work behind our
firewall. He says it has a socks option to get past the firewall. My version of
ICQ doesn't do that. Then again, I haven't upgraded in probably a year or two.
Still not sure if it'll let you do file transfers that way, but at least my way
it doesn't bounce off the firewall. So mine's faster. Nyeah.
Tragic does not require a full time Internet connection. But you can leave
it running, and whenever it detects the connection coming up, it will try and
refresh its data store. This is more applicable for the Linux, AIX and OS/2
platforms, because you generally don't have to reboot those. <snicker>
Firewalls are not a problem. They keep outside Tragic traffic out, and
inside Tragic traffic in. If you run it on a Linux machine with masquerading on,
or for that matter, any machine with more than one network interface, weird
things will happen. But don't worry too much. It's all taken care of. Really it
is.
V. Capacity and data store.
So now you're thinking, wait a minute. If I dial up and run this, I'm
going to get IP information for everybody in the world running Tragic. (If
you're not thinking this, skip to the next section, this technical Konichiwa is
obviously not for you.) Right and wrong. Firstly, I'm not a famous guy.
http://nyti.spaghetti.com isn't a famous URL, I've never been on TV and I'm not
a millionaire. I do drive fast though. Anyway. I figure it's conceivable that
there will be enough people using it to cause a problem, so I invented
"Networks." Well, okay, I discovered networks. And I numbered them. There are
512 of them. So there are 512 logical Tragic networks of which you can subscribe
to any number of them. The plan is you and your friends (or if you don't have
any friends, the people you want to Tragic Net with) agree on a network number
to use, and put that in your network list. Then you will only get information
from people who also have that network listed. You can join any number of
networks if you have different groups you want to net with.
All of the Tragic information is stored in this really cool flat file
record manager I wrote. It's small tight and really Konichiwa-ing fast. This
isn't the problem, the bottleneck of your modem is the problem. But don't worry,
Tragic takes care of that too. Really, it does. If at any point, the Tragic data
file "tragic.nam" gets too big for your ego, you can exit Tragic, delete the
file, and start Tragic again and it will refresh only current information.
Every time you start Tragic, it will go through it's database and clear
out any old records that haven't been refreshed in a while to save space, for
example if you remove a network from your network list.
VI. Me / distribution / pricing. (Send money :) )
Like everything else, advertising is where it's at, and I don't do much. I
distribute the whole package to as many software distributors that'll take it. I
make it multiplatform (which I find surprising how many people don't do this) so
it gets the widest audience.
See, everybody bitches about Microsoft. But everybody writes software for
Windows. So people go where the applications are. I don't get it. Stupid people.
So I write for everything I can get my hands on. Now I've got an AIX machine to
play with, so I distribute for that as well. (I prefer the egg on my face to be
scrambled as soon as somebody notices that there's no Unix version of Murray. My
lame-ass counter argument was, I didn't have any Unix experience when I wrote
that. Take it or leave it. Doesn't change anything.) Really, I'm just trying
to peer pressure other programmers into porting their software to OSes that
don't crash so often.
This program as mentioned above is free. You can distribute it as much as
you like without cost or penalty, as long as you give it away in the original
zip/gzip with all files intact.
I spent a lot of time and effort on this and I like audience participation
as much as the next guy. So, if you'd like to drop me a line, my Eddress (e-mail
address (I'm trying to coin a new phrase)) is nixo@prodigy.net
If you're feeling generous, and think Tragic is worth more than the
initial cost (it's free, remember?), I will gladly accept monetary donations
which will further entice me to continue development of this and other systems
that I'm writing, and will also help offset the cost of running a fallback
Tragic server. $5 would be nice. $10 would be even nicer. $50 will get you a
thank you card in the mail. I think Tragic is worth $10. Don't you? How about
your mom, does she think Tragic is worth $10? Awww c'mon give a little cash for
the having. It doesn't hurt so much. I just bought a house. I'm broke. Then I
bought a car. Now I'm even more broke. Then I hit a deer with it. I HAVE NO
MONEY. So give a poor programmer some money to spend so he can go out and enjoy
other people rather than stay home and program every night.
It was asked of me what currency I'd like, since the Internet is a big
place and spans many countries (I even got an Murray e-mail from Yugoslavia
once. Didn't know they had computers over there, let alone electricity. Shows
how naive I am. Well, live and learn. I'm happy to say, I now have friends in
all sorts of countries whose names start with vowels (America)).
Anything non-detrimental is appreciated, so whatever currency you want to
donate, is fine by me. I'll go to the airport and exchange it. If you're in a
rush, to keep me from starving, and you keep your checkbook in your hip pocket,
here's where you can send monetary donations. (This is also listed at the end of
this file.)
Stu Mark
Attn.: Tragic
P.O. Box 77
Valley Cottage, NY 10989
U.S.A.
In addition, I'll add you to my mailing list and send out mail or e-mail
with new releases or information about upcoming products, versions or fixes. If
I have any money left over after fixing the floor in my house (I don't even have
a floor for christ's sake) maybe I'll be nice and spend some money on the Ethiopian
I use as a doormat.
OK, enough begging for money.
VII. Predictions. (heh. I'm Konichiwa-ing Nostradamus)
Some time in 1996, I wrote in the Murray doc that there would be a product
from MS called Windows 2000. Go figure. Granted, it wasn't a hard guess, after
Windows 95, you could expect the trend to continue.
Well, following tradition, let me make another prediction. Red Hat will turn
into Microsoft. Let's look at the trend.
Lots of people don't know what a computer is or what the Internet is, but
they have heard of Microsoft and Bill Gates.
People are starting to get wind of Linux, and that it somehow relates to
beating down MS, but very few know that it's a kernel by one guy, and a bunch of
tools buy a lot of other guys (and gal's I suppose) and people making
distributions of it.
But people don't first hear about "Linux", they hear about "Red Hat
Linux." And it wont be long before "Red hat" is the official distribution at
your company, and if you use a different one, then your IS Dept won't support
it. Then it will get lots and lots of Linux market share, and then.. Somebody's
going to buy them. (Quite possibly Microsoft if they have half a head.)
Then they'll start distributing proprietary stuff on their Linux
distribution and those tools will become common and can't-live-without, and just
like there are Mac's and OS/2 and BeOS machines, there will be other Linux
distributions, but they'll be so far behind in numbers, they'll never make it
up, and Red hat will turn into MS.
Now, it won't get that bad. Like Hitler, not everybody is going to let
that happen again. But there will be similarities. Mark my words. Mark my mark.
Make a Dilly Pickle Willy Chilly Fiddle in the Dark.
Think about this: What's the difference between predicting and controlling
a situation? If you say it and it happens, can you prove that you didn't alter
the universe to make your prediction occur?
VIII. A brief tutorial (Like I ever write anything short and to the point)
They way you identify yourself in the Tragic Universe is by a NetName.
This name can be up to 20 characters long. I don't think it allows spaces, but
I'm not 100% sure of that. Anyway, that name has to be unique spanning all of
the Tragic networks you sign up for. So if you're on network 1, 2 and 3, and
your Netname is "Happance" nobody else can use that name, and it will be the way
other people using Tragic will refer to you.
This brings up the case of seniority. What if two people pick the same
name? Well, basically the guy who did it first wins. The first time you run
Tragic, it notes the time and stores it in its config file to refer to later. So
once you run Tragic, don't delete your config file, it's like your birth
certificate. Then, anytime there's some name contention, Tragic will notify you
somehow that the name you picked is being used by somebody else. It's not a
foolproof system, but it should be good enough for our purposes. If you have
seniority, the other person will get booted. If they have seniority, you'll get
booted. Tragic won't run until you pick another name. You wanna be a penis, erm,
Konichiwa about it, go ahead, there's enough namespace that people can pick a
different name. In other words, it's pointless to screw around with it, so why
bother. Your best bet is to pick an obscure name the first time in, because when
you change your name, you lose your seniority. So somebody can't start early and
go changing his name all the time to boot other people, they'll just be booting
themselves. If you think you can be cute and set the time back on your machine
then run tragic, consider that somebody else can do that too. And they can pick
a time earlier than you. But no, you're smarter than everybody and you're going
to set the time to 1/1/70. Well, in that case, Tragic is smarter than you are,
because there are 4 different platforms vying for a time-space view of the
universe, and Tragic is consistent with itself, not your machine. In short: it
won't work well, if at all.
If I believed in registering software and 15 day free trials, it would
be a real pisser no? Think about it. You want to run the install sometime in
the year 2010 so the program will time out in 10 years and 15 days, but then
it uses that time as your seniority, which puts you in the worst position on
the list. Pretty cool way of keeping honest people honest. Heh. Like Tragic is
all that important in the scheme of things. I just thought I'd bring it up, and
anyway, there's no 15 day timeout. I hate those.
You also get to put in a password (to differentiate between people with
the same username) and a place to put your email address. You don't HAVE to put
this in, but it's useful for your friends, so when they have a problem
contacting you, Tragic can tell them your email address so they can at least
mail you. It's a courtesy. You get 10 characters for the password and 80 for the
email address.
One very likely problem that can occur is that somebody decides to
subscribe to more networks than they did before. So if MIKE is on networks 1 and
2, and you call yourself MIKE and are on networks 3 and 4, and the first MIKE
decides to add himself to network 3, and he has seniority, you're going to lose
your name. That's life. It's a gamble though, because if you were there first,
he loses his name. And there's no way to tell. Well, probably there is but
it involves a lot of complicated math, and I'm not about to sit here and do
it. Solution: Don't call yourself MIKE. Or be one of the first
people to sign up with Tragic. And don't change networks too often, when you
start out, pick a bunch and get your friends to agree. There's 512 of them,
plenty to choose from. As long as you keep your config file intact, you keep
your seniority regardless of how long you are offline from the Tragic Universe.
When you run Tragic for the first time, it's view of The Universe is
pretty small. It contains you. It doesn't have anywhere else to look. If you
tell Tragic that you are on the Internet, it cheats and puts me on the list too,
since I'll probably be around. I figure this is a good starting point. If enough
people do this, they'll learn about each other through me.
If you are running tragic on a private network, and can't get to me, you
need to tell tragic about at least one other person so it'll have a clue where
to begin looking (the Internet is a very big place, and some private networks
are too). For that purpose, I've included a program called tseed so you can seed
some information into Tragic to start it off. I'll explain how to use it later.
So once Tragic starts learning about other Tragic machines, they become
available to chat with or send files to. As I've said there are the two minimum
applications that you need to be able to deal with somebody else on a network, I
figure so I've included them. Perhaps someday I'll include a buddy list
notification (when your friend shows up online) and other utilities like that.
Anybody who wants to can add to the system, I'll document the protocol for
getting information out of Tragic so you can do this. Just email me and we'll
talk, or rather, write.
You can leave tragic running and it will notice the lack of connection (by
checking the stableserver you give it (see below)) and when the connection comes
back it will look around again and let everybody know you're back online. The
default stable server for the Internet is mit.edu. Hope they don't mind. I
figure they're unlikely to go down. It's the default name it picks, you can
change it if you think there's a more reliable server.
Stable servers: Tragic verifies its existence on a network by connecting
to port 13 on the stableserver listed. Mit.edu runs time on port 13. A lot of
servers don't. If Tragic tells you that you're not connected to a network, it's
possible that the time server on your listed stableserver is not running. Pick
another server. You can pick yourself if you really want, but that's not all
that useful. You can also change the port number it checks. Perhaps a web server
is running on a stable machine (I suppose www.microsoft.com port 80 isn't such a
bad choice, their network could use the exercise anyway.)
*** Important note. As of sometime during the week of 3/13/2000 MIT seems to have
stopped running the time service. I thought about it some and realized that it
wasn't really fair to be beating on a school just because they're there. So I
tried to think of another server to use. I had the bright idea that everybody
pays a little something to the government, so why not find a machine in the .gov
or .mil domains that run the time service. So I looked and I looked and I couldn't
come up with anything. I was about to give up, when I had a better idea.
Tragic's config program now defaults to AOL's webserver as the ping mechanism.
Have a nice day.
***
It's important to note how things work together. tchat and tsend are not
standalone programs. They require a running Tragic server on the same machine.
Keep that in mind when you run the applications and they tell you that they
can't find the local Tragic server.
Spoken like a true programmer. If you're starting to lose track of what's
going on here, I apologize, I'm not very good at writing for the lowest common
denominator. Please ask one of your geek friends/co-workers to translate for you.
Multi-user: Tragic is NOT a multi-user program. If you run it on a Linux
or AIX box, I assume that it's your machine and you're the only one using
Tragic. This works out nice and well for OS/2 and Windows, and I did it that
way, probably because I started designing it long before I learned Unix. So. If
you're running this in a multi user environment, one person gets it or everybody
shares, or nowadays, they're so cheap, just get yourself an old 486 and run
Linux on it, and now you have your own machine. (Having your own AIX box is
kind of neat, by the way, I recommend it.)
IX. Installation. ("Step right up sonny, you're the next contestant.")
To initially set up Tragic, not much is required. I hate complex
installation programs, so I don't write any. Unlike Murray, there are some weird
obscure things you have to tell Tragic, so I've written a little configure
program to help get you started. But first, you have to extract the Tragic
program files from the archive.
Windows/OS/2
Step 1: Unzip the Tragic distribution zip into a directory. I recommend
C:\Tragic because people like it when I recommend things.
Linux/AIX
Step 1: Ungzip and untar the Tragic distribution gzip into a directory. I don't
have a recommendation, because let's face it, you're going to put it wherever
you want anyway. Do it in an empty directory, because I did NOT put it in a
subdirectory in a tar. (Okay, okay. Put it in /usr/local/tragic)
OS/2, Windows, AIX, Linux
Step 2: Change directory to the place you extracted the tragic archive to. Run
the install program.
(Here's the grit of the system.)
The install program is called "config". Mostly because it configures tragic more
than it really installs anything. Anyway, run it and you are asked to fill in a
bunch of settings. Each question will be followed by brackets with a default
response if you just hit enter. If you hit enter on every question, you're
config file will be unchanged, so the idea is if you make a mistake or want to
change something, just go back and run config again, hit enter until you get to
the option you want to change and just change that one, then hit enter until the
program ends, then you re-run tragic, and it will pick up the new settings.
Tragic does NOT reread the config file, unless you restart the program.
New with Release V: Tragic stores a file called tragic.lnk in /etc or C:\winnt
or c:\os2 or whatever directory is useful to let it know where it's config
file is. All Tragic programs must be in the same directory as the config file,
so when you unzip or untar the archive to a directory, make that your Tragic
directory and everything will work fine.
On UNIX machines config will make soft links from /usr/bin to the Tragic utility
files. This way they're on the path :-) In Windows and OS/2 there are no soft
links. Well, not real soft links anyway, so I copy the program files into
the windows directory or the os/2 directory.
Here's a description of each option:
What directory should Tragic keep its database? [/home/tragic]
Here, you type in the directory you installed Tragic into. In windows or OS/2,
this will look more like C:\tragic
You might not like /home/tragic, I'd use /usr/local/tragic or wherever you
put the tragic binaries.
What would you like your Net Name to be? []
There is no default here. You have to pick something. This is your Tragic name,
the name by which you will be referred to in the Tragic Universe. You get 20
characters. Avoid grief in the future and use something obscure that other
people are not likely to pick.
Is this okay? (y/n) [y]
If you're happy with the name you entered (case is not important) hit enter.
What would you like your Tragic Password to be? []
There is no default for this either. You have to pick something unique. Don't
worry about making it something easy to type, you'll never have to type it in
again, it's just to verify that you are who you say you are and not somebody
else. It ends up in the config file, and for ever more, Tragic will read it from
there.
Is this okay? (y/n) [y]
If you like your selection of password, hit enter.
What is your email address? []
This is an optional but recommended field. Tragic will store and send out your
email address to other Tragic servers so your friends can get your email address
to mail you with their Tragic name or let you know if they're having problems
with using Tragic to get to you.
Now the first thing you're thinking is that spammers are going to get your email
address from Tragic and then that'll be it. Well, I've learned that if you have
a good ISP (Prodigy for example) you don't get very much spam at all. If you
have a lousy ISP (AOL), and you get lots of spam. Well, might I suggest you
switch to Prodigy.
Secondly, when you post to a newsgroup as myname@NOSPAM.domain.com you're really
taking your problems and shoving them onto other people, and usually, it's
people who are trying to help you. For example, if I may rant for a moment: If
you post a question on a newsgroup and I can answer, I'm going to hit reply, and
try and mail a response to you. If you didn't put a valid email address, you're
not going to get your answer, and I'm going to get an annoying mail telling me
that ackack@NOSPAM.domain.com doesn't exist. All I wanted to do is help, and now
I have to go out of my way to help you, because you find spam annoying? No. I
don't think so. If you're going to spend your life living under a rock in case
by accident somebody gets your phone number or address, that's your concern, but
if you like to interact with real people, then act like a Gentleman or a Lady.
Hit enter dammit.
Do you have a static IP address? If you don't know, answer No.(y/n) [N]
A static IP address refers to the nature of your internet/network connection. If
you get the same IP address assigned to your machine every time you dial up/turn
it on, or connect to your network, then hit yes. If you use DHCP, enter No. If
you have no idea what this means. Enter No.
Do you have a connection to the Internet? (y/n) [Y]
This is basically asking, are you running this on a private network or on the
internet. The only difference I can think of, is that if you're not on the
internet, Tragic won't make certain assumptions about where I am, which will
save you some grief in getting to finding other people. This will be explained
more later.
Please enter the name of a server to verify your network connection. [aol.com]
If your machine is connected to the internet, then you can leave the default
mit.edu entry and you'll be fine. If you are running on a private network, ask
somebody for a machine name that's reliably up, so Tragic can use it to verify
that things are working okay.
Please enter the port number of a functioning TCP service. [80]
13 is the common port for the Time service. 80 is the common port for HTTP servers.
Mit.edu no longer runs time on port 13, but AOL does run a web server on port 80
which isn't quite perfect for what Tragic uses it for, but it will do.
To verify that this works, at a command prompt, type telnet aol.com 80 and they'll
be so kind as to serve you up a webpage thereby letting you know you've
wasted some of their server time. So if you're on a private network, you have to
find a service on a reliable machine on your network somewhere. Ask your
sysadmin (but don't tell them why).
As a good start, you can try your web proxy server and port 8080. That'll
probably work as well. Your admin won't like it, but that's not your problem,
now is it. :)
Do you want to be a fallback server? If you're not sure, answer No.(y/n) [N]
When you read on the subject of networks this will make more sense. Basically,
you can sign up for one or more logical Tragic networks to be a part of. Or, you
can be a fallback server which basically subscribes to them all. The side
effect, is that other people's Tragic servers will use you as a central store of
information. So if you've got a lot of bandwidth and you're feeling generous,
enter Yes.
Enter a list of networks to attach to separated by spaces: [0]
The aforementioned networks. You can sign up to as many as you want. They're
numbered 0 to 511. So if you want to be part of networks 15 501 and 98 enter
"15 501 98" without the quotes.
Enter the user id to receive chat notifications. [YourLoginName]
You'll only get this question if you're running under Unix. Tragic doesn't have
any good way of alerting you to a request from somebody else to chat with. So
what you do, is put in the username you usually log in as here. Then if tragic
gets a chat request, it will shove a message out to any terminals you are logged
onto informing you that somebody wants to chat. If you run windows or OS/2,
you'll get an annoying popup window which you can respond to when somebody tried
to chat you.
Enter the directory to receive files into. [/home/tragic/download]
Again, this is the Unix default. For windows/os/2, it'll look more like
"C:\tragic\download" You have to create this directory, Tragic won't do it for
you. The install program would do it, but there's no install program. Oh well.
Anyway, this is the only directory that files that are tsended to you will go
to.
Would you like Tragic activity logged to a file?(y/n) [N]
This just tells tragic whether to log goings on to a file or not. Useful for
debugging problems (or sending to me when you have a problem), or finding out
what files were sent to you while you were away, and things like that.
There's another question in there somewhere looks like this:
What is the DNS name of your machine?
I think you only get that question if you say that you're a fallback server.
The idea is, if you're a fallback server, you're willing to serve requests
for updates that nobody else can handle. To do that they need to be able
to find your machine, so I use DNS, because obviously Tragic couldn't find
you on it's own since it needed to find a fallback server. This is where
the purity of the Tragic paradigm falls down. But, hey, look at all the crap
Microsoft does to get their applications to work, I don't think this is so bad.
And this you can turn off if you want. As an aside, I guess this means, if
you're machine is not addressable by name or it doesn't have a static IP
address, you can't be a Tragic fallback server. So, if you have a static
IP address, enter it here 209.159.20.30 for example or if you have a DNS
lookupable name, you can use that too.
How many times should tsend/tget retry transfers before giving up? [50]
Tragic is very obstinant about file transfers. tsend and tget will recover from
partial downloads, verify that it's downloading the same file (and rename the
destination if it's not, so you don't have to worry about losing something that's
already there.) There are cases where the destination machine may have left
the network, and Tragic isn't going to try forever, so the number entered
here is the number of times tsend and tget will retry a failed transfer.
I don't have the program in front of me, but there's a question that goes
something like this: "Enter the directory to share #1"
What this means is if you have any directories that you'd like to share
that other Tragic users can search and download from, you list them
one by one here. If you leave it blank, it will stop asking you. If you
enter in something, it will then ask you for directory #2 and so on.
Then it asks you "Install Tragic? (y/n)"
This is a new one for Tragic V. I figured I'd try and make it a bit more
usable this time around. If you're on a unix machine, it will attempt
to make soft links from /usr/bin (which I figure is on your path) to
wherever you put the Tragic directory at. In windows and os/2 it
copies the program files to the windows or os2 directory. I figure
this is also on the path. Config will also try and write a file
in /etc or the windows or os2 directory called tragic.lnk which it
uses to find it's config file when it first starts up so you don't
have to worry about putting anything on the command line, just
type "tragic", and off it goes.
If you say No to this question, the config file will still be written
but no links or copies are made.
Tragic configure complete.
This means that the program is done asking questions. Neat eh?
Anyway, that's that. If you look, there's a file called tragic.cfg with all of
these settings in it now. You can use any text editor to change any of the
settings. For example, if you want to join a lot of networks, use a text editor
to edit the `NetworkList' entry. The config program will only let you enter so
many networks, but Tragic can read all 512 from the config file.
Step 3: Run Tragic.
If you want to make tragic a permanent part of your computing life (I
think it would be neat) put an icon in it to your startup folder, or your
/etc/rc.d file somewhere. I highly recommend making the start directory be the
directory you installed Tragic into. You can as an option, pass the full path of
the config file to Tragic, for example, you'd run
"/usr/local/tragic/tragic /usr/local/tragic/tragic.cfg &" in Unix or
"c:\tragic\tragic c:\tragic\tragic.cfg" in OS/2 or Windows.
But it's easier if you just make that the current directory.
For example in startup.cmd (in OS/2):
C:
cd \tragic
Start tragic
For my Linux machine, I have rc.local call rc.tragic which looks like this:
cd /usr/local/tragic
./tragic /usr/local/tragic/tragic.cfg &
The more I think about it, I think you have to put it all in the same
place. The programs interact with each other and have to know where to find
themselves. This will also help in uninstallation.
One more thing about logging. Regardless of what setting you have, a
few things will be logged in "tragic.log" when you start up tragic. This is
because the config settings that have to do with getting tragic to run at
all keep tragic from running, and will not enable you to see the error message.
This another example of rough around the edges that will be fixed in future
releases. For now, if tragic doesn't seem to run, or runs and exits right
away, check the tragic.log file for information on what's wrong.
X. UnInstallation. ("How to use the del command for dummies")
If you did what I told you and installed Tragic and set up all of it's
config entries to point to that one directory, all you have to do is delete the
directory. A simple rm -rf /usr/local/tragic/* will do the trick. Or deltree
c:\tragic.
Okay, so that's not quite true anymore. With Release V, if you hit "y"
to "Install Tragic" in the config program, you've got a bit more cleaning up to
do. But c'mon why would you get rid of Tragic, it's so cute?
Now for a bit of hypocriticism....
I hate the windows registry and so does everybody else. Why do programs
insist on putting themselves a little bit over here, a little bit over there, a
little bit in the windows directory, a few dll's in that system directory?
WHY?!?!!? It's sooooooo annoying. Is it so they can justify writing a really
complicated install/uninstall program? Is it so they can cause problems by
munging different DLL versions? WHY!?!?? You keep everything of yours in one
directory then it's nice and simple and portable, and everything. It's 1999, is
that too much to ask. You can buy 18 gigs for $200, I really doubt it's about
disk space. Argh.
I heard another good one the other day. Between two versions of VB, a
DLL changed enough to not be backward compatible with the prior version, but
this screwed up the current version of Excel, so they had to release a hotfix to
get around the problem. Now maybe I'm not understanding things correctly, but
check me on this. If you have a program, and then you have another program that
doesn't something else, IT'S NOT THE SAME PROGRAM. So you DON'T call it the same
thing and then you won't have compatibility problems. How stupid you gotta be?
.... okay, I really stepped in it this time. But it's not that bad.
Go to your /usr/bin or c:\winnt or c:\windows or c:\os2 directory
and delete tsend* tseed* tchat* tcheck* tfind* tget* tsearch* tragic*
XI. Y2K (eyejusthad2)
Tragic is y2k compliant. Whatever that means. It's also King Richard the
Third compliant. And Arnold Schwartzenegger compliant. And Space Shuttle Compliant.
And New Kids on the Block Compliant.
Heh, wanna laugh? Tragic wasn't y2k compliant. I had a date routine I wrote
when I was about 6 that craps out on the Christmas before every leap year. Go figure
that one out. Tragic Release IV fixes this problem.
XII. Tragic (greasy grimy programming gutz)
Tragic is the main executable that does most of the work of the tragic
system. It maintains the database, finds new people and accepts requests from
them or from you to do things.
If you're running windows, make an icon in your startup folder pointing to
tragic.exe. Since you have already run the installation program, you have a
tragic.cfg file in this same directory, and when you double click the icon, the
magic will start happening. You can read the log messages in the window for
your entertainment so you can see what tragic is doing, or you can just minimize
it.
If running OS/2, you can minimize the window, and Unix, it'll be running
in the background anyway, nothing to see here. Please keep moving.
Here's a list of everything that comes with tragic.
XIII. Applications: tseed
Tragic seed is a really simple program. You run it from the command line
and you pass it an IP address. This is where some small bit of technical savvy
is required, but I'll help you out. If you know the IP address of somebody else
on your network, or on the internet, just type it in, like so:
tseed 172.16.1.3
tseed will tell the tragic server that there is a machine in that class C,
and tragic will go hunting for it. If you've got an external modem, you can feel
good about getting use out of your expensive modem because the lights will start
to blink. Like all of the other applications, tragic must be running already. It
will tell you this, if it's not.
If you have no idea what IP address to put in, try this:
If your running windows, type "ipconfig" on the command line and use the
number next to "IP address."
If you're running Linux type "ifconfig" and use the IP address listed
there.
If you're running OS/2, I have to tell ya, I just can't remember off the
top of my head how to get your IP address. I'll get back to you on that.
If you're running AIX, you should know how to get your IP address, if you
don't know it by heart already. If you don't, give your AIX box to somebody who
can appreciate it more than you.
It is important to note that you have to put a full ip address, you can't
just put 1.2.3 This will not work. If you know the subnet, but don't know the
entire address, then put a zero for the last address field: 1.2.3.0
XIV. Applications: tchat
Finally. One of the cool toys. The chat program. Real simple. Type
"tchat stu" on the command line where stu can be replaced with the name of the
person you want to chat with. Again, tragic has to be running, and the name you
use has to be a valid user on your network. If all is set up correctly, the
other person will get a notification that you are requesting to chat with them.
If they're running OS/2 or windows, they'll get a window and have 30
seconds to accept your chat request or it is automatically canceled. If you're
running Linux or AIX, the user listed in the config file, gets a notification to
start the chat program to accept your chat request. Because of the goofy nature
of Unix, I couldn't see a good way to attach to a terminal from a forked process
that wasn't attached to anything, so I decided to make the user go along with
it. This is what talk does, so I figure it must be the right way to go.
Now let's argue a bit. I probably mentioned this before, but I don't
believe in just giving away my source code for free. I only distribute binaries.
This will cause problems on the multitude of variations of Linux distributions
out there which use different directories for terminfo and different versions of
libraries and all sorts of other crap. I'm not in the mood to fight any more.
I'm tired of it. Tchat on Linux, uses curses. You have to have the libraries
available. You probably do, so that's not the problem. You might however, end up
with your terminfo being in a different place than mine. I use Slackware, so
mines in /usr/lib/terminfo. If you're using redhat (I tested with 5.2) you're is
in /usr/share/terminfo. So before you run tchat, you have to enter this:
export TERMINFO=/usr/share/terminfo
Put it in your .profile or whatever, it's stupid for anybody to assume
where this will be anyway, so you might as well set the environment variable up
front. Consider that not EVERYTHING will always be compiled on your machine.
As a solution to the red hat problem, I'm going to make a distribution
that I built on my red hat machine, so just download that one and you should
be okay. This was an afterthought, so it's not mentioned above.
Anyway, when you get to chat, you'll get a message saying "You're chatting
with stu" and you'll get a prompt. As you hit enter or fill up a line (I think
it tops out at 70 chars or so) the other chatee will see your message and as
they hit enter, you'll see theirs. Hit /? For help.
You can run as many chat programs as you want at once, but one
window/terminal/session can only handle one other chat person. I've got plans
for multi-tragic-user chat. Should be real neat.
XV. Applications: tsend
The other cool application. Sending files has never been easier. If you
and the recipient are both running tragic, you can just go to the command line
and type
tsend stu *.txt *.zip
Sit back and watch. Tragic will do all sorts of neat look up and connect
things and will start sending files to the recipient. And now, a word about
friends.
Tchat's security features are limited to this: The recipient has to
acknowledge your request to chat. In windows and OS/2 they have to type 'y' on
the chat window, in Unix, they have to run a tchat program with a specific
option. In the case of file transfers, it would suck to have to keep verifying
files all of the time, so here's what I did.
I made a friends list. In the same directory as all of the other tragic
files, you need to make a plain text file called "tfriends.cfg"
In this file, you can list the tragic names of anybody you are willing to
receive files from. Plain and simple. If their name is in there, tragic will
accept files, if it's not, it won't. No interruptions, no nagging questions.
Now you're going to start worrying about security of your machine, if
somebody can just send you files without you even being there, they can make a
real mess of your machine. No. It doesn't work like that. It has to be somebody
you OK'ed to send files, and all files will end up in the download directory you
specified in the tragic.cfg file. Nowhere else. None of those ../filename tricks
work, files will only end up in that one directory. Worst thing they could do is
fill up your drive. If they do that, you take them out of your friends list, or
put the download directory on a partition that you don't care if it gets filled.
There is no receive program. If you want a file from somebody, they have
to send it to you. But look at it this way. You don't have to be there, if your
machine is on, they can just send it to you at any time and you can come home
and there it is.
The command line options are just the recipients name and any number of
wildcard filled filespecs. These are valid examples:
OS/2 & Windows: tsend googoo c:\*.com d:\temp\crap.jnk z:\public\*
Unix: tsend blahblah /etc/* /usr/local/include/*.h
XVI. Applications: tfind
For the sake of making things a little easier to use, and people easier to
find, I've included a little utility to help you find people using tragic on
your network(s).
From the command line type:
tfind fordii@evil.spaghetti.com
This will tell tragic to go hunting through it's database looking for a
matching email address. If it finds one it will tell you that person's tragic
name. This is purely voluntary. If people don't put a verifiable email address
in their config file, this won't be too useful. But it seems to work for ICQ and
AOL so I thought I'd add it.
XVII. Applications: tcheck
Another little helper program to tell you what tragic thinks is going on.
Type in
tcheck nyti
Tragic will run through its little scurry of events trying to figure out
if the person is in the database, attached to your network, running tragic or
whatever. And it will tell you what it finds.
I may have mentioned this somewhere else, but this thing is so damn long I thought
I'd mention it again just to make sure.
To get some added functionality out of Tragic where it might be hindered from
working quite right, I added a feature where you can substitute an ip address for
the Tragic name of the person (or their machine) that you want to connect to.
So if you know somebody's IP address and they're running Tragic but Tragic can't
get information from them (because, oh say, you're behind a linux masquerading
firewall) you can still tchat and tsend files by using their IP address instead
of their name.
* * * New with Release V
If you put a file in your Tragic directory named "infofile.txt" the contents of the
file will be displayed to anybody who runs a tcheck on you. This file can have
any information in it. Alternate email addresses, a bio on you, or a silly poem.
Similarly, if you want to read somebody's infofile, you just tcheck them and
if they're up and running you can read their info file.
XVII-a. Applications: tsearch
The other day, I heard about this program called GNUTella. Then I heard it
got axed. It was explained to me that it was a peer-to-peer file sharing system of
some kind. I never saw it, I dunno. But I figured Tragic has the peer network stuff
in it, and it's got a file transfer program, so I just thought I'd add a search
ability.
What you do is pick the filespec of a file you're interested in finding
and type tsearch and then the filespec in quotes.
The search works in two ways:
1) If you include a "*" in the filespec it will do a filename type check
of all of the shared directories on the remote machine. For example "*.zip" will
list all of the files ending in ".zip". "a*" will list all of the files starting
with the letter "A". Searches are not case sensitive ("a*" will match "aristotle"
and "ABSOLUTE")
2) Word search. If you do not include a "*" in the filespec, Tragic will
do a word search which means this: If you give a list of words (separated by
spaces) a name will match only if it includes ALL of the worse you listed.
For example: tsearch "I zip tragic" would find "Tragic-III-OS/2.zip" and
"Isn't it tragic how I can get away with this.zip"
In either case, you MUST put the filespec in quotation marks:
tsearch "example princess" will work, tsearch example princess will not.
Aside from listing the files that match on the screen, tsearch will build
a batch file (named for your OS either goget.bat, goget.cmd or just goget)
that will have the appropriate command to fetch these file(s) for you. This is what
you get for me not having a GUI. So after you do your search, you just type in
goget and the transfers will begin. This is a normal boring text file, feel
free to edit it with any text editor. The file will be placed in the Tragic
directory specified with the config program.
A word on the batch file. You're going to want to edit it at some point,
because it keeps getting added to. (This will be dealt with behind the scenes in
the forthcoming GUI) So if you do two tsearches, you just run the one batch file
to get all of the files in the result list. However, tomorrow when you do it again,
the original list will still be there, so you're going to have to clean it up
at some point.
XVII-b. Applications: tget
This is literally the exact opposite of tsend. Same exact transfer protocol
but backwards. The only other difference is that the friends list does not apply.
I figure you don't want just any boob off the street filling your hard drive with crap
but if you want to download something, that's up to you.
So you do this:
tget smith "*.zip"
And Tragic Get will try to download all of the files that end in ".zip" from
the machine named smith. The filespec search here is not at all related to the
tsearch function, it will not do a word search or anything like that. (I.E. in
unix you want to put the "*.zip" in quotes so the wildcard expansion is done
on the remote end, not on your machine.)
The files will be downloaded into your Tragic Receive directory specified in
your Tragic config file. With Tragic Release V, I also added a feature that I can't
stand about some other file transfer programs. When Tragic comes along two different
files with the same name it will NOT STOP AND PROMPT YOU FOR WHAT TO DO.
It will rename the second file to a new similar name, by adding a number to the
filename somewhere to make it unique. If an identical but short file name is
found, Tragic will resume transferring the file, so you don't have to download
the whole thing from scratch each time.
*** IMPORTANT NOTE ***
Tragic searches and file transfers are done ONLY ON DIRECTORIES YOU
SPECIFY AS SHARED IN THE TRAGIC CONFIG FILE. When somebody makes a request to
search your machine or download a file, the only places Tragic will read from are
the directory you specify as the ReceiveDirectory in your config file, a directory
named "share" off your Tragic directory (I.E. "C:\tragic\share") and any directories
that you list in your config file with entries named "ShareDirX" where X is a number.
So for example, if your config file has these entries...
Directory = c:\tragic
ReceiveDirectory = c:\tragic\download
ShareDir1 = y:\zips
ShareDir2 = c:\bat
... then Tragic will search c:\tragic\share, c:\tragic\download, y:\zips
and c:\bat. It will not search or read files from any other directory. It will not
scan into subdirectories of those directories. It will not pass go. It will
not collect two hundred dollars, and most important of all, it will
not fall for any of those stupid ..\ tricks that netware used to. So don't waste
your time.
XVIII. Networks (people who know people who know other people who cut your
lawn)
There's a lot going on in tragic plenty to confuse me and you, one of them
being networks, so I thought I'd go on about it a little more.
In the tragic.cfg file, there's a line called NetworkList.
On this line you should enter a space separated list of networks you want
to be on. There's absolutely no designation whatsoever as for what numbered
networks are for what. None. It's random, it's a guess, a gas, a blast from
the past.
But most of us, being mostly human, will tend towards the smaller numbers.
Like, oh "I'll be on the first 5 networks." Chances are lots of people are going
to say that. But then there are going to be the people who are going to want to
be different (just like everybody else) and select networks number 510, 509 and
508. Then the REALLY smart people are going to say, well everybody's going to do
that too, so I'll be 384 and 247 and 76. This is your better bet.
Chances are all the Hitchhiker fans will be on network 42.
The thing about networks is that tragic only pays attention to packets for
networks that you're on. Tfind will not find your friend who you KNOW is using
tragic, if they don't share at least one network number with you.
One possible hack solution is to make yourself a fallbackserver. What this
does, in essence is put you on every network. You could alternatively put all
512 entries on the line in tragic.cfg, but that gets a little stupid and
unmanageable. Once you find the people you want you can chat them and ask what
network number you can join them on.
Tragic takes care of cleaning up old records from its database, if you
take networks off your list. Don't worry about that. What you should worry about
is the name thing. If you make yourself a fallback, and somebody has seniority,
you're going to lose your name. Actually tragic doesn't do anything, it just
doesn't let you run tragic. If you put your status back to not being a fallback
server, you'll retain your old birth certificate seniority.
XIX. Logging. (other things tragic can tell you that aren't all that obvious,
and most people wouldn't really care about anyway.)
Tragic has the ability to log some of what it's doing to a file. This is
more for my usage than yours. If something goes wrong, there will be some
messages in the log file indicating some possible places to look. It'll help me
if you want to ask for help. Whatever.
XX. Other notes. (What's going to happen.)
I have no idea what the repercussions of this system are going to be on
the world, the internet, my modem, my ISP, my job, your job, my satisfaction
with my life, the inflation rate, or anything else, including but not limited
to, the price of tea in china and its wholly owned territories.
There are probably bugs in the system that won't come up until there's
some real usage, I've only got 4 machines to test with, I can only do so much. I
don't have anything close to what anybody's network may look like, but I'm
willing to help out if you've got problems getting tragic working.
My goal is to get Bob Metcalf or Nicholas Petreley to say something about
tragic that they will have to eat their column if they're wrong about it.
Keep in touch. You got something better to do?
XXI. Legalooze.
(This is where I tell you that Tragic is my idea and my program and no matter
what, I thought of it and implemented it first. Well, I started to implement it
first, then ICQ came along and so on, but Tragic isn't client server exactly,
it's client client server server. So it's different.)
This piece of art is not published under the GNU license because, while I
stand for what they're doing, I'm personally not too thrilled with the way they
do it. So let's call it Ford-ware or Stu-ware. I have the source, you don't. You
have the executables, and this DOC file. It all comes in one nice neat zip, and
it's simpler if you distribute it that way. I wrote it. It's mine. Say what you
want, but the copyright belongs to the original creator, which is me, Stu Mark.
Give it out freely, but give it out in its original form. Please. For the
sake of humanity.
There is no warranty expressed or implied, and all that other Konichiwa.
You use it at your own risk, I make no claims about what it will and won't do.
This software makes every intention of doing nothing more than updating a
database and allowing you to chat and send files. If you worry about viruses,
that's your prerogative. I think there are better things in life to worry about.
It's possible for you to send a virus with Tragic, but that requires some
initiative on your part and has nothing to do with me. Blaming me would be like
blaming the knife manufacturer for the death of O.J.'s ex-wife. (not insinuating
anything here.)
XXII. Nixo.
In 1981, the movie The Gods Must Be Crazy was released. The Kalahari
Bushman who was one of the lead characters was named N!Xau. When I tried to
remember that name 15 years after I saw the movie, all I remembered was that it
was a short name, and that it had an N and an X in it. And it had a Click in it
somewhere and that the ! to represent the Click looked like an `i' at quick
glance. Thus Nixo was formed. As it turns out, somebody already has nixo.com
registered.
XXIII. Future releases/bug fixes. (There are no bugs, only design flaws and
Microsoft software, but they don't have bugs, they have issues.)
The first release of Tragic has no bugs that I know of, but it's rough
around the edges. I left room in the protocol for planned enhancements, and
because I can't test out what it's going to be like over a large network, I'll
tune it as I see things working better or worse, and release updates as
necessary.
I've tested this between AIX, NT, and Linux, and Linux, NT and OS/2. But I
don't have an OS/2 machine in the same place as the AIX box, but I'm sure it
works. Really, I am. I lost my windows 95 machine and don't have any place to
install it, so I can't guarantee that it'll work on 95-98-00 but I don't see why
it shouldn't ? If anybody wants to donate a machine, I'll get it working. Just
mail it to my P.O. Box.
If you report a problem to me, I'll do my best to fix it as soon as I can
and release a fix, and give you credit for rubbing it in my face. It's easier to
talk the talk than to walk the walk.
XXIV. Known problems. ("It's not my fault, really.")
This isn't so much a problem, as it being rough around the edges. When
tragic works, it works well, when it doesn't work, it stops looking so pretty.
The problem with Tragic is that it started out 2 years ago as something quite
different from what it turned into. Since it has had it's purpose in life
changed five or six times, there's a lot of lost organization throughout the
program so some things get logged one way, and some things give errors another
way. But if all goes well, it all just works.
It doesn't have a gui. I'm working on it.
XXV. Roman Numerals.
Had this big debate about roman numerals. For example, the year 2000
problem. There's no letter to symbolize a number larger than 1000. So 2000 would
be MM, which means 10^20 would be MMMMMMMMMMMMMMMMMMMM. Seems kinda stupid. But
after a little research, it turns out that there is a shorthand for large
numbers. You put a bar over the single digit and it denotes Thousand. So an "I"
with a bar over it would be 1,000 also and so on. I think that's how it works
anyway. And whenever you see Roman numerals with the bars above and below, that
doesn't mean anything, it's just for effect, because it looks cool. And that's
what life is really all about. Looking cool.
XXVI. Update history.
4/3/2000 Release V
Well, that was quick eh? Every few years, I get this burst of inspiration
to do something so strong that can't sleep or be productive in any other way
until I've finished what I wanted to do. This release (and the days between 3/20/2000
and 4/3/2000) represent that.
I've added a bunch of big features, so I described them in the body of the
document and not here like I usually would, but here's the run down.
I added a remote search ability (tsearch).
I added the missing file transfer program. (tget) Now you can send and receive
files.
I made the file transfer protocol a bit more robust and added the auto-rename
feature for duplicate named, but different files. Fix a bunch of silly little bugs
so small I can't remember what they are.
I added a bunch of crap to the config program so that it'll make the
download directory for you it will copy programs or links to something on
your path, and now Tragic has a much easier time finding its config file, so
you shouldn't have to worry about setting up a shortcut or anything, just
run config, and any time you run tragic after that, it'll figure everything
out by itself.
Ahh, another silly feature. Any program that accepts a Tragic username
as a parameter has a new function. Originally it only searched for Tragic names.
Then, in release III or IV I added the ability to put IP addresses. Well, with
Release V, I've truly sold out and if Tragic can't find the Tragic user by name
and doesn't recognize the IP address, it will do a go old fashioned internet DNS
name lookup. So if you know somebody running a tragic server at diphthong.smallpox.com
you can type tget diphthong.smallpox.com "*" and tget will go to that machine to
do the file transfers. Please note, that you still have to run a Tragic Server
on both sides for it to work. It's a community effort here people. Let's play nice.
A friend of mine suggested to me that it might be a good idea to publish
the protocol for Tragic so that others might deign to write things for it. Sounds
like a good idea to me. If you're interested, email me: nixo@prodigy.net
and I'll send you out a copy. I'll post it on my web page
http://nyti.spaghetti.com as soon as I finish it :-)
3/20/2000 Release IV
It would appear I made a boo boo or two. Tragic was not quite
Y2k compliant. Something silly would happen when it tried to log things past
Christmas of 1999. So I fixed it. I don't think I made a release for it.
But the big cool feature addition for Tragic Release IV is this: TSEND file
recovery. When you send big files over a modem with Tragic, there's a chance
that the modem will hang up or something bad will happen and you won't finish the
file. In this case, you have to send the file all over again from the beginning.
This is annoying if it's a 13 meg file. So from release IV and up, if the recipient
is running a version of Tragic, Release IV or higher and you are also, Tragic will
attempt to pick up where it left off the last time it tried to send this file.
This means that there's no simpler mechanism for sending a batch of files to
somebody else than to type "tsend myfriend c:\mp3\*" If it craps out in the middle
just do it again. It will verify the files that are there to make sure they're
the real thing, and transfer the ones that it didn't do yet, and it will pick up
if it got lost in the middle. It's easier than leechftp and all those other click
click programs. Necessity is the motherkonichiwa of invention.
12/17/1999 I have this problem where I'm behind a Linux masqueraded firewall,
so unsolicited UDP packets never make it back to me which brings the whole system
to a big nil. So I added a feature where you can put in an IP address instead of
a name to use some of the tools. For example, if you want to send a file to "Bill"
but you're can't get update packets from him, but you can telnet to him (this
is what it's like being behind a Linux masquerade firewall) you can use his IP
address if you know it. Granted, it defeats the purpose of Tragic in the first
place, but chat and file send are just such cool programs that nobody else has
ever written, so it would be a shame to make them completely unusable.
For example tsend 172.16.1.3 text.fil
will send text.fil to the tragic server at the listed IP address.
They still have to have you in their friends file and all of that,
and the IP lookup stuff won't work, but you can at least send files and that's
the real point, isn't it?
What else. I did a bunch of silly little things. I fixed it so that
Tragic (the windows version) minimizes to the ashtray. I figured servers should
end up in the ash tray, not on the task bar. Also I did this because my friend
Joe asked me to.
I added a little line graph to tsend, so you can see it's progress
during big files. I love ftp programs that do this, I don't know why I didn't
put it in the first release.
Lessee... I changed some of the timeouts so that data will stay
in the Tragic database longer and it will be more likely to find other Tragic
servers when it comes up.
Oh yeah, here's a biggie. It's not a Y2K problem, oddly enough,
but it started happening on 12/31/99. There was a problem with logging the date
and time correctly, and the date came out as 12/31/1999, then 12/31/2000. After
that it got real ugly. All fixed. It was a date related problem, but nothing
specifically Y2K.
I changed the Unix version so that it will log to syslog instead
of a file.
I think that's about it.
Anything I remember after this, I'll put in the FAQ at
http://nyti.spaghetti.com/tragicfaq.html
9/21/1999 I made a build called release II, but never released it. Go figure.
7/30/1999 Tragic Release I
I'm sure they'll be an update real soon now. Something's going to go
wrong. It always does.
XXVII My life saga. (People who like to read about my personal life.)
I have since removed the contents of this section from the documentation,
because my girlfriend asked me to.
XXVIII. Star Wars. (keep in mind I wrote this in March of 1999)
So here it is, 1999 and they're going to release the next star wars movie
soon. It's gonna lose. When we saw the first movie, we were kids, and Darth
Vader was big and ominous. But 20 years later, the effects industry has caught
up and you're going to be hard pressed to shock anybody with special effects.
Plus, go back and watch star wars again. Don't remember it how you first saw it,
watch it now as a 30+ year old. It really is a dippy movie. For its time it was
very cool, but in the realm of things, it's pretty sappy. But take gone with the
wind. It's timeless. As great as star wars is, it doesn't have that. Never will,
but everybody's going to be expecting god to make a personal appearance, and it
can't possibly live up to everybody's expectations. They're not going to get the
Nintendo generation excited about it because they've got street fighter and
don't need Darth Maul, and it's not going to make more money than Titanic.
Here's another thought for ya. The great seizure Episode I will be a look
back in time before Episode IV. But since the age of special effects has been
going forward in time, we're likely to see cooler things in the past than there
were in the future. Take for example that staff-like light saber. They thought
of that afterwards, but came up with some Konichiwa excuse why it came earlier
in time and nobody afterwards used it. Because they hadn't thought of it back in
1977.
What a Konichiwa.
XXIX. Movie Reviews (I liked this bit so much from Murray, I kept it in here)
(The visual arts are for the eyes)
COMING SUMMER 98, THE GREATEST BLOCKBUSTER SMASH OF ALL TIME!
THE NEW ACTION THRILLER FROM MOUNTAPARROT PICTURES....
T h e F e r t i l i z e r . . .
Jack Graves is a renegade cop, who doesn't believe any crime should go
unpunished. He sees that the Police have their hands tied, and he wants to do
something about it. Brandished with the most unique weapon known to police
enforcement, Jack Graves is going to make a difference.
(a scene from the movie...)
"Hey Jack, what's the noise."
(Rustle, rustle)
"Let's check it out."
*SMASH* *ALARMS*
"GO GET HIM JACK, HE'S RUNNING DOWN THE ALLEY!"
"I can get him from here."
And with a swift motion spins around, turning his back to the thief,
bends over, pulls the ripcord exposing his mighty ass to the world...
PFfffffffphhphpphphhhhhhhhhhhhhhhhhtttttt.
pft.
Pphhhhhhhhhhlllllllllooooooommmmmmmmpppppphphhhhhh.
"SHIT!!!!"
"GET THIS SHIT OFF ME!!!!"
"Good job Jack."
"Yeah, he should be happy I didn't fertilize him with the strong stuff."
T h e F e r t i l i z e r . . .
Coming Summer 1998 to a theater near you.
*****************************************************************************
Tragic Release V 4/3/2000 Copyright Stu Mark.
e-mail: nixo@prodigy.net
or telnet to my BBS: telnet nyti.spaghetti.com
Check out my web site, it has a cool background.
http://nyti.spaghetti.com
Monetary donations (see section VI) can be made payable to:
Stu Mark Attn: Tragic
P.O. Box 77
Valley Cottage, NY 10989
U.S.A.
Latest and greatest versions of all my software are available via ftp at
nyti.spaghetti.com
The following disclaimer follows:
(any nasty remarks sent in the general direction of Window's capacity to
function, [are fully intentional,] are not opinion, but a statement of fact. So,
don't try to slam me with some Konichiwa libel suit.)
In truth, I'm tired of getting angry with Microsoft. I'm tired of fighting, the
whole thing is stupid and pointless anyway. Most of the arguments are remnants
of old things I've written that I shoved in here.
Heh. It's 5:53pm on 4/3/2000. I just read that MS got their ass kicked.
Put a smile on a Marketing person's face: Kiss them for me.
Nixo. More.
Bigger faster stronger quicker stop void.
I have The Everything.