fix Makefile and README.md for 2001/rosten
This commit is contained in:
1 parent
7630f0b135
commit
c181c0446a
2 files changed
+363
-261
No files matched your search
+102
-92
@@ -1,4 +1,4 @@
|
||||
Best abuse of the user:
|
||||
# Best abuse of the user:
|
||||
|
||||
Edward Rosten
|
||||
Oxford University
|
||||
@@ -10,134 +10,144 @@ Best abuse of the user:
|
||||
|
||||
http://users.ox.ac.uk/~scat1148
|
||||
|
||||
# To build:
|
||||
|
||||
Judges' Comments:
|
||||
```sh
|
||||
make
|
||||
```
|
||||
|
||||
To build:
|
||||
### To run:
|
||||
|
||||
make rosten
|
||||
```sh
|
||||
./rosten number
|
||||
```
|
||||
|
||||
Try:
|
||||
### Try:
|
||||
|
||||
./rosten 1.03
|
||||
./rosten 1.00
|
||||
```sh
|
||||
./rosten 1.03
|
||||
./rosten 1.00
|
||||
```
|
||||
|
||||
For some abuse, try:
|
||||
For some abuse, try:
|
||||
|
||||
./rosten 0.99
|
||||
```sh
|
||||
./rosten 0.99
|
||||
```
|
||||
|
||||
Friction can be your friend if it does not rub you (or your mouse
|
||||
cursor) in the wrong way. :-)
|
||||
## Judges' comments:
|
||||
|
||||
Friction can be your friend if it does not rub you (or your mouse
|
||||
cursor) in the wrong way. :-)
|
||||
|
||||
## Author's comments:
|
||||
|
||||
NAME
|
||||
|
||||
rosten - make the mouse act as if it has been greased
|
||||
|
||||
SYNOPSIS
|
||||
|
||||
rosten [greasiness]
|
||||
|
||||
|
||||
Selected Author's Comments:
|
||||
DESCRIPTION
|
||||
|
||||
NAME
|
||||
This program is designed primarily to make your X windows interface more
|
||||
obfuscated. Try doing something mouse driven (such as using a mouse
|
||||
driven editor on this program) whilst it is running. If you're not sure
|
||||
what it does, looking at the code should give a fair idea.
|
||||
|
||||
rosten - make the mouse act as if it has been greased
|
||||
|
||||
SYNOPSIS
|
||||
|
||||
rosten [greasiness]
|
||||
It also has a [cat] man page if you want to install it as a `utility'.
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
OPTIONS
|
||||
|
||||
This program is designed primarily to make your X windows interface more
|
||||
obfuscated. Try doing something mouse driven (such as using a mouse
|
||||
driven editor on this program) whilst it is running. If you're not sure
|
||||
what it does, looking at the code should give a fair idea.
|
||||
It only takes one optional option: the greasiness factor. This is the
|
||||
number that the speed is divided by on each iteration. The default is
|
||||
1.03. A setting of 1 (no friction is fun), as is 0.99.
|
||||
|
||||
It also has a [cat] man page if you want to install it as a `utility'.
|
||||
Being an X program, it recognised the DISPLAY variable.
|
||||
|
||||
|
||||
OPTIONS
|
||||
PORTABILITY
|
||||
|
||||
It only takes one optional option: the greasiness factor. This is the
|
||||
number that the speed is divided by on each iteration. The default is
|
||||
1.03. A setting of 1 (no friction is fun), as is 0.99.
|
||||
|
||||
Being an X program, it recognised the DISPLAY variable.
|
||||
The program is very portable, even to non X architectures. All that is
|
||||
required is a large desk and some good grease.
|
||||
|
||||
|
||||
PORTABILITY
|
||||
COMMENTS
|
||||
|
||||
The program is very portable, even to non X architectures. All that is
|
||||
required is a large desk and some good grease.
|
||||
It is really rather surprising that code like this should not only be
|
||||
portable, but compile with almost no warnings on most of the compilers
|
||||
tested. It's a kind of shame that none of the compilers do anything
|
||||
like this:
|
||||
|
||||
$make greasymouse
|
||||
cc greasymouse.c -o greasymouse -lX11
|
||||
greasymouse.c:30: This macro should have more text and spaces in it
|
||||
greasymouse.c:32: This is a really stupid way to perform this operation
|
||||
greasymouse.c:42: This program would look better with a newline here
|
||||
greasymouse.c:48: That's a really silly thing to do
|
||||
greasymouse.c:55: So is that
|
||||
...
|
||||
greasymouse.c:58: This program is rubbish. I'm not going to link it.
|
||||
|
||||
The code is best viewed with tabstops every 8 spaces.
|
||||
|
||||
|
||||
COMMENTS
|
||||
BUGS
|
||||
|
||||
It is really rather surprising that code like this should not only be
|
||||
portable, but compile with almost no warnings on most of the compilers
|
||||
tested. It's a kind of shame that none of the compilers do anything
|
||||
like this:
|
||||
The mouse gets stuck completely if you give it an option of less
|
||||
than 1 and leave it for too long. This is quite annoying if it
|
||||
didn't leave the terminal if was run from in focus.
|
||||
|
||||
$make greasymouse
|
||||
cc greasymouse.c -o greasymouse -lX11
|
||||
greasymouse.c:30: This macro should have more text and spaces in it
|
||||
greasymouse.c:32: This is a really stupid way to perform this operation
|
||||
greasymouse.c:42: This program would look better with a newline here
|
||||
greasymouse.c:48: That's a really silly thing to do
|
||||
greasymouse.c:55: So is that
|
||||
...
|
||||
greasymouse.c:58: This program is rubbish. I'm not going to link it.
|
||||
It gets very jerky if the processor is being used. There are
|
||||
better time functions than clock() but I haven't used them.
|
||||
|
||||
The code is best viewed with tabstops every 8 spaces.
|
||||
It deflects slightly when it gets very slow.
|
||||
|
||||
It annoys other people if you run it on their display too
|
||||
often. Maybe I should make future versions print funny jokes to
|
||||
keep the humor fresh.
|
||||
|
||||
It's pretty ropey over a 56K modem.
|
||||
|
||||
It's even ropier over a 56K modem and tunneled through 3 ssh links.
|
||||
|
||||
|
||||
BUGS
|
||||
WARNINGS
|
||||
|
||||
The mouse gets stuck completely if you give it an option of less
|
||||
than 1 and leave it for too long. This is quite annoying if it
|
||||
didn't leave the terminal if was run from in focus.
|
||||
Pages and pages and pages of things, with GCC at any rate.
|
||||
|
||||
It gets very jerky if the processor is being used. There are
|
||||
better time functions than clock() but I haven't used them.
|
||||
It suggests loads of ()'s where they're not needed.
|
||||
|
||||
It deflects slightly when it gets very slow.
|
||||
It reckons I have not used some of the values I have computed. I
|
||||
would never do a thing like that: I just haven't used them in
|
||||
the way it's used to.
|
||||
|
||||
It annoys other people if you run it on their display too
|
||||
often. Maybe I should make future versions print funny jokes to
|
||||
keep the humor fresh.
|
||||
The MIPS compiler suggests an == instead of an = in expressions
|
||||
such as:
|
||||
|
||||
It's pretty ropey over a 56K modem.
|
||||
&&(a=b)
|
||||
|
||||
It's even ropier over a 56K modem and tunneled through 3 ssh links.
|
||||
but I its suggestions would break my program. It also reckons
|
||||
that r() has no prototype.
|
||||
|
||||
Giving the -pedantic option to the MIPS compiler causes it to generate
|
||||
warnings about its own header files, but not any extra ones with this
|
||||
program.
|
||||
|
||||
With all warnings enabled, the DEC compiler, oddly enough finds some
|
||||
problems with its own include files, but none with my program.
|
||||
|
||||
|
||||
WARNINGS
|
||||
ERRORS
|
||||
|
||||
Pages and pages and pages of things, with GCC at any rate.
|
||||
The DEC compiler of this version:
|
||||
|
||||
It suggests loads of ()'s where they're not needed.
|
||||
DEC C V5.6-079 on Digital UNIX V4.0 (Rev. 878)
|
||||
|
||||
It reckons I have not used some of the values I have computed. I
|
||||
would never do a thing like that: I just haven't used them in
|
||||
the way it's used to.
|
||||
|
||||
The MIPS compiler suggests an == instead of an = in expressions
|
||||
such as:
|
||||
|
||||
&&(a=b)
|
||||
|
||||
but I its suggestions would break my program. It also reckons
|
||||
that r() has no prototype.
|
||||
|
||||
Giving the -pedantic option to the MIPS compiler causes it to generate
|
||||
warnings about its own header files, but not any extra ones with this
|
||||
program.
|
||||
|
||||
With all warnings enabled, the DEC compiler, oddly enough finds some
|
||||
problems with its own include files, but none with my program.
|
||||
|
||||
|
||||
ERRORS
|
||||
|
||||
The DEC compiler of this version:
|
||||
|
||||
DEC C V5.6-079 on Digital UNIX V4.0 (Rev. 878)
|
||||
|
||||
can't compile the code. It thinks that preprocessor lines can not have
|
||||
whitespace preceding the #. Moving the preprocessor directives to the
|
||||
beginning of the line wrecks the layout but makes it compile.
|
||||
can't compile the code. It thinks that preprocessor lines can not have
|
||||
whitespace preceding the #. Moving the preprocessor directives to the
|
||||
beginning of the line wrecks the layout but makes it compile.
|
||||
Reference in new issue
Block a user