Chang-Rae Lee, 2000. A quiet but in the end very powerful book. I hadn’t expected much from it at first, having picked it off the shelf in a charity shop. The structure, alternating chapters of the story from the narrator’s youth with his present day as an old man, was a little bit corny. By the end though, it achieves a genuine depth in the reflection on a traumatised but stoical and introspective lifelong outsider’s relationship with the world, and his attempts to give and receive love.
* Spawn Point XYZ: -176 / 64 / 227 * Spawn Zone Plan ** Block plan ^N (-Z) / >E (+X) |------+------+-------+------+------| | NW2 | NNW2 | N2 | NNE2 | NE2 | | | | | | | |------+------+-------+------+------| | WNW2 | NW1 | N1 | NE1 | ENE2 | | | | | | | |------+------+-------+------+------| | W2 | W1 | Spawn | E1 | E2 | | | | | | | |------+------+-------+------+------| | WSW2 | SW1 | S1 | SE1 | ESE2 | | | | | | | |------+------+-------+------+------| | SW2 | SSW2 | S2 | SSE2 | SE2 | | | | | | | |------+------+-------+------+------| ** Block lot layout ^N |-----+----| | II | I | |-----+----| | III | IV | |-----+----| * Emacs variables Local variables: mode: org End:
loop through input lines initialize output line, quote count, remark flag loop through line chars if remark flag up copy char to output else if char is " incremnt quote count if quote count even & char begins REM set remark flag If last char in output not space append space to output append "REM" to output advance char ptr by 2 If next char in input not space append space to output advance char ptr by 1 else if quote count even and char is ? copy PRINT else copy char end char loop output line end line loop
I've been away from TWENEX for too long. Time to wake up and dust everything off.
DATE: 2014-02-01 I hereby declare February A.D. 2014 to be Everything Gets Backed-Up (EGBU) Month and the start of the EGBU Project. For my entire career as a programmer on every project I have always told myself, "Get it up and running and then worry about details like back-ups," and then never done a back-up. That changes now. Starting this month and continuing for the duration of my programming career I will implement a back-up procedure for all of my electronic data on all of the hosts and systems I use. This means I will be concentrating on TWOG a bit less than I have been, but it won't go silent. I will post here EGBU notes related to my TWENEX.ORG TWENEX.ORG data as well as my accounts on Living Computer Museum's DEC-10 and TOAD-1. I will also eventually write my posts on FORTRAN and TECO since my short attention span will prevent me from 100% concentration on EGBU. [edited with|TECO]
DATE: 2014-01-30 I've spent my retro-computing time over the last couple of days mostly on a couple of mostly fruitless projects. The Lost Document: @TV is a full-screen version of the TECO editor (NOT Video TECO by Paul Cantrell). I assume it was an officially supported part of TOPS-20 since it's mentioned in the TOPS-20 User's Guide. The Lost Document is the TV Editor Manual, which is mentioned in the Guide and a couple of other online documents, but which itself has disappeared, or has never been uploaded to the Internet. I've searched Google, Amazon, Bitsavers, and the Internet Archive without success. Anyone have any clues where I might find a copy? Uncompilable Compiler: Tonight I tried and failed to compile the G95 Fortran compiler on my Zaurus PDA. The poor thing runs out of RAM before it can compile the GCC libraries required by G95. Not having a Fortran compiler on my PDA is the only shadow over my Fortran love affair. : http://videoteco.sourceforge.net/ : http://tilt.twenex.org/
DATE: 2014-01-27 Sorry for the break in posts, but I was away from home on a business trip last week without a decent telnet client. I have been meaning to write about my TWENEX-inspired love affair with FORTRAN, but I decided to write this post first. This story starts on the DEC-10 system at Living Computer Museum where I needed an editor to work on some FORTRAN source code, and it turned out that of the choices available, TECO, the Mother of Hacker Editors, was the one I knew the best thanks to a long ago interest in the origins of Emacs and a TECO survival guide that I created as an SDF tutorial several years ago. It was fun to brush-up my old (limited) TECO skills, but I wasn't satisfied with mere "survival" skills and figured out how to use wildcards in text searches and how to repeat a command over an entire file. Now I want to share this new-found magic with other TECO fans, but the question is whether I want to start a new "Thriving in TECO" tutorial or add to my original guide. The old guide takes too much scrolling for a cheat sheet, so maybe it's time to trash the idea of a survival guide and add the new, advanced material at the same time as I tighten- up the formatting. With that in mind, I've been trying to check the guide contents against available versions of TECO. On LCM's DEC-10, TECO works like my guide and the TOPS-10 TECO Programmer's Reference Manual say it should. TECO is even integrated into the monitor so that you can specify the file to edit on the command line, which seems to have been unusual in the TOPS-10 world. On TWENEX.ORG, we have both @TECO and @TV (Video TECO). However, neither handle command line file names. However, there's no documentation for either. @TECO seems to handle most of the TOPS-10 TECO commands except for EB (select file for input and output), and you can accomplish the same thing as EB by executing the ER (select file for input) and EW (select file for output) commands on the same file. @VT is a different implementation from the "Video TECO" that has a few reverences in Google. It appears to support the same editing commands, but I have yet to figure out any of the commands for file input and output. Andy Valencia (vandys) put his own implementation of TECO on the SDF cluster as part of the TWENEX project. I had trouble finding it until I figured out that the executable has been named `te`. Except for not supporting command line file names, it appears to work pretty much like the DEC-10 version, though I haven't tested it thoroughly. : http://www.catb.org/jargon/html/T/TECO.html : http://sdf.org/?tutorials/survival-teco : http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol03/AA-0999E-TB_TECO_Aug77.pdf
DATE: 2014-01-12 TWOG is now on the World-Wide Web! http://twenex.org/~PAPA/TWOG Now you can savor the scintillating repartee of TWOG from your browser of choice. The blog index page and Atom feed are generated by a program custom- crafted by your author in the venerable FORTRAN language on TWENEX.ORG itself. There is also a contact for that readers are encouraged to use to comment on TWOG posts. Check it out and subscribe!
DATE: 2014-01-12 Here's the source code for TWOG-Gen, my program for generating TWOG's blog index and Atom feed. It's a once-off program by a FORTRAN novice full of TWENEX dependencies, but it might be a reference for a someone trying to learn the language or the operating system. I was actually very impressed by FORTRAN, but I will save comments on that for another post. http://twenex.org/~PAPA/TWGGEN.FOR TWOG-Gen driver and HTML index generator. http://twenex.org/~PAPA/ATOM10.FOR Atom 1.0 feed generator subprograms. http://twenex.org/~PAPA/TWGGEN.CMD EXEC command list to generate input file then run TWOG-Gen.
DATE: 2014-01-04 I have two apologies to make for statements I've made previously in TWOG. First, to the Twenex Fortran compiler. My previous report of the lack of support for character string manipulation is due not to a short- coming of the compiler, but to my reliance on a manual outdated even by Twenex standards. The CHARACTER variable type was apparently not supported when the 1977 edition of the Fortran Language Manual was published, which manual I was reading instead of the recently located 1987 edition, wherein CHARACTER is documented. A quick compile proved that it is also supported by the Fortran compiler installed on Twenex. This puts Fortran back at the top of my list of candidate languages for my Twenex quick-and-dirty programming projects. Fortran has a bit more of a learning curve compared with C, but Fortran gives me tiny executable files and more retro cache'. It may also be useful on other old systems where C isn't available (like the Living Computer Museum's DEC-10 and TOAD-1). My second apology is to the KCC compiler. Previously I stated that the Twenex C compiler produces extremely large executable files compared to those generated from other language compilers. My comparison was based on the size of .EXE files produced for Hello World programs written in various languages. I realized that technically the .EXE files are produced by the linker program and not the compiler, but I mistakely assumed that the link step didn't make much difference in the size of the executable produced. My assumption was very wrong. Comparing the size of .REL files output by the various compilers for equivalent Hello World programs, KCC actually generates a file with respectably small size between that generated by MACRO assembler and those generated by the Fortran and Cobol compilers. The executable bloat in C programs appears to be the fault of the wrongly-assumed-innocuous linker.
DATE: 2014-01-03 Merry Christmas and a Twoggy New Year. I took the week off for Christmas, and have been able to putter around Twenex a bit. 1. Twog About TWOG While I'm waiting for my assembly language programming book, I decided there's nothing wrong with a little bit of hideous ad-hocery if it's for a good purpose like snazzing up TWOG's WWW interface. What I'd like to write is a quick and dirty program that reads the list of files in a directory (generated by @DIRECTORY), reads each file to extract a title and date, then outputs a blog-style HTML index file. Maybe following-up with programs to generate XML feeds, ... I've considered a number of languages for this ad-hoc programming: X Fortran: The most retro of programming languages, and the Twenex compiler makes tiny executable files. However, Twenex Fortran has almost no support for strings beyond printing literals. X Cobol: Also retro and crufty in its own, business-oriented way. The compiler makes tiny executables for simple Cobol programs, too. Took some help from the alt.sys.pdp10 crowd to figure out the magic words to make Cobol read a file. Then realized that the Twenex compiler is a refugee from TOPS-10 and can handle ONLY files with exactly 6.3-character names. Is renaming every TWOG file with a 6.3 name worth the fun of reviving my old Cobol skills? Probably not. ? InterLisp: This language looks more interesting everytime I look at it. I was very close to running with it, but the conceptual leap to Lisp is still a little too daunting for me. Hurt by not having a good tutorial that I can find. The Preface recommends "The Lisp 1.5 Primer", but it doesn't count as ad-hoc programming if I have to read two manuals before I can write working code. I will be back, though. * C: Yes, the Twenex compiler makes huge executables, but it's the most familiar and therefore rough and ready language here. I already have a program that can do simple parsing on the output from @DIRECTORY. 2. Fun and games I am ambitious to compile and run DECWAR and EMPIRE on Twenex. However, doing either one taxes or exceeds my disk quota, so I'm putting them on the back-burner until I can negotiate a quota increase, or create another account dedicated to one or both games. I tried Empire for the first time with the PC version. It's fun, but could use some tuning to make it less of a time sink. A game on a scale intermediate between EMPIRE and its inspiration Hammurabi would be ideal for single play. 3. Doodle VULCAN's DOODLE program give even more impetus to my quest to learn TOPS-20 assembly language. I'm amazed at what he made a teletype terminal do. Check it out if you haven't already: @EX DOODLE : A Fortran Hello World executable is about 3000 bytes in length. Compare with 1000 bytes for a similar program in MACRO assembly language, and 20,000 bytes for one in C.
DATE: 2013-12-24 o/~ I've got it bad, so bad, I'm hot for MACRO! o/~ VULCAN has played Mephistopheles to my Faust and convinced me to dive into assembly language. I ordered a copy of Ralph Gorin's classic Introduction to DECSYSTEM-20 Assembly Language Programming after finding a copy on AbeBooks.com in the UK for 25 USD. Then I logged-in to twenex.org and @TODAY informs me that today, Christmas Eve, is Ralph Gorin's birthday. Can you say, "Destiny"? I note that the Wikipedia page for MACRO-10 has a very straight-forward Hello World program in MACRO along with instructions for compiling, linking, and running it on TOPS-10. For reference, here is the procedure for doing the same on TOPS-20, where the program works fine: @compile hello.mac /list MACRO: HELLO EXIT @load LINK: Loading @save HELLO.EXE.3 Saved @hello HELLO, WORLD! FROM MACRO-10 Today, TWENEX, tomorrow, the world! ----- : https://en.wikipedia.org/wiki/MACRO-10
DATE: 2013-12-13 A TWOG about the TWOG. Since TWENEX.ORG's web server seem to be running fairly stably recently, I've been think of creating a simple blog-generator for the site with TWOG as the flag-ship example. I soon hit a snag in that of all the wonderful high-level languages installed here, none of them seem to have a way to do something as simple as read a list of file name from a directory. Of the few examples where such a feature is documented in a manual, the Twenex installation is missing the crucial library or function needed to make it work. I'd almost resigned myself to some hideous ad-hocery, like using @DIR to save a list of directory files for input to the blog generator. However, an unexpected e-mail from user VULCAN reminded me of a truth I'd discovered before: In DECsystem-land, the funnest code is in MACRO assembler language. With VULCAN's encouragement, I may finally give in to the dark side, and hack anything I want with TECO and DDT.
DATE: 2013-12-16 I had almost settled on learning Maclisp since it's available on so many of the retro systems I've been playing on. Interlisp is only available here on Twenex.org as far as I know, but it has some unique features that I think make it worth getting to know. I mentioned Interlisp briefly a few posts ago, but it's designers put more emphasis on the interactive programming environment than on the language itself (the INTER in Interlisp is for interactive). It is as though they started from a concept like Dartmouth BASIC where the user works with the programming language inside an all-in-one environment where he can write, edit, run, debug, save to disk, and recall programs from a single command shell without having to know anything about the operating system running underneath. Except instead of targeting users with no previous computing experience like BASIC, Interlisp targets (sophisticated) programmers. The programming environment is supposed to let the computer keep track of "bookkeeping" as much as possible, freeing the programmer to think deep thoughts about his program. In addition to the context-sensitive DWIM spelling corrector, the Interlisp environment integrates change management, cross-referencing, and a Lisp- oriented editor. ... In other news, I found the FORTRAN source for the original PDP-10 game EMPIRE. I'll try to get it compiled and running.
DATE: 2013-12-13 In addition to dusting of my account here on Twenex.org, I've also been rediscovering the PDP-10 systems (DEC-10 and TOAD-1) at the Living Computer Museum and the public ITS hosts (SV and UP). From the instant one dips ones toe into the ocean of retro computing, one finds a distractingly large number of directions for potential exploration. Only it's a little strange that none of these systems appear to have Scheme installed. That's especially surprising for the ITSs. Last night I looked into Muddle a little more. It's a version of Lisp developed in 1971 that anticipated several features of both Scheme and object-oriented programming. Since it was the language used for the original version of Zork, I was especially curious whether it might include features aimed at adventure game development. Unfortunately, though it is an interesting language, Muddle doesn't appear to have any specifically game-oriented features. Also, although there are three extensive manuals available, none of them have much in the way of practical examples, making it a little hard to get into programming in Muddle. The original Zork source is available, though. The final nail in Muddle's coffin is that the MDL105 executable here on Twenex.org seems broken, crashing every time I try to define a function.
DATE: 2013-12-01 I'm still toying with picking up a Lisp dialect for programming on TWENEX. InterLisp (@LISP) appears to have been one of the grand old Lisps from the days before Common Lisp developed at BBN and favored at Stanford. It's got an interesting interactive development environment with Do-What-I-Mean typo correction and parentheses balancing tool. MacLisp (@MACLISP) is the grand old Lisp from MIT and the biggest influence on Common Lisp. Probably best dialect for applying what I learn on Twenex to Common Lisp programming on other platforms. Muddle (@MDL105) is interesting because it's the language in which the first version of Zork was programmed. The documents say it's an "improved version of Lisp" which sounds great, but the initial impression it gives is like Scheme but with angle brackets instead of parentheses. It also seems to have implemented several functions that would eventually become part of object oriented programming. This might be particularly fun to learn.
DATE: 2013-11-29 No sooner back than I start thinking about programming. So many interesting choices, @LISP (Interlisp), @MACLISP, C, .... I remember the possibility of using @FORTH motivated me to learn the language. I also remember being a little disappointed during one my earlier tours of TWENEX.ORG when I realized that most of the interesting programs here were done in assembly language. Why disappointed? I guess because I couldn't find any tutorials or much documentation of any kind on either @MACRO or @MIDAS, and then whatever work I did couldn't be used on any other systems. ... Though I guess that's nearly true of the old Lisp systems, too. So C or Forth, after all? Still, it's good fun picking at the old bones and making them dance.
DATE: 2013-11-28 ... and and my spirit has returned again to TWENEX.ORG. @VDIR shows the latest file update in January 2012, so it's been nearly two years since I've spent much time here. Brushed up my TWENEX skills with @TOPS20 and @HELP NEW-USERS (TWENEX.ORG's web server is on the fritz again, so the I couldn't read it in a browser; should put a copy in SDF tutorials). Delighted to rediscover the card game @GIN, which I'd been wondering where it had disappeared to. I've spent many years relaxing with that game.
|XML||Sun, 26 Mar 2017 00:03:28 +0000|
|An Incomplete Truth||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Andrew Gray's blog||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|bcokerworks.motd.orgbcokerworks.motd.org||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Burton Library||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Erin's weblog of travel & interesting local stuff||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|http://nofixedpoint.motd.org/||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Iain R. Learmonth's Personal Website||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Idris's e-dribble||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Images created by light on a sensitive surface||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|IMHO||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Mark Cornick||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Modern Geekery||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|nblade's MOTD Pages||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|nybbles.motd.org||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|papa's cave||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|polis||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Retrospection||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Scholarist||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|SDF Deskshots||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|SDF Forum||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|SDF Forum||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Stoner's World||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Summa minutiae||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|the correct shade of blue||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|The Lonely Cabin||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|The Post Hermitage||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|The WA5PB Blog||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|toobnix.org [v0.7a]||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|trap.motd.org||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|Tu's Life on the Super Dimension Fortress.||XML||Sun, 26 Mar 2017 00:03:28 +0000|
|wtf is the internet?||XML||Sun, 26 Mar 2017 00:03:28 +0000|