home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / TOOLS / MURRY111 / murray.doc < prev    next >
Text File  |  1997-10-02  |  70KB  |  1,257 lines

  1.                                     Murray.
  2.                      (sounds innocent enough, doesn't it?)
  3.  
  4. Murray Client for OS/2 Version 1.21  2/23/97 10/2/97
  5. Concept and implementation by Stu Mark.
  6. Copyright 1997.
  7. (yea, the same guy who wrote NYTS II)
  8. Don't worry, there's a Windows version on the way.
  9. I take that back. There's a windows version on the way. Worry.
  10.  
  11. *** Section XX and later have update changes, the rest of the document
  12.     is the same as the original. If you've already read it skip to
  13.     section XX. If not it makes for fun reading, I'm told.
  14.  
  15. This program is free. That means you can download it, use it as much as you
  16. want and give it to everybody you know. Nothing times out, there are no
  17. annoying splash screens. So read the pricing section below. :)
  18.  
  19. Also, this file is kinda big, so print it out and keep it in your bathroom
  20. so you have something fun to read next time you go to take a shit.
  21. I have play tested this by printing out this file and going to the bathroom
  22. after about 20 minutes you get tired and need a break, so it'll take about
  23. two shit sessions to get through the whole thing.
  24.  
  25. I.    Who the hell is Murray? (A.K.A. why am I reading this)
  26.  
  27.       Murray is the result of this cool idea I had while I was being beaten
  28.       senseless with happiness at Walt Disney World at the wedding of my
  29.       friends Lenora DiBart and John Cloidt.
  30.       This fact is very important to your understanding of this document and
  31.       needs to remain clear throughout the reading of this file.
  32.  
  33.       Here's the story: Humans by nature get bored of things. We're
  34.       constantly looking for more, newer, faster, creative, different.
  35.  
  36.                             In a word: change.
  37.  
  38.       One thing humans do better than anything else as a race (aside from
  39.       kill each other, I suppose) is adapt. Our brains adapt to all sorts
  40.       of things. That's why practice makes you better. This is why you
  41.       eventually get tired of listening to Stairway to Heaven. This is why
  42.       I think you're going to get a kick out of Murray.
  43.  
  44.       Now let's transpose this problem over the image of my perception of
  45.       the average PC user. A lot of people (much to my dismay) run some
  46.       variant of Windows.
  47.       Some people run some variant of OS/2. Some run DOS. The DOS people play
  48.       games. Dos has turned into a very feature rich game loader. (Boy am I
  49.       going to get it for that.)
  50.       The Windows and OS/2 people have these neat little settings
  51.       in their environment that allows them to change things like the desktop
  52.       background (or wallpaper), and sounds that the system makes when you
  53.       do things like get an error or open or close window.
  54.  
  55.       Most people ignore these little toys or play with them for a little
  56.       while and get bored of them. "Oh look at this really cool background!"
  57.       Which two weeks later you find annoying in view of "This other REALLY
  58.       cool background." After a while it gets to be a chore to keep changing
  59.       it so you stop.
  60.       Then you find this really neat program that changes your background
  61.       every time you start the machine up. Well that eventually gets played
  62.       because you have to dig up all the pictures you're going to have it
  63.       slide show for you.
  64.  
  65.       Enter Murray.
  66.  
  67.       Murray is my first TCP/IP project, so if some experienced TCP/IP
  68.       programmer tells you that Murray is a piece of shit, quietly ask
  69.       them to shut up and go away, and then kick him in the ass for me
  70.       when they turn around.
  71.  
  72.       Murray plain and simple, changes desktop settings for you in the
  73.       background from a repository of images, text and sounds such that
  74.       you can ignore it, and your computer's desktop changes without any
  75.       input from you. The perfect human boredom solution: It changes by
  76.       itself, and requires little to no effort from you, and the warehouse
  77.       of resources it pulls from is a large pool that is collected and 
  78.       maintained by somebody else.
  79.       Why didn't I just say that before eh?
  80.  
  81.  
  82.       Note: My writing style is okay, but my organizational skills are
  83.             horrible, you may have to skip around to get the idea of what
  84.             I'm getting at here. Read through the whole thing, and you'll
  85.             understand Murray much better, and how to use it's different
  86.             features.
  87.  
  88.  
  89. II.   How it works / System requirements. (I'd rather read a text file than
  90.       play with the program)
  91.  
  92.       The magic behind Murray is really the server and the internet. I run a
  93.       server on my machine at home which is connected to the internet all
  94.       of the time (minus NYNEX's inability to maintain a clean connection).
  95.       The server delivers all of the requests that the clients ask for on a
  96.       first come first server basis. So if a lot of people run Murray you
  97.       may get messages that say the server is too busy to deal with you.
  98.  
  99.       You need: A connection to the internet, and a TCPIP stack. If you've
  100.       got a web browser running, you've got everything you need.
  101.  
  102.       Murray does not require a full time internet connection.
  103.  
  104.       Firewalls are your problem. Go tell your network admin that you have
  105.       an application that you need to get working through the firewall,
  106.       that runs over TCP/IP on port 1123, and let them deal with it.
  107.  
  108.       Murray works by keeping a list of things you want updated at regular
  109.       intervals in a config file on your machine. When Murray detects that
  110.       the specified time has elapsed, it will try and make a connection to
  111.       the selected Murray server, and get a random sound, quote, or
  112.       picture, depending on the selection. If the connection to a Murray
  113.       server is not available, no big deal, Murray won't popup an error, it
  114.       will just log it in the log window.
  115.       Next time your internet connection is up, Murray will check for the
  116.       server again, and when it's available, the request will go through.
  117.       Murray checks once a minute for any events that are past due. This
  118.       results in a lot of logging. No big deal, it's just a log. If I get
  119.       a lot of complaints, I'll get rid of it or something. Point is,
  120.       don't worry about -3 connection errors if you're not connected to
  121.       the internet.
  122.  
  123.       The idea is that you ignore Murray, and he sits quietly in the
  124.       background and does his thing when he can. (I tend to personify my
  125.       programs.) When a connection becomes available, anything that has
  126.       timed out will be triggered.
  127.  
  128. III.  What's available. (All the cool things you can download from
  129.       the internet!)
  130.       As of 2/23/97, I have only finished the OS/2 client. These are
  131.       the options available for the OS/2 version of Murray:
  132.  
  133.       1)  Murray Quote
  134.           This option gets a text entry from one of the selected categories
  135.           (see configuration below). The text entry appears in the top window
  136.           on the main Murray window.
  137.  
  138.       2)  Background Picture
  139.           This is the OS/2 desktop background bitmap. All pictures are
  140.           automatically tiled, so patterns don't just end up in the middle
  141.           of your screen.
  142.  
  143.       The following apply only if you have sound (mmos2) support loaded:
  144.  
  145.       3)  Random Sound
  146.           This feature when triggered will download a wav file from the
  147.           Murray server and play it. This is useful if you like having
  148.           your machine audibly burp, fart and insult you at regular
  149.           intervals.
  150.  
  151.       The rest of these are system events that can be found in the
  152.       system setup->sound notebook. Triggering these causes the specified
  153.       system event to change to a random wav file. The events you can select
  154.       are:
  155.  
  156.       4)  Alarm Clock
  157.       5)  System shutdown
  158.       6)  Lockup
  159.       7)  Warning
  160.       8)  Information
  161.       9)  Error
  162.       10) Printer error
  163.       11) Opening window (Animated)
  164.       12) Closing window (Animated)
  165.       13) Begin drag
  166.       14) End drag
  167.       15) Shred
  168.  
  169. IV.   Me / distribution / pricing. (Send money :) )
  170.  
  171.       I have no idea how well this is going to take off, but for once in
  172.       my life, I think I really hit upon a cool idea here, and everybody
  173.       I've mentioned it to really likes it. I hope you do too.
  174.       This program, as mentioned above is free. You can distribute it as
  175.       much as you like without cost or penalty, as long as you give it
  176.       away in the original zip with all files intact.
  177.  
  178.       I spent a lot of time and effort on this, and I like audience
  179.       participation as much as the next guy. So if you'd like to drop me
  180.       a line, my Eddress (e-mail address (I'm trying to coin a new phrase))
  181.       is at the end of this file. Or you can send a comment or tip with
  182.       the Murray program itself to my server.
  183.  
  184.       If you're feeling generous, and think Murray is worth more than the
  185.       initial cost (it's free, remember?), I will gladly accept monetary
  186.       donations which will further entice me to continue development on this
  187.       an other systems that I'm writing, and will also help offset the cost
  188.       of running the Murray server. $5 would be nice. $10 would be even
  189.       nicer. $50 will get you a thank you card in the mail. I think
  190.       Murray's worth $10, can't hurt eh?
  191.       It was asked of my what currency I'd like (since the internet is a
  192.       big place and spans many countries). Anything I can deposit at my
  193.       good old fashioned american currency bank. You might know better than
  194.       me what they'll take. But hey, beggars can't be choosers, so whatever
  195.       currency you want to donate, is fine by me. I'll go to the airport and
  196.       exchange it.
  197.  
  198.       Keep in mind that any donations would be put towards the Murray fund
  199.       which will pay for extra hardware to support the Murray
  200.       server, because when I first distribute it, I'm the only one with a
  201.       server so everybody who uses Murray is going to be banging away at
  202.       my machine. If there's more demand than supply, Murray ain't gonna
  203.       work too well. So I'd like to deliver the best product I can, but
  204.       (in a whining and distressed voice) "I need your help!"
  205.  
  206.       In addition, if you send money, I'll add you to my mailing list and
  207.       send out mail or email with new releases or information about
  208.       upcoming products, versions or fixes.
  209.  
  210.       Ok, enough begging for money.
  211.  
  212. V.    Why is it called Murray? (The name shithead was already taken.)
  213.  
  214.       I'm still trying to figure this one out. If you can think of a good
  215.       reason why it's called Murray, send a comment to the server (see
  216.       below).
  217.       So far, the best answer I've gotten was this. I was rock climbing with
  218.       my friend Joe and while he was climbing, he wanted me to lower him a bit,
  219.       so he yelled down to me "Slack, Murray!". This is a quote from one of
  220.       his climbing videos where there was some climber who wanted to be
  221.       lowered, and the belayer's name was Murray.
  222.       This happened around the time I started to write Murray, and may very
  223.       well be the correct answer. I do seem to recall calling it Murray when
  224.       I first had the idea during the middle of last year. I dunno.
  225.       Send me your comments. I keep a scrapbook so I can show it to my kids
  226.       someday.
  227.  
  228. VI.   Installation. ("How to use the pkunzip program for dummies")
  229.  
  230.       To initially set up Murray, very little is required. I hate complex
  231.       installation programs, so I don't write any. (It always seemed to me
  232.       that the guys who write viruses write the best installation software
  233.       known to man. How many viruses have ever failed to install correctly
  234.       or have given you an error message saying that they can't install?)
  235.  
  236.       Step 1: Unzip the Murray distribution zip into a directory. I recommend
  237.               C:\Murray because people like it when I recommend things.
  238.       Step 2: Edit the file Murray.cfg with your favorite text editor. E
  239.               will do fine. Change the line in the file that says
  240.               "Directory = C:\Murray" to point to whatever directory
  241.               you unzipped the files in. If you unzipped the distribution
  242.               file into C:\Murray (like I recommended :) skip this step.
  243.       Step 3: Run Murray.
  244.  
  245.       STEP 2 IS REALLY IMPORTANT BECAUSE MURRAY WILL RUN BUT WILL GET
  246.       CONNECTION ERRORS IF THE DIRECTORY IN THE CONFIG FILE DOES NOT EXIST.
  247.       SO YOU CAN FUCK EVERYTHING ELSE UP, BUT MAKE SURE YOU GET THE DIRECTORY
  248.       ENTRY CORRECT.
  249.  
  250.       You may want to make a shadow of Murray and put it in your startup
  251.       folder. This way, it'll always be running when you start up your machine
  252.       always waiting for that oh so perfect moment to download a "WHEEEE!"
  253.       sound as your boss is walking by.
  254.  
  255.       Ahh yes. Another holdover from NYTS II. I remember well. If you pass
  256.       a "/N" to Murray as a parameter, it will start up minimized. The idea
  257.       is that Murray does his thing in the background. You don't need to know
  258.       from it once it's set up, unless you want to read the quotes.
  259.  
  260.       Version 1.2 adds the command line option "/Q" to keep it quiet on
  261.       startup. More about that in the Update History section (section XX)
  262.  
  263. ***** Murray Features.
  264.  
  265. VII.  Configure Murray. (Be in control, bend Murray to your will.)
  266.  
  267.       NOTE:
  268.  
  269.       In order to use most of Murray's functions you have to have your
  270.       net connection up and running. Murray requires information from
  271.       the Murray server in order to configure itself to run in the
  272.       background, and will make requests from the server even while just
  273.       in the configuration dialog.
  274.       This may make it slow to use depending on how fast your (and the
  275.       server's) net connections are. But you only have to do it once.
  276.       Of course, you'll want to be playing with it more, I assure you.
  277.  
  278.       Here's where you get to tell Murray what to do with itself in its
  279.       spare time.
  280.  
  281.       The first time you run it, Murray will set the default Murray server
  282.       and port. The defaults are 199.224.7.119 for the server IP address
  283.       and 1123 for the port number.
  284.  
  285.       Actually, I changed this in version 1.2 to be nyti.spaghetti.com
  286.       which is more correct, seeing as I don't use that 199 ip address
  287.       anymore.
  288.  
  289.       The above IP address is my server running at my house. Murray
  290.       accepts names for the server address, but for some reason TCP32DLL
  291.       blows up when Murray tries to resolve it. You can try putting in
  292.       nyti.spaghetti.com and you can see for yourself. If it works, more
  293.       power to you, if you know what the problem is, let me know and
  294.       I'll fix it :)
  295.  
  296.       Note: This bug has been fixed as of version 1.02. (See section XX.)
  297.  
  298.       8/25/97 Important note as of now. I got my dynamic dns working and
  299.       if all goes well, it's accurate to 15 minutes. So the above ip address
  300.       is a crock of shit and will never be used again. (Never say never
  301.       because I might have to use my other isp again) But regardless,
  302.       ddns works very well, so always use the name for the server:
  303.       nyti.spaghetti.com and the ip address will follow. It has a time to
  304.       live of a minute and refreshes every 15. Can't go wrong there.
  305.  
  306.       I will be posting addresses of other Murray servers as people tell me
  307.       they're installed. They will be available in the Murray News section.
  308.       (see below)
  309.       The port number (everything seems to have a story, don't it?) is 1123
  310.       for personal historic reasons. I applied to the nicmasters for a
  311.       proprietary port number, but they're being more than fast in getting
  312.       back to me. When/if I ever get one, I'll update the Murray default.
  313.       I'll run the server on both ports on nyti.spaghetti.com, the only
  314.       reason to get an assigned port number is to avoid (possible future)
  315.       conflicts with other people running server software on the same port.
  316.  
  317.       In fact, looking back, they were very cool about it. Port 1123 wasn't
  318.       registered for anything else, so upon my request, they gave it to
  319.       me. (Once again proof that people at the bottom have all the power)
  320.  
  321.       Make sure these two fields are set correctly and your internet
  322.       connection is up and running.
  323.  
  324.       Now for the fun part.
  325.       The list box on the left side of the dialog shows all of the options
  326.       that Murray can change for you. By clicking on one, a list of possible
  327.       categories will load up in the right side list box. There are three
  328.       categories of items. Text, (Murray quote), Pictures (desktop background)
  329.       and Sounds (all of the system sounds and Random Sound).
  330.       If the category list for the type of item is not in memory, Murray will
  331.       connect to the server to get it.
  332.       The cool part here is that different Murray servers may run different
  333.       categories. So if you like a different set of categories, you can
  334.       attach to a different server.
  335.  
  336.       What's a category?
  337.       Well, what kinds of things do you want to see? If you're talking about
  338.       text, do you want to see jokes, or one-liners or stories, or trivia
  339.       or any number of types of text. Same thing with pictures and sounds.
  340.       Do you want obnoxious fart noises? or samples like AOL's "You're in
  341.       Jail"?
  342.       To select a category for Murray to look through, just highlight it in
  343.       the list box on the right. Your selections are stored in the config
  344.       file.
  345.       If you don't make any selections, then this item will be turned off,
  346.       as in, Murray will not attempt to change the system sound or background
  347.       or whatever item you have selected no categories in.
  348.  
  349.       The refresh button forces Murray to go to the server to refresh the
  350.       list in case it has changed (see below, Adding a category).
  351.  
  352.       The Ping button is just a test event to make sure you're attached
  353.       to a server correctly. If you don't get a message saying the ping
  354.       was successful, then check the server name and port number.
  355.       (This is an example of what I meant by poor organization, you'd think
  356.       this would be at the top of this section.)
  357.  
  358.       The three spin buttons below the left list box specify the interval
  359.       at which the highlighted item in the left listbox will trigger.
  360.       The default setting is once a day. You can go as low as 10 minutes
  361.       or as high as 2 years minus 1 minute for each of the items.
  362.  
  363. ***   New as of Version 1.10  6/8/97
  364.       There is now some new spin buttons for a function called 'Start time'
  365.       This enables you to limit the time of day that Murray does it's thing.
  366.       The check box selects whether or not to use Start Time. It is
  367.       off/unchecked by default. If left off, Murray will work as described
  368.       above.
  369.       If the 'Enable Start time' button is checked, then Murray will perform
  370.       a time of day check before it attempts to make any automated request.
  371.       There's a different recorded setting for each option, so it's actually
  372.       possible to change the background picture at one time of the day
  373.       and have random sounds only happen during lunch time.
  374.       You select the start and end hour in 24-hour time (0 = midnight,
  375.       23 = 11pm). These settings have no effect if Enable Start time is
  376.       not checked.
  377.  
  378.       So if you have a dial on demand setup, you can set Murray to only
  379.       do things when you think you'll have you IP connection up.
  380.  
  381.       Wow, too much information, not enough jokes.
  382.       Joke break: Did you ever wonder why when you see a flock of birds
  383.       flying in that V formation one side is always longer than the other?
  384.       Because there are more birds on that side.
  385.  
  386.       The "Reset this item's timer" button is there so you can set Murray
  387.       to trip different things at different times. If you set everything to
  388.       once a day, Murray will try and shoot them all off at the same time.
  389.       This might hunker your machine down a bit, maybe not, but if 400
  390.       people do this every day, it will more than likely kill my server.
  391.       So pick a time of the day you want to have the item change, and
  392.       click this button to reset it as if it had just triggered, and then
  393.       the counter will start running from that point and will trip
  394.       at the next interval time. That probably didn't make too much sense.
  395.       If you don't get it, ask your wife or your kids or something. They'll
  396.       explain it to you.
  397.  
  398.       The "Trigger this item now" button oddly enough, trips the item to
  399.       load just as if it's timer had run out. Simple enough eh?
  400.  
  401.       The only difference between tripping an item with the button or 
  402.       having the timer do it in the background is the popup box that says
  403.       Murray is trying to connect to the server.
  404.  
  405.       At this point maybe we should talk a little about scheduling.
  406.  
  407.       Windows (you knew this was coming) in my opinion is a very solidly
  408.       written display interface. By no stretch of the imagination is it
  409.       an operating system. You boot DOS (DISK OPERATING SYSTEM) and you run
  410.       the program called windows. Everybody and their mother tried to make
  411.       it do a hell of a lot more than it is designed to and thus everybody's
  412.       having lots of problems with everything and the word GPF was entered
  413.       into the Merriam Webster Dictionary.
  414.       I wrote Murray with the intention of porting it to Windows 3.1 
  415.       and possibly Windows NT (I refuse to acknowledge win95 as, wow. I
  416.       don't even have a word or phrase for what I would describe win95 as.
  417.       'An Operating System' is certainly is not one of them. I'll work on
  418.       that.) So I chose the least common denominator to make it easier to
  419.       port to  win 3.1 (With enough convincing I may try and port it to
  420.       win95 as an exercise in where the world is being sent.)
  421.  
  422.       As a result there's only one thread in Murray, and you can see
  423.       where it might get hung up during a connection. I've tried to minimize
  424.       this problem as much as you can with one thread, but it's not perfect.
  425.       Another thread would make it much better, but then none of the windows
  426.       people would ever get a copy of Murray and we all want to spread the
  427.       joy of Murray so the happiness can be had by all, right?
  428.  
  429.       It turns out that that's not exactly what happened upon the first
  430.       release of Murray back in February. I had it firing off threads left
  431.       and right to keep pm running while blocking on reads and connections
  432.       and stuff like that. With version 1.20, I rewrote the tcpip interface
  433.       in Murray and everything's a lot slicker now. It's in the history.
  434.  
  435.       When Microsoft asks you where you want to go today, you say "Outside."
  436.  
  437.       The point is that you may get little hangies if the server or
  438.       connection is slow, and it will be a little more noticeable when you
  439.       trigger the event rather than letting the timer trigger the event
  440.       in the 'background.'
  441.  
  442.       I think that's about it for the configuration screen.
  443.  
  444.       The practical upshot of all this, is that, at every interval specified,
  445.       Murray will call to the server for each of the selected items, one
  446.       at a time, getting a new item from one of the selected categories.
  447.  
  448.  
  449.                                      ***
  450.  
  451.       I'll try to make the other sections shorter than the config section,
  452.       the rest of it's a lot simpler once you understand what Murray does.
  453.  
  454.                                      ***
  455.  
  456. VIII. Donate a file to the Murray server. (You can be part of the action too!)
  457.  
  458.       "Dynamic is good." My dad used to say. He has since moved on to other
  459.       more profound statements.
  460.  
  461.       What fun is Murray if you keep getting the same pictures and sounds
  462.       from the server over and over again?. So Murray allows you, the user,
  463.       to make your own donations to the Murray server. You can elect to
  464.       donate a quote, a picture or a sound.
  465.       Pictures must be in BMP format, and sounds must be in WAV format.
  466.       I will be screening everything coming in to my server to make sure
  467.       it's not too vulgar. I'm very anti-censorship and if you can't deal
  468.       with people talking about abortion and anti-god ideals, that's your
  469.       problem, but that's what categories are for. If mom doesn't want
  470.       to hear "unh unh" noises coming from her computer, she won't select
  471.       the "Sex noises" category for Random Sound. As such, if you donate
  472.       something to an inappropriate category I will not delete it, I will
  473.       move it to a better category.
  474.  
  475.       To donate, select the item type and category and hit OK. You'll get
  476.       the standard OS/2 file box. Pick your file and hit 'Donate.'
  477.  
  478.       That's all there is to it.
  479.  
  480.       The idea is that if everybody donates something every once in a while
  481.       Murray becomes a lot more fun for everybody to use. This is the
  482.       advantage Murray has over the other 'Wallpaper changers'. You don't
  483.       have to set it up yourself. Everybody donates to the cause.
  484.  
  485.       You'll notice (depending on when you start using Murray) that there
  486.       may not be a lot of categories or samples or pictures. My collection
  487.       is limited. My hard drive space will someday be limited. I'm going
  488.       to be asking for lots of donations in the beginning to get it
  489.       started off. When I start running out of drive space I will buy
  490.       more equipment (see the pricing section).
  491.  
  492.       Be Kind. Rewind. (Don't be a dick, rewind this flick.)
  493.  
  494. IX.   Add a category to the Murray server. (Leave your mark on the server for
  495.       all to gape at in awe.)
  496.  
  497.       I'm not the most imaginative thinker in the world. It took me 15 years
  498.       to come up with the idea for Murray, so I quickly accept the fact that
  499.       Murray users will have ideas for categories and samples/pictures/quotes
  500.       that apply to them that I will not think of. So you can add a category.
  501.       Select 'Add a category to the Murray Server' and you'll get a dialog
  502.       asking what kind of item type you want add to, and then the category
  503.       name you want to add.
  504.       Let's try and not go ape-shit. Don't waste my time and yours with near
  505.       duplicates or categories that don't apply to the item type. I'm
  506.       just going to get rid of them.
  507.  
  508.       When you add a category, the server updates it's tables every 30
  509.       seconds if there's nobody pounding away at the server. So check back
  510.       a few minutes after you add the category to see if yours has been
  511.       added. (Thus the Refresh Category List option in the config dialog.)
  512.  
  513. X.    Send a comment or tip to the Murray server. (Spread your gospel to
  514.       the Murray server site in hopes that your tips will make it to the
  515.       tip file.)
  516.  
  517.       So I can send information to Murray users without having everybody's
  518.       Eddress (I'm still trying to coin that word:) there are two information
  519.       files that Murray can display in the quote window. The News file and
  520.       the tip file (see next two sections for descriptions).
  521.       The idea of the send a note to the server is so that you can send in
  522.       notes or tips of things about Murray you have found. I will check
  523.       this every couple of days and see what people have to say.
  524.       I would prefer Email for such things as bugs, feature suggestions and
  525.       things like that, but for tips or questions about using Murray or it's
  526.       content this feature is useful. If you've really got something
  527.       worthwhile to say, I'll add it to the news or tips file that Murray
  528.       distributes and everybody will be able to read your divine words.
  529.       If you've ever sent me email before, you know I always respond to
  530.       email and I just love getting messages from people.
  531.  
  532. XI.   Get news file from the Murray server. (If this file isn't entertaining
  533.       enough, there's plenty more where this came from.)
  534.  
  535.       The news file is a text file of information about Murray. Bug fixes
  536.       or new release information, or news about me and my future wife and
  537.       things like that. I will probably be the author, so expect this writing
  538.       style.
  539.       I'll also be listing addresses of other Murray Servers here.
  540.  
  541.       Selecting this option will send the request to have the most current
  542.       news file loaded into your quote box.
  543.  
  544. XII.  Get tips file from the Murray server. (Read the written gospel of other
  545.       Murray users.)
  546.       Exactly the same as the news file, except for the purpose of the
  547.       content. The tips file is more for user input than my babblings.
  548.       You can contribute to this file with the Send a comment option
  549.       (described above).
  550.  
  551. XIII. Right Click. (Q.E.D.)
  552.       Ever since a whole bunch of people asked for right button functionality
  553.       in the New York Telescheduler II, I've been going right click happy.
  554.       So, you can right click in two places so far. The quote window, and
  555.       the 'send a comment to the server' edit window.
  556.       The quote window allows you to copy the current highlighted selection to
  557.       the clipboard or trigger a request for a new quote (as if the timer
  558.       had run out). The idea being, you want to save the quote in your
  559.       own personal jokes file but don't want to retype it.
  560.  
  561.       In the 'send a comment to the server' window you can cut copy and paste
  562.       text, so it's easier to manipulate the text you want to send.
  563.  
  564. XIV.  Timer held (I'm busy, leave me alone)
  565.       Murray does one thing at a time due to its one-threadedness design.
  566.       Whenever Murray is busy doing something, a little "*Timer Held*"
  567.       message will appear in the bottom right corner of the Murray window.
  568.       While this message is on, Murray won't do much except for what
  569.       it's doing until it's done. Even exit. No timer events will trigger
  570.       when this message is on (for example while on the config screen),
  571.       or when an event is currently being dealt with. Nor will any of
  572.       the other menu options.
  573.  
  574. ***** Miscellaneous.
  575.  
  576. XV.   UnInstallation. ("How to use the del command for dummies")
  577.       This section gained such popular favor in NYTS II, I decided to add
  578.       it here too.
  579.  
  580.       Murray itself is one EXE. It requires a CFG file, and downloads a
  581.       bunch more files from the internet. It, unlike most MS products,
  582.       contains itself to the one installation directory.
  583.       So. If you want to get rid of Murray, you first tell a friend to
  584.       download it, so it spreads to other people and the whole world can
  585.       be blessed with the magic of Murray and the happiness that it brings
  586.       to all.
  587.       Then you just delete all the files in the Murray directory, and
  588.       the directory itself. There. No more Murray.
  589.  
  590. XVI.  Legalooze. (This is where I tell you that Murray is my idea and my
  591.       program and no matter what, I thought of it and implemented it first.)
  592.  
  593.       This piece of art is not published under the GNU license because,
  594.       while I stand for what they're doing, I'm personally not too thrilled
  595.       with the way they do it. So let's call it Ford-ware or Stu-ware.
  596.       I have the source, you don't. You have the executable, and this DOC
  597.       file. It all comes in one nice neat zip, and it's simpler if you
  598.       distribute it that way. I wrote it. It's mine. Say what you want, but
  599.       the copyright belongs to the original creator, which is me: Stu Mark.
  600.  
  601.       Give it out freely, but give out the original zip.
  602.  
  603.       There is no warranty expressed or implied, and all that other shit.
  604.       You use it at your own risk, I make no claims about what it will and
  605.       won't do.
  606.       This software makes every intention of downloading data via the
  607.       internet (God's great god damn). If you worry about viruses, read on.
  608.  
  609.       Some people have suggested that I add screen savers to the list of
  610.       things Murray can distribute. But I'm not going to make a highway
  611.       that viruses can drive on. Murray delivers data. Text, WAVs, and BMP's.
  612.       that's it. You can't possibly get a virus from Murray unless the EXE
  613.       itself has a virus on it, and if it does, I didn't distribute it that
  614.       way, somebody else did it to you.
  615.  
  616. XVII. Slaughtercow. (I haven't proved to you yet that I need to get out more)
  617.  
  618.       I was young as a child. I remember listening to the radio and hearing
  619.       the meteorologist report that "there's a chance of darkness tonight."
  620.       I would sit at home reading my books dated 400 B.C. and wonder how.
  621.  
  622. XVIII.Future releases/bug fixes. (There are no bugs, only design flaws.)
  623.  
  624.       This is the version 1.20 release of the Murray Client for OS/2.
  625.       I am in the middle of a port to windows NT, and if it happens to
  626.       work on that 95 disaster area, so be it. Win98 will get pushed back
  627.       to windows 2000, mark my words. Mark my mark. Make a Dilly Pickle
  628.       Willy Chilly Fiddle in the Dark.
  629.  
  630.       As such there are bound to be problems. Mostly because I learned
  631.       everything I know about TCP/IP by guessing. (Better than the damn
  632.       cat or kindergarten.)
  633.       If you report a problem to me, I'll do my best to fix it as soon as
  634.       I can and release a fix, and give you credit for rubbing it in
  635.       my face. It's easier to talk the talk than to walk the walk.
  636.  
  637.       New with Version 1.20. I found the godsend of os/2 reference, and
  638.       here it is:
  639.       http://service.software.ibm.com/devcon/showcase/cat/catalog.htm
  640.       Along with tons of other great stuff that you can dl if you
  641.       register as a guest (for free) I found the os/2 tcpip programmers
  642.       reference. Now I can figure out all those little differences
  643.       between stock BSD sockets and the os/2 implementation. And as
  644.       a result, Murray 1.20 is a much more robustable program with
  645.       this release.
  646.  
  647.       8/25/97. Well, I got real inspired the other day, and ported what
  648.       I had of the 3.1 program to NT (I just really really hate 95) and
  649.       it went fairly well. Neither work yet, but they're getting there.
  650.       It was my renewed interest in the NT version that got to to change
  651.       things in the os/2 version which will eventually make it to the port.
  652.  
  653. XIX.  Known problems. ("It's not my fault, really.")
  654.  
  655.       I recently installed Warp 4.0 on one of my machines (not the one
  656.       the Murray server is running on). I have noticed a bunch of
  657.       things have been fixed, and a few that don't work.
  658.       Some of these may be problems with Warp 4 or it just might be my
  659.       installation.
  660.  
  661.       1) The desktop background only changes once. When you reboot, the
  662.          last downloaded image comes up, but it doesn't change on the
  663.          fly like it's supposed to. This works fine for me on all the
  664.          machines I tested except for my Warp 4 machine.
  665.          This has been fixed.
  666.       2) Same kind of thing. The pop up message box that says things like:
  667.          "Connecting to server" doesn't size correctly on my Warp 4 machine.
  668.          But works everywhere else.
  669.          As of version 1.20, I am now completely convinced that WinDrawText
  670.          is broken. I didn't change a thing, and the function hasn't changed
  671.          but every time I call it I get a "PMERR_ATOM_NOT_FOUND" error.
  672.          Fascinating, since you don't pass any atoms to WinDrawText. So
  673.          I gave up on it, and use GpiQueryCharPos. Does the same thing,
  674.          except that it works, so now the box sizes correctly.
  675.       3) If Murray makes a successful connection to the server and then you
  676.          lose your internet connection, it will seem to hang (it just takes
  677.          a really long time to time out). Enter Fixpack 17 or Warp 4.
  678.          (Put this in your config sys: SET PM_ASYNC_FOCUS_CHANGE=ON 500)
  679.          This is a problem because I avoided using threads in Murray so that
  680.          it would be easier to port to windows (and because of my limited
  681.          amounts of documentation on TCP/IP). When you're planning on
  682.          porting you always write for the least common denominator which in
  683.          this and most cases, is windows.
  684.          As I learn more about TCP/IP I'll try and fix this.
  685.          V1.20 It's fixed. If it's taking too long, you can hit cancel.
  686.  
  687.       4) When entering the server address, you can enter a name or an IP
  688.          address. For some reason I can't explain sometimes the TCP32DLL
  689.          blows up when trying to resolve the name thus killing Murray.
  690.          You can try hostnames for the server entry, and if it doesn't work
  691.          use the IP address. The IP address for nyti.spaghetti.com is
  692.          199.224.7.119
  693.          This is a lie. Don't believe the man. Do the NSLOOKUP yourself
  694.          and see! The man is a fake. Be yourself, don't try to act fly,
  695.          cause if you do, I might pass you by. Whoops, sorry about that.
  696.          Ahhh, a little rap never hurt anybody. A lot of rap made 2pac, 1pac.
  697.  
  698.          If you want to attach to another Murray server (not that I know of
  699.          any, and you want to get it's IP address do a whois or nslookup
  700.          on the name and you'll get the IP address.
  701.          Again, when I learn what I'm doing wrong, I'll fix it.
  702.          It's been fixed. Both the ip address and the name work.
  703.       5) Running multiple copies of Murray. Probably wont work. I'll leave
  704.          this one as an exercise for the reader.
  705.  
  706. XX.   Update history.
  707.  
  708.       2/4/97   Murray Server Version 1.00
  709.                Murray Client for OS/2 Version 1.00
  710.                Unlike Microsoft, my version numbers mean something.
  711.                This will not be the case in the windows version.
  712.  
  713.       2/21/97  Some problems have cropped up and I haven't gotten to
  714.                releasing this yet. I got hold of the winsock API which
  715.                I'm planning to port Murray to, and I found that I guessed
  716.                wrong about how it worked, and limiting Murray to use one
  717.                thread was a mistake. So I added threads to the OS/2 version
  718.                so it shouldn't hang the machine at any point, while it's
  719.                connecting or receiving. Also rigged it so you can quit
  720.                Murray at any time. I always hated those programs that
  721.                didn't quit when you asked them to, like MS VB.
  722.                Here's another one: I was working in powerbuilder 4. The
  723.                second worst development environment I've ever seen. I'm in
  724.                the middle of debugging, and I find my problem, and go to exit
  725.                the debugger, and it says "Terinating the debugger while
  726.                stopped may violate PoweBuilder integrity." This translates
  727.                to: We hired a bunch of ex-MS employees who never learned how
  728.                to write good programs, and never planned for the program
  729.                to be ended. So we're pretty sure it's not going to work,
  730.                but try it anyway.
  731.                Also, it turns out that you can run multiple copies of Murray
  732.                as long as you do it from two different directories, I.E.
  733.                two config files. Can't imagine why you'd want to do it, but
  734.                it works.
  735.  
  736.       4/7/97   Version 1.01
  737.                Added error message to explain why Murray doesn't appear to
  738.                be doing anything when you think it should be.
  739.                I started seeing this on the first day and realized it's more
  740.                a failing of the documentation than a bug. So I added an
  741.                error message to make it more obvious what to do, but the idea
  742.                is that, if you're on the configure screen and hit 'trigger'
  743.                and there are no categories selected in the right side box,
  744.                nothing's going to happen. This is okay if it's tripped by the
  745.                timer because selecting nothing is how you turn the option off,
  746.                but when you hit 'trigger' and nothing happens, I can see
  747.                where it looks broken. Next time I'll have OTHER people beta
  748.                test. heh heh.
  749.  
  750.                When you read tips or news, the cursor is moved to the top of
  751.                the editbox. Not a big deal, but I noticed it and it bothered
  752.                me.
  753.  
  754.                Thanks to Anders Green for helping me out with a few things.
  755.                He assured me that the Warp 4 background problem was in fact
  756.                a problem and not a fluke of my install. After a month of
  757.                trying to figure it out, just the other day I was dead tired
  758.                from lack of sleep and a full day of hikking and rock
  759.                climbing, I got home, and *dink*, a little light went on.
  760.                So I did a bit of fiddling and sure enough, simple problem
  761.                with Warp 4 backgrounds. If you want the dirt, here it is:
  762.                Murray downloads a random picture to the file "backgrou.bmp"
  763.                Then it tells the desktop to make that the new background
  764.                picture. Well, apparently in Warp 4, either because of a
  765.                sharing problem or because it sees I'm using the same filename,
  766.                it doesn't update the screen. So I flip between 2 different
  767.                filenames, and voila.
  768.  
  769.                Mr. Green also helped assure me that I wasn't doing anything
  770.                wrong with the TCP/IP name resolution call, so I looked to
  771.                other things. I think I've got it fixed. Had to do with
  772.                structure packing. As if PC's aren't complicated enough, let
  773.                us all buy chips from a manufacturer that after 17 years still
  774.                can't make a chip that reads odd boundary bytes quickly.
  775.                Fuck em.
  776.                Well, I make it a habit of structure packing everything to
  777.                1 byte to avoid compatibility problems between versions of
  778.                software (The windows and os/2 versions for example) and
  779.                didn't realize I was packing the TCP/IP headers as well.
  780.                I'm amazed Murray works as well as it does considering.
  781.                This seems to have cleared the name resolution problem up.
  782.                Still the ip address will go faster because there's no
  783.                name lookup, but you should be able to use
  784.                'nyti.spaghetti.com' instead of 199.224.7.119 if you like.
  785.  
  786.                I think that's all I did so far. Ahh yes. I made a neat
  787.                change to the server. I almost forgot. It's in the news file.
  788.                I rigged it so that when you get a category list, it also
  789.                puts a number in parenthesis next to the name. This is
  790.                the number of items available in this category. So if it
  791.                seems like you're getting a lot of repeats from a category,
  792.                it means: A) There might not be very many items in the
  793.                category, and now you can tell for yourself, and B) You can
  794.                make an effort to rectify the problem. :)
  795.  
  796.                Thanks to those who have donated sounds and pictures to the
  797.                Murray server. Your help is greatly appreciated.
  798.  
  799.                I have found (from this end, testing and some user reports)
  800.                that they are getting 'TCP/IP error during block read.'
  801.                This is a timing problem with Murray. If I knew exactly what,
  802.                I'd fix it now. I'm still looking into it though. What kills
  803.                me, is that I had this working perfectly when I was testing
  804.                Murray, and then just before I released it, I set it to
  805.                dynamically bind the tcpip stack instead of link it staticly.
  806.                This way instead of the program just not running with a
  807.                "Can't find tcpip32dll" error or something like that, I could
  808.                give a useful error message. Unfortunately, this is when the
  809.                timing errors started. I'll let you know when I get it fixed.
  810.  
  811.       5/11/97  Version 1.02
  812.                Things are going horribly wrong. I'm spending what little time
  813.                I have to try and fix it. Everybody's getting exceptions
  814.                but me. I'm trying to figure out what's causing them.
  815.  
  816.                In this version, I took out some of the attempts to make
  817.                Murray share time with PM. It works for me, but other people
  818.                have been saying it causes problems. So if it doesn't work
  819.                anyway, might as well get rid of it. It might be causing the
  820.                timing programs that make donations fail. Oh yeah, I've been
  821.                reading my Stevens book and think I might have fixed something
  822.                that makes the donations not work right.
  823.  
  824.                I appreciate all the attempts at donating files, but I've
  825.                gotten very few that worked, so if you never see them pop
  826.                up, that's why. I apologise for this, I will fix this though.
  827.                I'm hoping 2 big changes I made in this version will solve
  828.                that problem, but you guys can test better than I can, because
  829.                I can only test on my lan, and don't have an outside connetion
  830.                to try this stuff on. That's why I never knew there was a
  831.                problem.
  832.  
  833.                Version 1.02 attempts to fix things and clean up source
  834.                internally, it's not meant as a signifigant upgrade and
  835.                there are no new features.
  836.                I take that back. I just found and fixed the name resoloution
  837.                bug. Yahoo. This one's been killing me for months, so let me
  838.                share with the crowd. To keep from tying up PM while getting
  839.                the category list, the whole lookup is done as a separate
  840.                thread. I allocated 8K for the stack for that thread, because
  841.                OS/2 has this nice guard page that will increase the stack
  842.                if it gets a hit, but apparently there's a function or two in
  843.                the TCPIP stack that sucks up more than the 4K guard page
  844.                and blows away Murray because the stack is too small. I made
  845.                the stack bigger, and voila! Name resolution works.
  846. ***            So: very important note: The Murray server is at
  847.                nyti.spaghetti.com Use this as the server name because my IP
  848.                address will probably be changing soon, and there's no way
  849.                to know what it will be, but I will be keeping the name
  850.                "nyti.spaghetti.com" current, so when Murray goes to look
  851.                that up, it will always get to the right server machine.
  852.  
  853.                I am extremely happy about this particular fix. Wow. What
  854.                a day. I'm going to go outside and enjoy the weather now.
  855.  
  856.                I think I did a few other little things, but I'm not exactly
  857.                sure what. They weren't too important. I think I got rid of
  858.                some of the sleeping that may have made Murray time out.
  859.                Play around, see if the things that made 1.00 or 1.01 blow
  860.                up still do.
  861.  
  862.        6/8/97  Version 1.10
  863.                Well, I got my new job, and now I have to work real hours
  864.                and have very little time for fixing and testing, but a few
  865.                cool things happened.
  866.                I swapped motherboards that the Murray server runs on and
  867.                was able to finally install warp 4. This means that email
  868.                will work for my BBS. Big whoop. It's a slightly faster
  869.                motherboard and it's intel, not cyrix, so that can't hurt.
  870.  
  871.                As I said, I have very little time, and even less to work on
  872.                Murray, but I got a neat bit of mail from one Rene Kint.
  873.                He asked for a very useful feature, and I felt it important
  874.                enough to stop everything else and work on it. So I pounded
  875.                it out last night at about 5am and it seems to work. It has
  876.                to do with time of day.
  877.  
  878.                It seems Rene has a dial on demand setup on his pc, (this
  879.                thought never occured to me, in the origional design of
  880.                Murray) so everytime Murray goes to do something, he makes
  881.                a phone call. Not cool. So, I added a 'start time' feature to
  882.                the config screen to limit the times of the day Murray
  883.                will try and do things.
  884.                Look in section VII for a description of how it works.
  885.  
  886.                In addition, I changed the internal packet size that Murray
  887.                uses to send blocks of information to the server when
  888.                donating. I don't know if this will help any, but it's worth
  889.                a shot while I'm sending out a release anyway.
  890.  
  891.                I've got plans for version 1.2 having to do with rewriting
  892.                my tcpip interface layer which will either fix everything
  893.                or completely break it, so hang on to this version.
  894.  
  895.                I think those are all the changes I made.
  896.  
  897.       8/25/97  Version 1.11
  898.                Long ago, I realized that problems are what you make of them.
  899.                Actually this applies to many parts of life, as I will
  900.                explain.
  901.                Everybody has a certain capacity to worry about shit. Some
  902.                people have a lot, some people have a little, some are
  903.                so stoned out of their mind they aren't quite sure they can
  904.                grasp the concept of reality long enough to notice that it
  905.                contains thing that could be worried about.
  906.                So as it goes, if you have a large capacity to worry, but
  907.                don't have many problems in your life, you will magnify your
  908.                insignifigant problems to fill the gaping hole in
  909.                your personality (in much the same way Microsoft Word will
  910.                allocate all available resources by swapping everything else
  911.                out to disk).
  912.                As an aside. Somebody figured out that Microsoft Word actually
  913.                takes up 8 times more memory than all of the programs on the
  914.                computers on the Space Shuttle. Think about it. Considering
  915.                when the machine was built, it's quite easy to imagine.
  916.                Look at the last few things that you've worried about today
  917.                and see if they'd stand a chance against any email going to
  918.                starving@ethiopia.com or help@911.com. Now get a grip of
  919.                yourself.
  920.  
  921.                What I'm getting at is that I like Murray up to the level that
  922.                I think it's a neat idea and everybody would want to use it
  923.                like I do. This is not the case. I'm a dreamer.
  924.                OR!
  925.                Or not enough people know about it! So go out there, you
  926.                brave os/2ers and tell the world about Murray. Or tell me
  927.                where I can go to tell the world about Murray. Nobody seems
  928.                to be willing to give a away a free plug. Go figure.
  929.  
  930.                As for what I changed...
  931.                Like I said above somewhere, I got inspired to work on the
  932.                NT version, so I sat down and added some crap to this one.
  933.                Nothing big:
  934.                1) When you click on the enable start time button, it greys
  935.                   out the Start/End time buttons. I always found the spelling
  936.                   of the word 'grey' fascinating because nobody seems to know
  937.                   or agree on what the correct spelling is.
  938.                2) This has been annoying the piss out of me since I first
  939.                   wrote this. When you change anything on the configure
  940.                   dialog, the cfg gets updated immediately. This, however
  941.                   rare it happens when the average user isn't testing it
  942.                   like I am, is annoying. Really annoying. So I fixed it.
  943.                   All changes are now saved on the loss of focus to the
  944.                   field you changed. Less disk whirring.
  945.                3) I plan to be a millionaire.
  946.                4) I'm going to write a book like this.
  947.  
  948.                Items 3 and 4 required no programming changes to Murray.
  949.                Not even spritually.
  950.  
  951.       9/25/97  Version 1.20
  952.                This is an understatement. I did a lot of work to this version.
  953.                Here's the short and skinny:
  954.                1) Learned how to make a non-blocking socket thanks to the
  955.                   developer's connection. Found the tcpip reference.
  956.                   I rewrote the whole tcpip interface layer to Murray. No
  957.                   more threads, so nothing should ever hang any more. No
  958.                   random fits of freezing, and less connections problems.
  959.                   The problem with threads is that os/2 doesn't know what's
  960.                   going on and gives a lot of time to the wrong thing. The
  961.                   way it's written now Murray controls the free time, not
  962.                   OS/2. This is a good thing, trust me.
  963.                2) I thought I had done this before, but maybe I missed it.
  964.                   I dialled up like a good little user and tested Murray
  965.                   over the internet with a real 28.8 modem. And you know what?
  966.                   It was annoying as hell to use. Why doesn't anybody tell
  967.                   me these things. I had no idea. I'm a programmer, and I
  968.                   have this big deficiency with user interfaces and user
  969.                   needs. Did anybody notice the complete lack of a CANCEL
  970.                   button? Don't know why it took so long for me to notice.
  971.                   Mostly, I guess becauser on my lan, a 2 meg file transfers
  972.                   in about 10 seconds. I never noticed it would be a problem.
  973.                   So. In every case where Murray hangs out talking through
  974.                   (MY BRAND NEW) tcpip layer, it give you a cancel button.
  975.                   You can click this to stop the current action. This button
  976.                   is only available when an action you triggered is running.
  977.                   You started it, you should be able to stop it. It's a little
  978.                   rough around the edges I think. In some cases it will say
  979.                   "Transfer cancelled", but in some cases, I think it will
  980.                   just give an error 6. Don't worry about it. It's working
  981.                   correctly, it just doesn't trap all the messages correctly
  982.                   yet. Gives me something to do for 1.21. This cancel button
  983.                   is now part of a window that you can move and accidently
  984.                   shove in the background, but it shows up in the task list
  985.                   so you can get it back. If you close this window from the
  986.                   task list, it's like clicking the cancel button.
  987.                3) Another really cool thing. So there I was testing Murray.
  988.                   I donated a file to the server, and saw the message:
  989.                   "Sending file to server." And there it was. Hanging. Or
  990.                   so I thought. I never realized that you have no indication
  991.                   of what's going on. And there was no way to stop it.
  992.                   I applaud those that donated those 1 meg files and patiently
  993.                   waited for it to finish. So I added a status line.
  994.                   On the main windows, between the *Timer held* and the
  995.                   Murray version messages, there's a status for the transfer.
  996.                   This comes up for any Murray transfer. Be it files comeing
  997.                   to you, or sent from you. The format of the display is
  998.                   How much sent so far / Total bytes to send (percentage done).
  999.                   You'll notice that a Murray packet is 1000 bytes. Keeps
  1000.                   it under the 1500 common MTU.
  1001.                4) What else. Oh. I know. Run Murray, and take a listen. Neat
  1002.                   eh? I thought this was the neatest thing since sliced bread,
  1003.                   and I can see where it would get annoying, but again my
  1004.                   view is skewed. I have 4 machines and they're on all the
  1005.                   time doing all sorts of things. I rarely ever reboot my
  1006.                   machines, but my dad (remember my dad? The one who said
  1007.                   "Dynamic is good.") pointed out to me that most people turn
  1008.                   off their machines and reboot them all the time. And some
  1009.                   people have their machines in their bedroom where their
  1010.                   wife is sleeping, and they want it to make as little noise
  1011.                   as possible. You can pass Murray a /Q to keep it from doing
  1012.                   this. But it's so cuuuuuuuuuuuuuuute.
  1013.                5) I did a bunch of little things, like always, to tidy it
  1014.                   up here and there, but that's the bulk of it. Certainly
  1015.                   a much more robust program now. Enjoy and donate!
  1016.                   (files or money :)
  1017.  
  1018.       10/2/97  Version 1.21
  1019.                I finally found a good use for the hundreds place in the
  1020.                decimal part of the version number.
  1021.                Have to admit, this was a pretty stupid bug. So I'm sitting
  1022.                there, pounding all of the 1.20 changes into the NT version
  1023.                and I test it, and it hangs. So I click cancel, and nothing
  1024.                happens. Hmmm. All that effort on a stupid cancel button
  1025.                and it doesn't even work all of the time. Blah.
  1026.                Hunting around, I found the one case I missed. If your
  1027.                machine takes forever to resolve the name nyti.spaghetti.com
  1028.                you can hit cancel, but if it get the ip address and takes
  1029.                forever to connect to it, cancel don't do squat.
  1030.                Oops.
  1031.                All fixed.
  1032.  
  1033. XXI.  My life saga. (People who like to read about my personal life.)
  1034.  
  1035.       If you're a NYTS II documentation follower...
  1036.       When we last left our hero he was spending way too much money on
  1037.       his international phone bill. It's gotten better.
  1038.       How much do you think I have to spend to get a letter from AT&T that
  1039.       says "You've saved over $1000.00 in long distance charges in the
  1040.       past two months."
  1041.       For those of you new to my rather bizarre and off topic documentation
  1042.       style here's the story.
  1043.       My fiancee went to Israel to go to school at Bar Ilan University.
  1044.       I live in New York in the United States. I spend quite a bit of money
  1045.       calling her, writing letters, and sending flowers and such things.
  1046.       But thanks to the mighty internet, I'm going to help AT&T shoot
  1047.       themselves in the foot (aiming gun at foot in mouth) by installing
  1048.       iphone or some such similar product, thereby getting lousy voice
  1049.       quality sound at somebody elses expense (using their own cable network
  1050.       against them). This is only temporary until we get back together. I've 
  1051.       paid my dues (thousands in phone bills). Am I bitter?
  1052.  
  1053.       4/7/97 Well, did I tell you? My future fiancee/wife made a surprise
  1054.       visit to come see me from Israel. Ain't she sweet? So I pretty much
  1055.       put everything off for the two weeks she was here.
  1056.       Then there was that noreaster. My apartment complex got nailed with
  1057.       every tree down you could find. No power for 3 days (no heat either,
  1058.       ever try and sleep in 40 degrees (farhenheit)?). No power, no Murray
  1059.       server. Only so much complaining to the power company I can do. Sorry
  1060.       for the loss of service.
  1061.       The windows version is about 80% done, but I'm currently looking for
  1062.       new employment and this is taking up some of my nonexistant free time.
  1063.       I will finish it. Oh yes, it will be done.
  1064.  
  1065.       For all you os/2 fans out there (like me), I installed Win NT on my
  1066.       DX4/100 with 64 megs of memory. And it's still a dog. Os/2 is happy
  1067.       as shit with all the memory, I don't have a swap file. It's neat. If
  1068.       you can afford it, I recommend it. Just say No to NT.
  1069.  
  1070.       5/11/97 My girlfriend said she's coming back in August. This will
  1071.       be the shit. Hopefully I'll have all the big problems squared away
  1072.       by then because I don't know how much time I'm going to have after
  1073.       she get's back here. We have a lot of catching up to do.
  1074.       Murray for windows has been put on hold for a bit, until I can get
  1075.       the OS/2 version working the way I want. I'm having a few problems
  1076.       with the machine that the Murray server is running on, doesn't effect
  1077.       Murray, just my BBS. Oh yeah, I won't go into details, but you might
  1078.       have noticed that you can't telnet to nyti.spaghetti.com anymore.
  1079.       This makes me very angry. Until I can resolve this problem, you can
  1080.       telnet to nyti.spaghetti.com on port 1111. This will work. I also lost
  1081.       my http port and my ftp port for a similar reason. I will be fixing
  1082.       this.
  1083.       And lastly. I got a new job. It's farther away from my apartment, and
  1084.       if you take into account the extra commute, I'm not really making
  1085.       any more money, but there's no dress code (jeans and sneakers are
  1086.       allowed, YAY!) and it's near most of my friends, and I'll get to
  1087.       actually do work, as opposed to being on the phone all the time.
  1088.       My part timer that I'm in charge of told me that the phone would have
  1089.       to be surgically removed from my ear soon. At that point I knew it was
  1090.       time to get out, if she noticed it.
  1091.       That's all for now. Got to go distribute.
  1092.  
  1093.       6/8/97
  1094.       Well, here's some gossip you can sink your teeth into.
  1095.       My girlfriend/fiancee-to-be that I've been talking about? Well, we
  1096.       broke up. Sorta. She's coming back from Israel to hang out and we
  1097.       can discuss what we're going to do with ourselves or without ourselves,
  1098.       but it was a mutual thing, not unhappy. But we realized that some
  1099.       of the things we really hold near and dear to us are far enough
  1100.       different to make marriage difficult. But we'll be spending the summer
  1101.       together, so don't expect to catch me around here much :)
  1102.       I'll keep you posted as to when we make up and get back together.
  1103.  
  1104.       9/24/97
  1105.       Oh well. It's over. My ex-girlfriend moved out the other day. She's
  1106.       leaving this coming sunday. And now I'm lonely. Waaaaaa.
  1107.       It tell ya, computers whirring all the time make for a really empty
  1108.       and cold sounding apartment.
  1109.       Experience. That's what it's all about.
  1110.       Anybody wanna start a rock/metal/ex-grunge band?
  1111.  
  1112. XXII. Are you paying attention? (Have you finished your shit yet?
  1113.       You can use the end of the last page for toilet paper if need be.)
  1114.       If you've been reading religiously, you'll remember the names
  1115.       of the people who were getting married at the time I had the idea
  1116.       for Murray.
  1117.       If you don't, you won't.
  1118.  
  1119. XXIII.I still haven't figured out a good word or phrase to describe how
  1120.       I feel about win95. We'll also leave this as an exercise for the
  1121.       reader.
  1122.  
  1123.       People tell me "I'd've" isn't a valid contraction. Damn efficient
  1124.       though.
  1125.  
  1126.       Remember the first time you saw Star Wars (you did see it didn't you?)
  1127.       and they're in the garbage bin and there's that thing slithering under
  1128.       the muck? Well, I was 7 when I first saw Star Wars in the theater
  1129.       and that left a scary sorta worried feeling in me. That's the closest
  1130.       thing I think of to describe how I feel about win95.
  1131.  
  1132. XXIV. Running a Mighty Murray Server. (Consider the fact the 99% of the time,
  1133.       your Mighty P200 is spinning it's wheels at 200Mhz waiting for the
  1134.       mouse to move and blinking a cursor. Now there's a good use of
  1135.       technology. Why not run a Murray Server?)
  1136.  
  1137.       If you're interested in running a Murray server. Contact me. I'd
  1138.       be very glad to help you set it up. There's only one version of the
  1139.       Murray Server and I don't plan on porting it to any other OS, so if
  1140.       you don't run OS/2 and you don't plan on writing your own server,
  1141.       this is probably not a viable option for you.
  1142.       It's really a good idea to have a 24/7 connection to the internet
  1143.       otherwise nobodies going to attach to your server. Remeber those
  1144.       BBSes that we up between 10pm and 6am. Yeah, that worked well.
  1145.  
  1146. XXV.  Not There.
  1147.       I just had this silly idea. Actually, I had it a long time ago, and
  1148.       just remembered it now. Free thank you card to the first person who
  1149.       can answer me this question: (The answer "Because everybody does
  1150.       what microsoft says." is not valid.)
  1151.  
  1152.       Win 3.1 is a solid program. NT is a solid program. 95 is not a solid
  1153.       program. These are all well known documented facts.
  1154.       NT can run 3.1 program. 95 can run 3.1 programs. Don't need 3.1.
  1155.       NT can run NT programs, and NT can run 32-bit native 95 program.
  1156.       (If you've ever seen the requirements for getting a "designed for
  1157.       windows 95" sticker on your box you'll see that it says it's got
  1158.       to run under NT.)
  1159.       Why do we need 95? or 97 or whatever it's going to be called when
  1160.       it finally comes out. The hardware requirements for 95 are just as
  1161.       bad as the requirements for NT, so what's the point?
  1162.       Everybody knows that they're going to dump 95 anyway soon enough,
  1163.       microsoft said it themselves.
  1164.       So why is everybody running win95, a shittier less stable dos hack
  1165.       than a 32 bit stable OS?
  1166.  
  1167.       Coalition to get everybody to drop 95 and start using OS/2, Linux
  1168.       or NT.
  1169.  
  1170. XXVI. Movie Reviews (The visual arts are for the eyes)
  1171.  
  1172.          COMING SUMMER 98, THE GREATEST BLOCKBUSTER SMASH OF ALL TIME!
  1173.          THE NEW ACTION THRILLER FROM MOUNTAPARROT PICTURES....
  1174.  
  1175.             T   h   e       F   e   r   t   i   l   i   z   e   r   .   .   .
  1176.  
  1177.          Jack Graves is a renegade cop, who doesn't believe any crime should
  1178.       go unpunished. He sees that the Police have their hands tied, and he
  1179.       wants to do something about it. Brandished with the most unique weapon
  1180.       known to police enforcement, Jack Graves is going to make a difference.
  1181.  
  1182.         (a scene from the movie...)
  1183.  
  1184.          "Hey Jack, what's the noise."
  1185.          (rustle rustle)
  1186.          "Let's check it out."
  1187.         ...
  1188.          *SMASH*  *ALARMS*
  1189.  
  1190.          "GO GET HIM JACK, HE'S RUNNING DOWN THE ALLEY!"
  1191.  
  1192.          "I can get him from here."
  1193.          And with a swift motion spins around, turning his back to the thief,
  1194.       bends over, pulls the ripcord exposing his mighty ass to the world...
  1195.  
  1196.           PFfffffffphhphpphphhhhhhhhhhhhhhhhhtttttt.
  1197.           pft.
  1198.  
  1199.           Pphhhhhhhhhhlllllllllooooooommmmmmmmpppppphphhhhhh.
  1200.  
  1201.           "SHIT!!!!"
  1202.           "GET THIS SHIT OFF ME!!!!"
  1203.  
  1204.           "Good job Jack."
  1205.  
  1206.           "Yeah, he should be happy I didn't fertilize him with the strong
  1207.       stuff."
  1208.  
  1209.            T   h   e       F   e   r   t   i   l   i   z   e   r  .   .   .
  1210.  
  1211.            Coming Summer 1998 to a theater near you.
  1212. *****************************************************************************
  1213.  
  1214. Feel free to get in touch with me. I'm human, just like most of you. And I
  1215. like to know the world needs me :)
  1216.  
  1217. -----------------------------=====================--------------------------
  1218. Murray Client for OS/2 V1.21 10/2/97 Copyright Stu Mark.
  1219. email: fordii@j51.com
  1220. or call my BBS: 914-267-0504
  1221. or telnet nyti.spaghetti.com on port 1111 (24 hours a day)
  1222.  
  1223. Check out my web site, it has a cool background.
  1224. http://nyti.spaghetti.com
  1225.  
  1226. Monetary donations (see section IV) can be made payable to:
  1227.  
  1228. Stu Mark    Attn: Murray
  1229. P.O. Box 77
  1230. Valley Cottage, NY 10989
  1231. U.S.A.
  1232.  
  1233.  
  1234. Latest and greatest versions of all my software are available via ftp
  1235. at nyti.spaghetti.com
  1236. I have some utilities that I wrote a long time ago that I'll be putting
  1237. up sometime.
  1238.  
  1239. Come visit my web page (it's rather sparse right now, all my free time goes
  1240. to working on Murray and I don't have any time to make a nice page) at
  1241. (guess where...)  http://nyti.spaghetti.com
  1242.  
  1243. -----------------------------=====================--------------------------
  1244.  
  1245. As you can tell, I enjoy bashing MS and would do it more, but this file is
  1246. long enough as it is. This is an OS/2 program. Why ruin it by
  1247. mentioning MS too much. However, I always put in the following disclaimer:
  1248.  
  1249. (any nasty remarks sent in the general direction of window's capacity to
  1250.  function, [are fully intentional,] are not opinion, but state of fact. So
  1251.  don't try to slam me with some bullshit libel suit.)
  1252.  
  1253. I've also decided to start a campaign to make it a really loud notion to
  1254. compare The Microsoft marketing department to the Marketing department at
  1255. Sirius Cybernetics Corp. Anybody with me on this? If so, mail a message to
  1256. my BBS at doom@nyti.spaghetti.com
  1257.