<pre>
http://www.guckes.net/talks/ludo.txt (short URL)
http://www.guckes.net/talks/play.MUDs_vim_and_the_game_of_life.txt
http://www.guckes.net/talks/play.MUDs_vim_and_the_game_of_life.txt.html (in color)

Latest change: Fr Apr 24 05:23:42 CEST 2015

= EVENTS =

  Grazer Linux-Tage -- Sa 2015-04-25 16-17h
  https://glt15-programm.linuxtage.at/events/68.html

  LinuxWochen Wien  -- Fr 2015-05-08 15:00-15:45 F4.02
  https://cfp.linuxwochen.at/de/LWW15/public/events/263

  DUCC-IT 2015: www.ducc.it  Sat+Sun 2015-05-23/24
  DUCC-IT 2015: Sabato 23 e Domenica 24 Maggio 2015

== Venue ==

  TIM WCAP Accelerator:
  http://www.wcap.tim.it/en/accelerators/milan
  via Rombon 52, 20134, Milano
  OpenStreetMap link (TODO)
  GoogleMaps https://goo.gl/maps/v0gSw

  between "Via Rombon Via De Villard"
  and     "Via Rombon Via Passo Rolle"

  Sat/Sun: a dozen talks each
  Saturday: Big Room  ~80 people
  Sunday: Small Room  ~40 people

= DESCRIPTION =

"LUDO" - "the internet as a huge game"

how i learned about the internet and its games - and
how the fun of games turned into a serious reality.

the seminar (Bildverarbeitung image processing)
the programming library (LEDA),
the asynchronous messaging (email),
the  synchronous communication (telnet),
the games (Multi User Dungeons aka MUDs),
the wizardry,
the Usenet newsgroups (comp.editors),
the editor (Vi Imitation),
the WWW..

goal: a bit of personal history (an hour).  and
then a bit of teaching of Vim (two to three hours :)

idea: "small commands"
http://www.guckes.net/talks/vim.small_commands.txt

= AUTHOR =

Sven Guckes mailto:milano2015@guckes.net

crypto_keys:
bites shortID  stats
1024R/57F77F09 http://pgp.cs.uu.nl/stats/57F77F09.html
8000R/0185391B http://pgp.cs.uu.nl/stats/0185391B.html

the fingerprint of old key:
.________________________________________________________________________.
|pub   1024R/57F77F09 1995-01-30                                         |
|      Key fingerprint = 11 28 37 E2 CB 46 72 67  9E 8E 22 18 DA F9 C0 96|
|uid                  Sven Guckes <pgp@guckes.net>                       |
|uid                  Sven Guckes                                        |
`------------------------------------------------------------------------'

fingerprint of new key:
.__________________________________________________________________________.
|pub   8000R/0185391B 2014-03-11                                           |
|      Key fingerprint = 32CE 5648 6E6D 6D6D 33E5  3A38 EAB9 7F20 0185 391B|
|uid                  Sven Guckes <keysigningparty@guckes.net>             |
`--------------------------------------------------------------------------'

= SCHEDULE =

none yet

the entry in the schedule:

url:        http://www.guckes.net/talks/play.MUDs_vim_and_the_game_of_life.txt
title:      LUDO - the game
date-submit: Submitted by guckes on Febraury 28th, 2015
Author:     Sven Guckes
Duration:   1h
date+time:  TODO
submit_to:  $EMAIL (info@ducc.it currently broken)

= TALK =

duration: 42mins

this may be pretty abstract - and just a talk.
understanding vim itself is better done in the workshop.

= START =

dear listener - please use this textpad for feedback:
https://events.titanpad.com/NN (TODO)

feedback is *very* welcome!  mailto:milano2015@guckes.net

= SEMINAR =

it all started with a seminar at my university
(Free University Berlin aka FUB) in 1988..

= LIBRARY =

we had a crash course on learning how to program with "C".
for this we got a login on a maschine running Minix.

our task was to write programs to extract text
from the scans of a scanner - in tech speek:
"Optical Character Recognition".

the scans were in "Tagged Image File Format" (TIFF).
but TIFF isnt just one format - it is a LOT of things.
however, at that time we didnt have wikipedia to tell us that.

we got a copy of a very new library to aid us - "LEDA".
it had been a very new version.  and
unfortunately it contained bugs.

in the end the hadnt much of a result.
but it left us with a login on a maschine -
and this meant we had an email address.

= EMAIL =

"oh - we can write messages for the other users
on this system.. using 'elm' (electronic mail).."
Elm was a true unix program, so it interfaced
with *any* program to write your text.
and the default editor was - "vi".
it was a *visual* editor on top of "ex".
on a terminal you cannot really get "graphical" -
but this is what the use of a cursor was then.
little did we know...

= FTP =

soon later we learned about the File Transfer Program - FTP.
people used the login name "anonymous" to upload files to
"anonymous FTP servers".  you could find lots of stuff there..

so the question arose on "how to find stuff on FTP servers".
you could download the file listings "ls-la.txt.gz" and scan them.
but getting updates was too slow and yielded no real differences.

so people downloaded those file listings and
offered a search service to those archives - "archie".
you'd send a request by email to such a service -
and it would reply to you by email with results.
however, this could take a day or two...

meanwhile, we learned about "telnet".

= TELNET =

so.. we can "log in" to other computers
over this.. Internet thing?
and this connection is then answered by a *program*?
and the program.. is a GAME! o_O

this is how we found text adventures.  in Sweden,
this guy, Lars Pensjö, had invented a
variant of "Multi User Dungeon" - LPMUD.
http://en.wikipedia.org/wiki/LPMud

= MUDs =

  Multi User Dungeons..
  the village, the pub, the.. ORCs!
  characters, points, levels, quests..
  and finally: you become a Wizard!

in MUDs you would enter commands to go to
another room, look at things, and use them.

you would drink beer at the pub in the village - and
then you'd take a sword and run around to kill orcs.
this gave you experience points and built up your character.
you wouldd be fatigued by fighting, so you'd run back to the pub..
and build up strength by.. guess what.. drinking beer.

things became a bit repetitive...

until we found a tool to automatically
repeat things for us: PMF!

= PMF =

Padrone's MUD fronted made playing a LOT easier!

http://www.freshports.org/net/pmf
PMF is a linemode MUD client, with line history and editing.
It also provides gags, aliases and other useful features.

you would create aliases like "b" to "drink beer".  and
you would create aliases to run around from the pub to the orcs:
"2orcs = exit pub; w; w; w; w; w; n; n; kill orcs"

and there were "actions" which automatically reacted to messages.
when you learned that you were "badly hurt" then you'd quit fighting
and automatically run back to the pub - and start drinking again.

while being in the same room with others you could also talk to them.

= QUESTS =

some of the things you simply could NOT automate.
as you would advance you gain points - but it
would not let you get past to higher levels.
advancing was bound to solving "QUESTS".
and some of these were designed such that
you simply could not solve them by yourself.
it kind of required being at two places at the same time.
you would have to do some action at one place -
and another one at another place.  but getting from
one place to the other was just not possible fast enough.

this required team work - with some
coordination across some communication.
you would have to team up at the same time
and possibly get a special tool for the
communication between those two places.

some of those places were a bit out of place
on a grid, some even have been obvious mazes.
and some required acquiring a bit of
knowledge in the fields of mathematics.

this had me and a fellow student stay up late
and all through nights at the university.
but solving those quests was really *magic*!

this usually went on until you had solved all
quests until you got up to the highest level.
and then there was only one step left:
the initiation to the level of "wizard".

= WIZARDY =

in LPMUDs, when you became a wizard, you were entitled to *change* the game.
you get a "castle" (an entry portal to your own area),
you would create objects, you add a description,
you add *commands* - and you could "make the game".

moreover - the LPMUD driver was like a virtual maschine,
ie you could extend the game not only by adding code.
it did not require to stop the game, recompile it, and restart it.
the game could be extended "at runtime", ie while it was running.

MIND BLOWN!

= THE ROOM =

we had been tutors at the math institute at the time,
and we had our own room for this.
it was one half of a lecture room, actually.
it had a blackbord, a water sink, some tables
and chairs.  and power outlets, of course.

the sink gave us water for making tea.
there had been some PCs, and later
even one of the first Macs.
and there was - internet.  perfect! :)

= USENET =

one da y a guy from the chemistry depertment came in.
"we need to move this PC."  it had been there,
under the table, with a label: "do not turn off!"
i had no idea why.  so i asked: "what about this PC?"
"well - it is our news server.  and we figure
it should be situated at our department now."
"what *is* a news server?"
"install 'nn' - and find out!"

i asked our sysadmin to install it.
and there it was: "nn" - the "news reader (program)".
"nn" stood for "no news is good news".
and still it showed you newsgroups.
it was all very mystical.

enter: Usenet and the newsgroups.

so i tried to read some of the preinstalled groups.
and i came across something called "FAQ".
so i posted the question "what is a FAQ?"
to which someone answered "that's one of them".
i didnt understand.
the next answer was more elaborate,
so i learned that FAQ meant
"frequently asked question".

the natural questions were
"how many newsgroups are there?"
and "how do you find newsgroups?"

and i found "comp.editors".

= comp.editors =

this newsgroup was all about those programs
which allowed you to efficiently modify text.
and this is where i really learned
how to use this "vi" editor.

and i learned: no sources
we delivered about "vi".
the source was copyrighted!
"wait.. there is a contradiction here..."
why should we know about using a program
to which the sources are *hidden*?

we would learn to use vi by examples -
but not by concepts hiding in the source.
whenever there was some strange command
we'd think "does vi really work that way?"
it had been a bit of kicking a black box.
but i kept on assembling examples and
adding them to my Unix/Minix account.

i did the same by reading comp.mail.elm
so i would learn something about emailing..

= Vim =

then one day my "sys admin" (system administrator)
tells me about the release of some "vi imitation".
so this programmer had programmed vi yet again.
it didnt have as many features as the real "vi".
but there was a huge difference: it had *source*.

this was big changer:  now we could both talk
about the code *and* we could change it, too.

up until now with MUDs it had been "changing code for a game".
now "changing the code" of a non-game had become the new game!

the programmer, Bram Moolenaar, and the people around him
would not only simply change some code to some program -
it was the code to the editor with which other people
would write the code to other programs - like Linux.

this, i realized, was the ultimate game:
programming what others use for programming.

MIND BLOWN AGAIN!

= WWW =

meanwhile, some guy at CERN developed a way
to put a location of data into a form
with a hstname, a directory, and a file:
Uniform resource identifier aka URI
http://en.wikipedia.org/wiki/Uniform_resource_identifier

so now data containing those URIs had *links* to other data.
the links formed a web "like a spider's cobweb".
which, of coure, we know today as HTTP/WWW.

i put together my snippets and created webpages
on elm, nn, screen, slrn, and vim.
these had been attached to my department address.
and i knew that one day this was too long
and simply needed a new address.

= DOMAINS =

so i registered vim.org (in september 1997)
and guckes.net (in january 1999).

later in gave workshops on using my favourite programs.
i travelled to some Free Software events in Germany, and some
neighboring countries (AT, BE, CH, DK, EN, FR, LX, NE, SE).
and because i was curious about those times and deadlines,
i created my own FLOSS calendar: http://cal.guckes.net

= TIME WARP =

it's now 2015 - almost 20 years later.
i am using "vim" to write this text.
i use my own syntax file to colorize it.
i use the commands undo+redo dozens of times every day.
i switch between buffers within windows, using registers
to move text around, - and i hardly every quit it.
it just keeps on running on that server,
which is online 24/7 for weeks and months.

the server is run by in-berlin.de (Individual Network)
an Internet Service Provider (ISP)
which had been created in the years 1990/1995
by those two students from the chemistry deparment -
Heiko Schlichtung and Vera Heinau.
the also installed the first web server in germany.
http://www.chemie.fu-berlin.de

= CONCLUSION =

i was given opportunity to play with some early internet
technology.  there had been restrictions, but not too many.
i could try out stuff which is still not allowed
to even government employees today in some countries.
we could download the source code and look at things.
we could see behind the curtains and walls.
we could openly talk about this stuff -
all around the world.

i was blessed.

what i learned:
when talking about technology it pays off to know "how it works".
to be able to gain inside, we must be allowed to "look inside".
when you start understanding the parts then you might get ideas..
and once you learn how to change the little things
the way *you* want it - then "magic happens":
it becomes something *real*,
it becomes a part of yourself,
it becomes a part of the world.

this magic is still with me.
with the code to my programs
i can understand how this works.
this kind of fun has not left me.

my point:
"playing is not only fun - it is how we learn and understand how the world works."

= CLAIMS =

therefore i claim:
* we must provide *all* code/information to everyone.
* we must tell our children how technology *works*.
* we must give them space+time to "play around" with technology.  and
* we must never give up hope that they will take it up and make it "theirs".

remember: "if you think education is expensive - try ignorance."

ps: want to know more about Vim?  join my workshop! :-)

= WORKSHOP =

"Small Commands" - "type less - achieve more!"
http://www.guckes.net/talks/vim.small_commands.txt

* how to delete two lines?
* how to delete the current paragraph/sentence/word?
* how to delete to the end of the text?
* how to indent or reformat the current paragraph?
* how to rot13 some text?
* how to add a quote or signature?

= MATERIAL =

i *may* bring this little server with me.  let's see...

When there is a functional local net with
a good connection to the outside internet
then every participant only need his own machine
and can use mosh or ssh to some server with mutt and gpg.

is there a test server which can be used for workshops?
if not then we might bring a server for the local net
which should have all the services required:

| SERVIETTE - a small event server
| domain: www.etteivr.es
|    pad: https://guckes.titanpad.com/31
| mailto: serviette-list (at) guckes.net
|   list: http://mailman.guckes.net/mailman/listinfo/serviette-list-guckes.net

= Links =

http://home.arcor.de/Emden-Weinert/graphs.html
http://www.mpi-sb.mpg.de/LEDA/leda.html 404!
LEDA = Library of Efficient Data types and Algorithms
http://www.algorithmic-solutions.com/leda/ledai/index.htm

Wikipedia:
TODO

Wikis:
TODO

Docs:
TODO

Articles:
TODO

</pre> <!-- vim: set ft=sven: EOF -->