home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / murry130.zip / MURRAY.DOC < prev    next >
Text File  |  1998-03-01  |  76KB  |  1,372 lines

  1.                                     Murray.
  2.                      (sounds innocent enough, doesn't it?)
  3.  
  4. Murray Client for OS/2 Version 1.30  2/23/97 2/28/98
  5. Concept and implementation by Stu Mark.
  6. Copyright 1997-1998.
  7. (yea, the same guy who wrote NYTS II)
  8.  
  9. Version 1.30: Jpeg support.
  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. XXVII.JPEG. (Joshua Phillip Elyssa Gary)
  591.       Here's a good example of my lack of organization. Rather than
  592.       renumber the whole document, I've decided to put the section in the
  593.       appropriate place and number it the next number, despite it being
  594.       out of order. You're human, you can adapt easier than I can fix it.
  595.  
  596.       Joshua Phillip is the first and middle name of my sister's kid.
  597.       My sister is named Elyssa (pronounced E-lee-sah) and my Sister's
  598.       husband's name is Gary.
  599.       Josh is 50 some odd days old today. He was born on 1/15/98. He's so cute.
  600.       He's the first kid in my family younger than me. He's got cute little
  601.       fingers, and cutie little toes. And a cute little nose. And he
  602.       gets the hiccups a lot. And he's got black hair. He looks like me
  603.       when I was one day old (I have pictures) But then, probably all babies
  604.       do.
  605.  
  606.       New with version 1.30 of Murray For OS/2. JPEG support. Okay, here's
  607.       the skinny. BMP's take up a lot of space on my hard drive. BMP's take
  608.       a long time to transfer over my slow internet link. So, the solution?
  609.       JPEG.
  610.       I swiped this library off the internet somewhere that does JPEG
  611.       compression/decompression. I stuffed this in Murray so that the
  612.       server can dish out jpeg's which will be smaller, and thus transfer
  613.       much quicker.
  614.       In addition, it solves the incompatibility problems between OS/2 bitmaps
  615.       and windows bitmaps. The conversion from jpeg to BMP (which is required
  616.       by both windows and os/2 to set a background) is done on your machine
  617.       so that it will get converted to the correct format, and you shouldn't
  618.       get any blank backgrounds.
  619.  
  620.       The only down side is that it takes a few seconds to do the conversion
  621.       and during those few seconds, you may find you machine grinding to
  622.       a halt (usually only a second or two) while it does this. Don't worry
  623.       it's normal. And it'll only be noticeable on the full screen sized
  624.       pictures. Now that I've got the room for them this will probably be
  625.       more likely an occurance, but not a big tradeoff in the long run.
  626.  
  627.       The transition period. One of the things I did not build into murray
  628.       is an auto-update feature. There's no way to inform a client that a
  629.       new version is available unless the user goes to read the news file
  630.       or reads the documentation. (Are you reading this?)
  631.       So I'm not going to switch everything over to jpeg right away,
  632.       I'm going to let people download the new version of Murray for a while
  633.       and when from what I can see most people have it, I'll convert all
  634.       of my BMP's to jpegs on the server. At that point, if you don't
  635.       have Version 1.30 or later of Murray you won't get any more backgrounds.
  636.  
  637.       By rights, and I'm all for this, the jpeg library documentation states
  638.       that credit should be given where credit is due. I concur.
  639.       I did not write the jpeg library. Not my gig. Although I must say it
  640.       took quite a bit of fucking-with to get it to work. They did all the
  641.       hard stuff right, but maybe libraries shouldn't be doing exit()'s.
  642.  
  643.       Which brings up another point. If Murray randomly disspears from your
  644.       desktop just after downloading a new background, let me know. Send
  645.       a comment, so I can see which jpeg you downloaded that killed the
  646.       library.
  647.       I didn't write it so I can't say if it's bug free or not. I'm not
  648.       crazy about the idea of possibly lowering the performance standards
  649.       of Murray, but I figure this feature is worthwhile, and I'll fix things
  650.       as I find out about them.
  651.  
  652.       So here it is: I stole this out of their README file...
  653.  
  654.       (1) If any part of the source code for this software is distributed,
  655.           then this README file must be included, with this copyright and
  656.           no-warranty notice unaltered; and any additions, deletions, or
  657.           changes to the original files must be clearly indicated in
  658.           accompanying documentation.
  659.       I'm not including their source, so this doesn't apply. I include it
  660.       here because text zips real well.
  661.  
  662.       (2) If only executable code is distributed, then the accompanying
  663.           documentation must state that "this software is based in part
  664.           on the work of the Independent JPEG Group".
  665.       So there.
  666.  
  667.       (3) Permission for use of this software is granted only if the
  668.           user accepts full responsibility for any undesirable
  669.           consequences; the authors accept NO LIABILITY for damages
  670.           of any kind.
  671.       Now that's an interesting one. They're pushing the liability off on
  672.       me, so I'm going to push the liability off on you, see the Legalooze
  673.       section below.
  674.       I did not look through their entire library, there's a small unlikely
  675.       chance that there's a "remove ("c:\\*.*");" in there somewhere.
  676.       I'm not slandering or anything, I'm just making everybody aware of
  677.       the perils of using somebody else's software.
  678.  
  679.           These conditions apply to any software derived from or based
  680.           on the IJG code, not just to the unmodified library. If you
  681.           use our work, you ought to acknowledge us.
  682.  
  683.       There. Enough said.
  684.  
  685.  
  686. XVI.  Legalooze. (This is where I tell you that Murray is my idea and my
  687.       program and no matter what, I thought of it and implemented it first.)
  688.  
  689.       This piece of art is not published under the GNU license because,
  690.       while I stand for what they're doing, I'm personally not too thrilled
  691.       with the way they do it. So let's call it Ford-ware or Stu-ware.
  692.       I have the source, you don't. You have the executable, and this DOC
  693.       file. It all comes in one nice neat zip, and it's simpler if you
  694.       distribute it that way. I wrote it. It's mine. Say what you want, but
  695.       the copyright belongs to the original creator, which is me: Stu Mark.
  696.  
  697.       Give it out freely, but give out the original zip.
  698.  
  699.       There is no warranty expressed or implied, and all that other shit.
  700.       You use it at your own risk, I make no claims about what it will and
  701.       won't do.
  702.       This software makes every intention of downloading data via the
  703.       internet (God's great god damn). If you worry about viruses, read on.
  704.  
  705.       Some people have suggested that I add screen savers to the list of
  706.       things Murray can distribute. But I'm not going to make a highway
  707.       that viruses can drive on. Murray delivers data. Text, WAVs, and BMP's.
  708.       that's it. You can't possibly get a virus from Murray unless the EXE
  709.       itself has a virus on it, and if it does, I didn't distribute it that
  710.       way, somebody else did it to you.
  711.  
  712. XVII. Slaughtercow. (I haven't proved to you yet that I need to get out more)
  713.  
  714.       I was young as a child. I remember listening to the radio and hearing
  715.       the meteorologist report that "there's a chance of darkness tonight."
  716.       I would sit at home reading my books dated 400 B.C. and wonder if
  717.       I'd ever be old enough to be 18.
  718.       And please, if you didn't read this, let me know.
  719.  
  720. XVIII.Future releases/bug fixes. (There are no bugs, only design flaws.)
  721.  
  722.       This is the version 1.30 release of Murray for OS/2.
  723.       I am in the middle of a port to windows NT, and if it happens to
  724.       work on that 95 disaster area, so be it. Win98 will get pushed back
  725.       to windows 2000, mark my words. Mark my mark. Make a Dilly Pickle
  726.       Willy Chilly Fiddle in the Dark.
  727.  
  728.       As such there are bound to be problems. Mostly because I learned
  729.       everything I know about TCP/IP by guessing. (Better than the damn
  730.       cat or kindergarten.)
  731.       If you report a problem to me, I'll do my best to fix it as soon as
  732.       I can and release a fix, and give you credit for rubbing it in
  733.       my face. It's easier to talk the talk than to walk the walk.
  734.  
  735.       New with Version 1.20. I found the godsend of os/2 reference, and
  736.       here it is:
  737.       http://service.software.ibm.com/devcon/showcase/cat/catalog.htm
  738.       Along with tons of other great stuff that you can dl if you
  739.       register as a guest (for free) I found the os/2 tcpip programmers
  740.       reference. Now I can figure out all those little differences
  741.       between stock BSD sockets and the os/2 implementation. And as
  742.       a result, Murray 1.20 is a much more robustable program with
  743.       this release.
  744.  
  745.       8/25/97. Well, I got real inspired the other day, and ported what
  746.       I had of the 3.1 program to NT (I just really really hate 95) and
  747.       it went fairly well. Neither work yet, but they're getting there.
  748.       It was my renewed interest in the NT version that got to to change
  749.       things in the os/2 version which will eventually make it to the port.
  750.  
  751. XIX.  Known problems. ("It's not my fault, really.")
  752.  
  753.       I recently installed Warp 4.0 on one of my machines (not the one
  754.       the Murray server is running on). I have noticed a bunch of
  755.       things have been fixed, and a few that don't work.
  756.       Some of these may be problems with Warp 4 or it just might be my
  757.       installation.
  758.  
  759.       1) The desktop background only changes once. When you reboot, the
  760.          last downloaded image comes up, but it doesn't change on the
  761.          fly like it's supposed to. This works fine for me on all the
  762.          machines I tested except for my Warp 4 machine.
  763.          This has been fixed.
  764.       2) Same kind of thing. The pop up message box that says things like:
  765.          "Connecting to server" doesn't size correctly on my Warp 4 machine.
  766.          But works everywhere else.
  767.          As of version 1.20, I am now completely convinced that WinDrawText
  768.          is broken. I didn't change a thing, and the function hasn't changed
  769.          but every time I call it I get a "PMERR_ATOM_NOT_FOUND" error.
  770.          Fascinating, since you don't pass any atoms to WinDrawText. So
  771.          I gave up on it, and use GpiQueryCharPos. Does the same thing,
  772.          except that it works, so now the box sizes correctly.
  773.       3) If Murray makes a successful connection to the server and then you
  774.          lose your internet connection, it will seem to hang (it just takes
  775.          a really long time to time out). Enter Fixpack 17 or Warp 4.
  776.          (Put this in your config sys: SET PM_ASYNC_FOCUS_CHANGE=ON 500)
  777.          This is a problem because I avoided using threads in Murray so that
  778.          it would be easier to port to windows (and because of my limited
  779.          amounts of documentation on TCP/IP). When you're planning on
  780.          porting you always write for the least common denominator which in
  781.          this and most cases, is windows.
  782.          As I learn more about TCP/IP I'll try and fix this.
  783.          V1.20 It's fixed. If it's taking too long, you can hit cancel.
  784.  
  785.       4) When entering the server address, you can enter a name or an IP
  786.          address. For some reason I can't explain sometimes the TCP32DLL
  787.          blows up when trying to resolve the name thus killing Murray.
  788.          You can try hostnames for the server entry, and if it doesn't work
  789.          use the IP address. The IP address for nyti.spaghetti.com is
  790.          199.224.7.119
  791.          This is a lie. Don't believe the man. Do the NSLOOKUP yourself
  792.          and see! The man is a fake. Be yourself, don't try to act fly,
  793.          cause if you do, I might pass you by. Whoops, sorry about that.
  794.          Ahhh, a little rap never hurt anybody. A lot of rap made 2pac, 1pac.
  795.  
  796.          If you want to attach to another Murray server (not that I know of
  797.          any, and you want to get it's IP address do a whois or nslookup
  798.          on the name and you'll get the IP address.
  799.          Again, when I learn what I'm doing wrong, I'll fix it.
  800.          It's been fixed. Both the ip address and the name work.
  801.       5) Running multiple copies of Murray. Probably wont work. I'll leave
  802.          this one as an exercise for the reader.
  803.  
  804. XX.   Update history.
  805.  
  806.       2/4/97   Murray Server Version 1.00
  807.                Murray Client for OS/2 Version 1.00
  808.                Unlike Microsoft, my version numbers mean something.
  809.                This will not be the case in the windows version.
  810.  
  811.       2/21/97  Some problems have cropped up and I haven't gotten to
  812.                releasing this yet. I got hold of the winsock API which
  813.                I'm planning to port Murray to, and I found that I guessed
  814.                wrong about how it worked, and limiting Murray to use one
  815.                thread was a mistake. So I added threads to the OS/2 version
  816.                so it shouldn't hang the machine at any point, while it's
  817.                connecting or receiving. Also rigged it so you can quit
  818.                Murray at any time. I always hated those programs that
  819.                didn't quit when you asked them to, like MS VB.
  820.                Here's another one: I was working in powerbuilder 4. The
  821.                second worst development environment I've ever seen. I'm in
  822.                the middle of debugging, and I find my problem, and go to exit
  823.                the debugger, and it says "Terinating the debugger while
  824.                stopped may violate PoweBuilder integrity." This translates
  825.                to: We hired a bunch of ex-MS employees who never learned how
  826.                to write good programs, and never planned for the program
  827.                to be ended. So we're pretty sure it's not going to work,
  828.                but try it anyway.
  829.                Also, it turns out that you can run multiple copies of Murray
  830.                as long as you do it from two different directories, I.E.
  831.                two config files. Can't imagine why you'd want to do it, but
  832.                it works.
  833.  
  834.       4/7/97   Version 1.01
  835.                Added error message to explain why Murray doesn't appear to
  836.                be doing anything when you think it should be.
  837.                I started seeing this on the first day and realized it's more
  838.                a failing of the documentation than a bug. So I added an
  839.                error message to make it more obvious what to do, but the idea
  840.                is that, if you're on the configure screen and hit 'trigger'
  841.                and there are no categories selected in the right side box,
  842.                nothing's going to happen. This is okay if it's tripped by the
  843.                timer because selecting nothing is how you turn the option off,
  844.                but when you hit 'trigger' and nothing happens, I can see
  845.                where it looks broken. Next time I'll have OTHER people beta
  846.                test. heh heh.
  847.  
  848.                When you read tips or news, the cursor is moved to the top of
  849.                the editbox. Not a big deal, but I noticed it and it bothered
  850.                me.
  851.  
  852.                Thanks to Anders Green for helping me out with a few things.
  853.                He assured me that the Warp 4 background problem was in fact
  854.                a problem and not a fluke of my install. After a month of
  855.                trying to figure it out, just the other day I was dead tired
  856.                from lack of sleep and a full day of hikking and rock
  857.                climbing, I got home, and *dink*, a little light went on.
  858.                So I did a bit of fiddling and sure enough, simple problem
  859.                with Warp 4 backgrounds. If you want the dirt, here it is:
  860.                Murray downloads a random picture to the file "backgrou.bmp"
  861.                Then it tells the desktop to make that the new background
  862.                picture. Well, apparently in Warp 4, either because of a
  863.                sharing problem or because it sees I'm using the same filename,
  864.                it doesn't update the screen. So I flip between 2 different
  865.                filenames, and voila.
  866.  
  867.                Mr. Green also helped assure me that I wasn't doing anything
  868.                wrong with the TCP/IP name resolution call, so I looked to
  869.                other things. I think I've got it fixed. Had to do with
  870.                structure packing. As if PC's aren't complicated enough, let
  871.                us all buy chips from a manufacturer that after 17 years still
  872.                can't make a chip that reads odd boundary bytes quickly.
  873.                Fuck em.
  874.                Well, I make it a habit of structure packing everything to
  875.                1 byte to avoid compatibility problems between versions of
  876.                software (The windows and os/2 versions for example) and
  877.                didn't realize I was packing the TCP/IP headers as well.
  878.                I'm amazed Murray works as well as it does considering.
  879.                This seems to have cleared the name resolution problem up.
  880.                Still the ip address will go faster because there's no
  881.                name lookup, but you should be able to use
  882.                'nyti.spaghetti.com' instead of 199.224.7.119 if you like.
  883.  
  884.                I think that's all I did so far. Ahh yes. I made a neat
  885.                change to the server. I almost forgot. It's in the news file.
  886.                I rigged it so that when you get a category list, it also
  887.                puts a number in parenthesis next to the name. This is
  888.                the number of items available in this category. So if it
  889.                seems like you're getting a lot of repeats from a category,
  890.                it means: A) There might not be very many items in the
  891.                category, and now you can tell for yourself, and B) You can
  892.                make an effort to rectify the problem. :)
  893.  
  894.                Thanks to those who have donated sounds and pictures to the
  895.                Murray server. Your help is greatly appreciated.
  896.  
  897.                I have found (from this end, testing and some user reports)
  898.                that they are getting 'TCP/IP error during block read.'
  899.                This is a timing problem with Murray. If I knew exactly what,
  900.                I'd fix it now. I'm still looking into it though. What kills
  901.                me, is that I had this working perfectly when I was testing
  902.                Murray, and then just before I released it, I set it to
  903.                dynamically bind the tcpip stack instead of link it staticly.
  904.                This way instead of the program just not running with a
  905.                "Can't find tcpip32dll" error or something like that, I could
  906.                give a useful error message. Unfortunately, this is when the
  907.                timing errors started. I'll let you know when I get it fixed.
  908.  
  909.       5/11/97  Version 1.02
  910.                Things are going horribly wrong. I'm spending what little time
  911.                I have to try and fix it. Everybody's getting exceptions
  912.                but me. I'm trying to figure out what's causing them.
  913.  
  914.                In this version, I took out some of the attempts to make
  915.                Murray share time with PM. It works for me, but other people
  916.                have been saying it causes problems. So if it doesn't work
  917.                anyway, might as well get rid of it. It might be causing the
  918.                timing programs that make donations fail. Oh yeah, I've been
  919.                reading my Stevens book and think I might have fixed something
  920.                that makes the donations not work right.
  921.  
  922.                I appreciate all the attempts at donating files, but I've
  923.                gotten very few that worked, so if you never see them pop
  924.                up, that's why. I apologise for this, I will fix this though.
  925.                I'm hoping 2 big changes I made in this version will solve
  926.                that problem, but you guys can test better than I can, because
  927.                I can only test on my lan, and don't have an outside connetion
  928.                to try this stuff on. That's why I never knew there was a
  929.                problem.
  930.  
  931.                Version 1.02 attempts to fix things and clean up source
  932.                internally, it's not meant as a signifigant upgrade and
  933.                there are no new features.
  934.                I take that back. I just found and fixed the name resoloution
  935.                bug. Yahoo. This one's been killing me for months, so let me
  936.                share with the crowd. To keep from tying up PM while getting
  937.                the category list, the whole lookup is done as a separate
  938.                thread. I allocated 8K for the stack for that thread, because
  939.                OS/2 has this nice guard page that will increase the stack
  940.                if it gets a hit, but apparently there's a function or two in
  941.                the TCPIP stack that sucks up more than the 4K guard page
  942.                and blows away Murray because the stack is too small. I made
  943.                the stack bigger, and voila! Name resolution works.
  944. ***            So: very important note: The Murray server is at
  945.                nyti.spaghetti.com Use this as the server name because my IP
  946.                address will probably be changing soon, and there's no way
  947.                to know what it will be, but I will be keeping the name
  948.                "nyti.spaghetti.com" current, so when Murray goes to look
  949.                that up, it will always get to the right server machine.
  950.  
  951.                I am extremely happy about this particular fix. Wow. What
  952.                a day. I'm going to go outside and enjoy the weather now.
  953.  
  954.                I think I did a few other little things, but I'm not exactly
  955.                sure what. They weren't too important. I think I got rid of
  956.                some of the sleeping that may have made Murray time out.
  957.                Play around, see if the things that made 1.00 or 1.01 blow
  958.                up still do.
  959.  
  960.        6/8/97  Version 1.10
  961.                Well, I got my new job, and now I have to work real hours
  962.                and have very little time for fixing and testing, but a few
  963.                cool things happened.
  964.                I swapped motherboards that the Murray server runs on and
  965.                was able to finally install warp 4. This means that email
  966.                will work for my BBS. Big whoop. It's a slightly faster
  967.                motherboard and it's intel, not cyrix, so that can't hurt.
  968.  
  969.                As I said, I have very little time, and even less to work on
  970.                Murray, but I got a neat bit of mail from one Rene Kint.
  971.                He asked for a very useful feature, and I felt it important
  972.                enough to stop everything else and work on it. So I pounded
  973.                it out last night at about 5am and it seems to work. It has
  974.                to do with time of day.
  975.  
  976.                It seems Rene has a dial on demand setup on his pc, (this
  977.                thought never occured to me, in the origional design of
  978.                Murray) so everytime Murray goes to do something, he makes
  979.                a phone call. Not cool. So, I added a 'start time' feature to
  980.                the config screen to limit the times of the day Murray
  981.                will try and do things.
  982.                Look in section VII for a description of how it works.
  983.  
  984.                In addition, I changed the internal packet size that Murray
  985.                uses to send blocks of information to the server when
  986.                donating. I don't know if this will help any, but it's worth
  987.                a shot while I'm sending out a release anyway.
  988.  
  989.                I've got plans for version 1.2 having to do with rewriting
  990.                my tcpip interface layer which will either fix everything
  991.                or completely break it, so hang on to this version.
  992.  
  993.                I think those are all the changes I made.
  994.  
  995.       8/25/97  Version 1.11
  996.                Long ago, I realized that problems are what you make of them.
  997.                Actually this applies to many parts of life, as I will
  998.                explain.
  999.                Everybody has a certain capacity to worry about shit. Some
  1000.                people have a lot, some people have a little, some are
  1001.                so stoned out of their mind they aren't quite sure they can
  1002.                grasp the concept of reality long enough to notice that it
  1003.                contains thing that could be worried about.
  1004.                So as it goes, if you have a large capacity to worry, but
  1005.                don't have many problems in your life, you will magnify your
  1006.                insignifigant problems to fill the gaping hole in
  1007.                your personality (in much the same way Microsoft Word will
  1008.                allocate all available resources by swapping everything else
  1009.                out to disk).
  1010.                As an aside. Somebody figured out that Microsoft Word actually
  1011.                takes up 8 times more memory than all of the programs on the
  1012.                computers on the Space Shuttle. Think about it. Considering
  1013.                when the machine was built, it's quite easy to imagine.
  1014.                Look at the last few things that you've worried about today
  1015.                and see if they'd stand a chance against any email going to
  1016.                starving@ethiopia.com or help@911.com. Now get a grip of
  1017.                yourself.
  1018.  
  1019.                What I'm getting at is that I like Murray up to the level that
  1020.                I think it's a neat idea and everybody would want to use it
  1021.                like I do. This is not the case. I'm a dreamer.
  1022.                OR!
  1023.                Or not enough people know about it! So go out there, you
  1024.                brave os/2ers and tell the world about Murray. Or tell me
  1025.                where I can go to tell the world about Murray. Nobody seems
  1026.                to be willing to give a away a free plug. Go figure.
  1027.  
  1028.                As for what I changed...
  1029.                Like I said above somewhere, I got inspired to work on the
  1030.                NT version, so I sat down and added some crap to this one.
  1031.                Nothing big:
  1032.                1) When you click on the enable start time button, it greys
  1033.                   out the Start/End time buttons. I always found the spelling
  1034.                   of the word 'grey' fascinating because nobody seems to know
  1035.                   or agree on what the correct spelling is.
  1036.                2) This has been annoying the piss out of me since I first
  1037.                   wrote this. When you change anything on the configure
  1038.                   dialog, the cfg gets updated immediately. This, however
  1039.                   rare it happens when the average user isn't testing it
  1040.                   like I am, is annoying. Really annoying. So I fixed it.
  1041.                   All changes are now saved on the loss of focus to the
  1042.                   field you changed. Less disk whirring.
  1043.                3) I plan to be a millionaire.
  1044.                4) I'm going to write a book like this.
  1045.  
  1046.                Items 3 and 4 required no programming changes to Murray.
  1047.                Not even spritually.
  1048.  
  1049.       9/25/97  Version 1.20
  1050.                This is an understatement. I did a lot of work to this version.
  1051.                Here's the short and skinny:
  1052.                1) Learned how to make a non-blocking socket thanks to the
  1053.                   developer's connection. Found the tcpip reference.
  1054.                   I rewrote the whole tcpip interface layer to Murray. No
  1055.                   more threads, so nothing should ever hang any more. No
  1056.                   random fits of freezing, and less connections problems.
  1057.                   The problem with threads is that os/2 doesn't know what's
  1058.                   going on and gives a lot of time to the wrong thing. The
  1059.                   way it's written now Murray controls the free time, not
  1060.                   OS/2. This is a good thing, trust me.
  1061.                2) I thought I had done this before, but maybe I missed it.
  1062.                   I dialled up like a good little user and tested Murray
  1063.                   over the internet with a real 28.8 modem. And you know what?
  1064.                   It was annoying as hell to use. Why doesn't anybody tell
  1065.                   me these things. I had no idea. I'm a programmer, and I
  1066.                   have this big deficiency with user interfaces and user
  1067.                   needs. Did anybody notice the complete lack of a CANCEL
  1068.                   button? Don't know why it took so long for me to notice.
  1069.                   Mostly, I guess becauser on my lan, a 2 meg file transfers
  1070.                   in about 10 seconds. I never noticed it would be a problem.
  1071.                   So. In every case where Murray hangs out talking through
  1072.                   (MY BRAND NEW) tcpip layer, it give you a cancel button.
  1073.                   You can click this to stop the current action. This button
  1074.                   is only available when an action you triggered is running.
  1075.                   You started it, you should be able to stop it. It's a little
  1076.                   rough around the edges I think. In some cases it will say
  1077.                   "Transfer cancelled", but in some cases, I think it will
  1078.                   just give an error 6. Don't worry about it. It's working
  1079.                   correctly, it just doesn't trap all the messages correctly
  1080.                   yet. Gives me something to do for 1.21. This cancel button
  1081.                   is now part of a window that you can move and accidently
  1082.                   shove in the background, but it shows up in the task list
  1083.                   so you can get it back. If you close this window from the
  1084.                   task list, it's like clicking the cancel button.
  1085.                3) Another really cool thing. So there I was testing Murray.
  1086.                   I donated a file to the server, and saw the message:
  1087.                   "Sending file to server." And there it was. Hanging. Or
  1088.                   so I thought. I never realized that you have no indication
  1089.                   of what's going on. And there was no way to stop it.
  1090.                   I applaud those that donated those 1 meg files and patiently
  1091.                   waited for it to finish. So I added a status line.
  1092.                   On the main windows, between the *Timer held* and the
  1093.                   Murray version messages, there's a status for the transfer.
  1094.                   This comes up for any Murray transfer. Be it files comeing
  1095.                   to you, or sent from you. The format of the display is
  1096.                   How much sent so far / Total bytes to send (percentage done).
  1097.                   You'll notice that a Murray packet is 1000 bytes. Keeps
  1098.                   it under the 1500 common MTU.
  1099.                4) What else. Oh. I know. Run Murray, and take a listen. Neat
  1100.                   eh? I thought this was the neatest thing since sliced bread,
  1101.                   and I can see where it would get annoying, but again my
  1102.                   view is skewed. I have 4 machines and they're on all the
  1103.                   time doing all sorts of things. I rarely ever reboot my
  1104.                   machines, but my dad (remember my dad? The one who said
  1105.                   "Dynamic is good.") pointed out to me that most people turn
  1106.                   off their machines and reboot them all the time. And some
  1107.                   people have their machines in their bedroom where their
  1108.                   wife is sleeping, and they want it to make as little noise
  1109.                   as possible. You can pass Murray a /Q to keep it from doing
  1110.                   this. But it's so cuuuuuuuuuuuuuuute.
  1111.                5) I did a bunch of little things, like always, to tidy it
  1112.                   up here and there, but that's the bulk of it. Certainly
  1113.                   a much more robust program now. Enjoy and donate!
  1114.                   (files or money :)
  1115.  
  1116.       10/2/97  Version 1.21
  1117.                I finally found a good use for the hundreds place in the
  1118.                decimal part of the version number.
  1119.                Have to admit, this was a pretty stupid bug. So I'm sitting
  1120.                there, pounding all of the 1.20 changes into the NT version
  1121.                and I test it, and it hangs. So I click cancel, and nothing
  1122.                happens. Hmmm. All that effort on a stupid cancel button
  1123.                and it doesn't even work all of the time. Blah.
  1124.                Hunting around, I found the one case I missed. If your
  1125.                machine takes forever to resolve the name nyti.spaghetti.com
  1126.                you can hit cancel, but if it get the ip address and takes
  1127.                forever to connect to it, cancel don't do squat.
  1128.                Oops.
  1129.                All fixed.
  1130.  
  1131.       2/28/98  Version 1.30
  1132.                Well, a lot has happened. I keep updating the win version
  1133.                and putting the changes in here but not always releaseing it.
  1134.                So I'm probably going to forget about some things that I did
  1135.                but here's the list that I can remember:
  1136.  
  1137.                1) Thanks go to Andrea Resmini for pointing out my repetative
  1138.                   poor spelling of the word Receive. She wins a door prize.
  1139.                   I've been planning to go to Mexico to buy a door for years
  1140.                   and as soon as I do, I'll pick up a prize for her.
  1141.                2) Fixed some cancel error handling.
  1142.                3) Increased the max size of the category names.
  1143.                4) JPEG. (see the section on jpeg that I grafted from the
  1144.                   windows version.)
  1145.                5) Nothing else is coming to mind, but you'll eventually
  1146.                   see the changes.
  1147.  
  1148. XXI.  My life saga. (People who like to read about my personal life.)
  1149.  
  1150.       If you're a NYTS II documentation follower...
  1151.       When we last left our hero he was spending way too much money on
  1152.       his international phone bill. It's gotten better.
  1153.       How much do you think I have to spend to get a letter from AT&T that
  1154.       says "You've saved over $1000.00 in long distance charges in the
  1155.       past two months."
  1156.       For those of you new to my rather bizarre and off topic documentation
  1157.       style here's the story.
  1158.       My fiancee went to Israel to go to school at Bar Ilan University.
  1159.       I live in New York in the United States. I spend quite a bit of money
  1160.       calling her, writing letters, and sending flowers and such things.
  1161.       But thanks to the mighty internet, I'm going to help AT&T shoot
  1162.       themselves in the foot (aiming gun at foot in mouth) by installing
  1163.       iphone or some such similar product, thereby getting lousy voice
  1164.       quality sound at somebody elses expense (using their own cable network
  1165.       against them). This is only temporary until we get back together. I've 
  1166.       paid my dues (thousands in phone bills). Am I bitter?
  1167.  
  1168.       4/7/97 Well, did I tell you? My future fiancee/wife made a surprise
  1169.       visit to come see me from Israel. Ain't she sweet? So I pretty much
  1170.       put everything off for the two weeks she was here.
  1171.       Then there was that noreaster. My apartment complex got nailed with
  1172.       every tree down you could find. No power for 3 days (no heat either,
  1173.       ever try and sleep in 40 degrees (farhenheit)?). No power, no Murray
  1174.       server. Only so much complaining to the power company I can do. Sorry
  1175.       for the loss of service.
  1176.       The windows version is about 80% done, but I'm currently looking for
  1177.       new employment and this is taking up some of my nonexistant free time.
  1178.       I will finish it. Oh yes, it will be done.
  1179.  
  1180.       For all you os/2 fans out there (like me), I installed Win NT on my
  1181.       DX4/100 with 64 megs of memory. And it's still a dog. Os/2 is happy
  1182.       as shit with all the memory, I don't have a swap file. It's neat. If
  1183.       you can afford it, I recommend it. Just say No to NT.
  1184.  
  1185.       5/11/97 My girlfriend said she's coming back in August. This will
  1186.       be the shit. Hopefully I'll have all the big problems squared away
  1187.       by then because I don't know how much time I'm going to have after
  1188.       she get's back here. We have a lot of catching up to do.
  1189.       Murray for windows has been put on hold for a bit, until I can get
  1190.       the OS/2 version working the way I want. I'm having a few problems
  1191.       with the machine that the Murray server is running on, doesn't effect
  1192.       Murray, just my BBS. Oh yeah, I won't go into details, but you might
  1193.       have noticed that you can't telnet to nyti.spaghetti.com anymore.
  1194.       This makes me very angry. Until I can resolve this problem, you can
  1195.       telnet to nyti.spaghetti.com on port 1111. This will work. I also lost
  1196.       my http port and my ftp port for a similar reason. I will be fixing
  1197.       this.
  1198.       And lastly. I got a new job. It's farther away from my apartment, and
  1199.       if you take into account the extra commute, I'm not really making
  1200.       any more money, but there's no dress code (jeans and sneakers are
  1201.       allowed, YAY!) and it's near most of my friends, and I'll get to
  1202.       actually do work, as opposed to being on the phone all the time.
  1203.       My part timer that I'm in charge of told me that the phone would have
  1204.       to be surgically removed from my ear soon. At that point I knew it was
  1205.       time to get out, if she noticed it.
  1206.       That's all for now. Got to go distribute.
  1207.  
  1208.       6/8/97
  1209.       Well, here's some gossip you can sink your teeth into.
  1210.       My girlfriend/fiancee-to-be that I've been talking about? Well, we
  1211.       broke up. Sorta. She's coming back from Israel to hang out and we
  1212.       can discuss what we're going to do with ourselves or without ourselves,
  1213.       but it was a mutual thing, not unhappy. But we realized that some
  1214.       of the things we really hold near and dear to us are far enough
  1215.       different to make marriage difficult. But we'll be spending the summer
  1216.       together, so don't expect to catch me around here much :)
  1217.       I'll keep you posted as to when we make up and get back together.
  1218.  
  1219.       9/24/97
  1220.       Oh well. It's over. My ex-girlfriend moved out the other day. She's
  1221.       leaving this coming sunday. And now I'm lonely. Waaaaaa.
  1222.       It tell ya, computers whirring all the time make for a really empty
  1223.       and cold sounding apartment.
  1224.       Experience. That's what it's all about.
  1225.       Anybody wanna start a rock/metal/ex-grunge band?
  1226.  
  1227. XXII. Are you paying attention? (Have you finished your shit yet?
  1228.       You can use the end of the last page for toilet paper if need be.)
  1229.       If you've been reading religiously, you'll remember the names
  1230.       of the people who were getting married at the time I had the idea
  1231.       for Murray.
  1232.       If you don't, you won't.
  1233.  
  1234. XXIII.I still haven't figured out a good word or phrase to describe how
  1235.       I feel about win95. We'll also leave this as an exercise for the
  1236.       reader.
  1237.  
  1238.       People tell me "I'd've" isn't a valid contraction. Damn efficient
  1239.       though.
  1240.  
  1241.       Remember the first time you saw Star Wars (you did see it didn't you?)
  1242.       and they're in the garbage bin and there's that thing slithering under
  1243.       the muck? Well, I was 7 when I first saw Star Wars in the theater
  1244.       and that left a scary sorta worried feeling in me. That's the closest
  1245.       thing I think of to describe how I feel about win95.
  1246.  
  1247. XXIV. Running a Mighty Murray Server. (Consider the fact the 99% of the time,
  1248.       your Mighty P200 is spinning it's wheels at 200Mhz waiting for the
  1249.       mouse to move and blinking a cursor. Now there's a good use of
  1250.       technology. Why not run a Murray Server?)
  1251.  
  1252.       If you're interested in running a Murray server. Contact me. I'd
  1253.       be very glad to help you set it up. There's only one version of the
  1254.       Murray Server and I don't plan on porting it to any other OS, so if
  1255.       you don't run OS/2 and you don't plan on writing your own server,
  1256.       this is probably not a viable option for you.
  1257.       It's really a good idea to have a 24/7 connection to the internet
  1258.       otherwise nobodies going to attach to your server. Remeber those
  1259.       BBSes that we up between 10pm and 6am. Yeah, that worked well.
  1260.  
  1261. XXV.  Not There.
  1262.       I just had this silly idea. Actually, I had it a long time ago, and
  1263.       just remembered it now. Free thank you card to the first person who
  1264.       can answer me this question: (The answer "Because everybody does
  1265.       what microsoft says." is not valid.)
  1266.  
  1267.       Win 3.1 is a solid program. NT is a solid program. 95 is not a solid
  1268.       program. These are all well known documented facts.
  1269.       NT can run 3.1 program. 95 can run 3.1 programs. Don't need 3.1.
  1270.       NT can run NT programs, and NT can run 32-bit native 95 program.
  1271.       (If you've ever seen the requirements for getting a "designed for
  1272.       windows 95" sticker on your box you'll see that it says it's got
  1273.       to run under NT.)
  1274.       Why do we need 95? or 97 or whatever it's going to be called when
  1275.       it finally comes out. The hardware requirements for 95 are just as
  1276.       bad as the requirements for NT, so what's the point?
  1277.       Everybody knows that they're going to dump 95 anyway soon enough,
  1278.       microsoft said it themselves.
  1279.       So why is everybody running win95, a shittier less stable dos hack
  1280.       than a 32 bit stable OS?
  1281.  
  1282.       Coalition to get everybody to drop 95 and start using OS/2, Linux
  1283.       or NT.
  1284.  
  1285. XXVI. Movie Reviews (The visual arts are for the eyes)
  1286.  
  1287.          COMING SUMMER 98, THE GREATEST BLOCKBUSTER SMASH OF ALL TIME!
  1288.          THE NEW ACTION THRILLER FROM MOUNTAPARROT PICTURES....
  1289.  
  1290.             T   h   e       F   e   r   t   i   l   i   z   e   r   .   .   .
  1291.  
  1292.          Jack Graves is a renegade cop, who doesn't believe any crime should
  1293.       go unpunished. He sees that the Police have their hands tied, and he
  1294.       wants to do something about it. Brandished with the most unique weapon
  1295.       known to police enforcement, Jack Graves is going to make a difference.
  1296.  
  1297.         (a scene from the movie...)
  1298.  
  1299.          "Hey Jack, what's the noise."
  1300.          (rustle rustle)
  1301.          "Let's check it out."
  1302.         ...
  1303.          *SMASH*  *ALARMS*
  1304.  
  1305.          "GO GET HIM JACK, HE'S RUNNING DOWN THE ALLEY!"
  1306.  
  1307.          "I can get him from here."
  1308.          And with a swift motion spins around, turning his back to the thief,
  1309.       bends over, pulls the ripcord exposing his mighty ass to the world...
  1310.  
  1311.           PFfffffffphhphpphphhhhhhhhhhhhhhhhhtttttt.
  1312.           pft.
  1313.  
  1314.           Pphhhhhhhhhhlllllllllooooooommmmmmmmpppppphphhhhhh.
  1315.  
  1316.           "SHIT!!!!"
  1317.           "GET THIS SHIT OFF ME!!!!"
  1318.  
  1319.           "Good job Jack."
  1320.  
  1321.           "Yeah, he should be happy I didn't fertilize him with the strong
  1322.       stuff."
  1323.  
  1324.            T   h   e       F   e   r   t   i   l   i   z   e   r  .   .   .
  1325.  
  1326.            Coming Summer 1998 to a theater near you.
  1327. *****************************************************************************
  1328.  
  1329. Feel free to get in touch with me. I'm human, just like most of you. And I
  1330. like to know the world needs me :)
  1331.  
  1332. -----------------------------=====================--------------------------
  1333. Murray Client for OS/2 V1.30 2/28/98 Copyright Stu Mark.
  1334. email: fordii@j51.com
  1335. or call my BBS: 914-267-0504
  1336. or telnet nyti.spaghetti.com on port 1111 (24 hours a day)
  1337.  
  1338. Check out my web site, it has a cool background.
  1339. http://nyti.spaghetti.com
  1340.  
  1341. Monetary donations (see section IV) can be made payable to:
  1342.  
  1343. Stu Mark    Attn: Murray
  1344. P.O. Box 77
  1345. Valley Cottage, NY 10989
  1346. U.S.A.
  1347.  
  1348.  
  1349. Latest and greatest versions of all my software are available via ftp
  1350. at nyti.spaghetti.com
  1351. I have some utilities that I wrote a long time ago that I'll be putting
  1352. up sometime.
  1353.  
  1354. Come visit my web page (it's rather sparse right now, all my free time goes
  1355. to working on Murray and I don't have any time to make a nice page) at
  1356. (guess where...)  http://nyti.spaghetti.com
  1357.  
  1358. -----------------------------=====================--------------------------
  1359.  
  1360. As you can tell, I enjoy bashing MS and would do it more, but this file is
  1361. long enough as it is. This is an OS/2 program. Why ruin it by
  1362. mentioning MS too much. However, I always put in the following disclaimer:
  1363.  
  1364. (any nasty remarks sent in the general direction of window's capacity to
  1365.  function, [are fully intentional,] are not opinion, but state of fact. So
  1366.  don't try to slam me with some bullshit libel suit.)
  1367.  
  1368. I've also decided to start a campaign to make it a really loud notion to
  1369. compare The Microsoft marketing department to the Marketing department at
  1370. Sirius Cybernetics Corp. Anybody with me on this? If so, mail a message to
  1371. my BBS at doom@nyti.spaghetti.com
  1372.