points by Evolved 9 years ago

George R. R. Martin said he still uses it and one of the reasons he cited was that he types all his novels on a computer not connected to the Internet so he doesn't have to worry about hackers leaking his material and also because of all the names, places, etc. in the book being made up, it doesn't have spell check to keep interfering with his writing.(0)

(0) http://www.slate.com/blogs/future_tense/2014/05/14/george_r_...

ralfd 9 years ago

Hackers, sure … we know the real reason is he doesn't get to procrastinate on the internet.

  • imgabe 9 years ago

    Not that that has helped the writing happen any faster...

    Or maybe it has. Maybe we'd still be waiting on Book 2 if he had Internet on the writing computer.

technosmurf 9 years ago

WordStar is popular with science fiction writers for more fundamental reasons. (Not because it doesn't have spell check or isn't connected to the internet.)

Wordstar treats the text like a long-hand manuscript. You can add notes to yourself like "fix this!" and deal with the edits later. Or, you can block copy large sections of text and have the computer keep a reference to it without having to "copy and paste" it immediately. I've seen George RR Martin write that he likes how easy it is to move large sections of text around in WordStar.

Here's how the SF writer Robert J. Sawyer describes it:

"... as a creative writer, I am convinced that the long-hand page is the better metaphor.

Consider: On a long-hand page, you can jump back and forth in your document with ease. You can put in bookmarks, either actual paper ones, or just fingers slipped into the middle of the manuscript stack. You can annotate the manuscript for yourself with comments like "Fix this!" or "Don't forget to check these facts" without there being any possibility of you missing them when you next work on the document. And you can mark a block, either by circling it with your pen, or by physically cutting it out, without necessarily having to do anything with it right away. The entire document is your workspace...

WordStar's ^Q (Quick cursor movement) and ^K (block) commands give me more of what I used to have when I wrote in longhand than any other product does. WordStar's powerful suite of cursor commands lets me fly all over my manuscript, without ever getting lost. That's because WordStar is constantly keeping track of where I've been and where I'm likely to want to go. ^QB will take me to the beginning of the marked block; ^QK will take me to the end; ^QV will take me to where the marked block was moved from; ^QP will take me to my previous cursor position. And, just as I used to juggle up to ten fingers inserted into various places in my paper manuscript, WordStar provides me with ten bookmarks, set with ^K0 through ^K9, and ten commands to jump to them, ^Q0 to ^Q9...

WordStar, with its long-hand-page metaphor, says, hey, do whatever you want whenever you want to. This is a good spot to mark the beginning of a block? Fine. What would you like to do next? Deal with the block? Continue writing? Use the thesaurus?

After another half hour of writing, I can say, ah hah!, this is where I want to end that block. And two hours later I can say, and this is where that block should go. I'm in control, not the program. That's clearly more powerful, more intuitive, and more flexible than any other method of text manipulation I've yet seen implemented in a word processor. That WordStar lets me have separate marked blocks in each of its editing windows multiplies that power substantially: imagine doing a cut and paste job between two versions of a paper document, but being told that you could only have one piece cut out at a time. Madness! Yet that's what WordPerfect, Microsoft Word, and others would force you to do. (In WordStar 7.0, you can even, in essence, have two marked blocks per window, toggling between them with the "mark previous block" command, ^KU.)"

http://sfwriter.com/wordstar.htm

  • Vexs 9 years ago

    Wow, it kind of sounds insane that we don't have multiple-copy paste by default now. Come to think, I can think of a bunch of times where I open up notepad to store a copy-paste.

    • BMarkmann 9 years ago

      Emacs kill ring?

      https://www.gnu.org/software/emacs/manual/html_node/emacs/Ki...

      It takes a while to get used to it, but once you understand it / use it in anger, it becomes tough to live without.

      • smacktoward 9 years ago

        Only in unix-world would it be considered wise to call the place where you put blocks of text for later use the "kill ring."

        • klibertp 9 years ago

          Nothing to do with Unix, it's an Emacs thing.

          In Emacs, what you nowadays call "cutting and pasting" is instead called "killing and yanking". It was called that way even before "cut" and "paste" got popularized, I think.

          And the "Kill Ring" name makes sense, as it a) contains snippets of text you killed and b) when yanking (pasting) lets you cycle through all the killed snippets. You can view your kill ring in its entirety via a menu or with a plugin (kill-ring-browser or similar, I forget).

          Emacs is old and brittle, but its basic editing model is very good. It does lack (without plugins) some features I learned in Vim (the most irritating thing at the beginning was a lack of "textobjects"; I still occasionally miss them, despite expand-region and other plugins), but is basically the only editor that I feel is worth learning.

          • Avshalom 9 years ago

            >>In Emacs, what you nowadays call "cutting and pasting" is instead called "killing and yanking". It was called that way even before "cut" and "paste" got popularized, I think

            Cut and paste refer to literal scissors/knives and glue/paste it predates the Gutenberg press.

            • klibertp 9 years ago

              Ok, I stand corrected. And it seems rather logical, too.

              So where do "kill" and "yank" names come from?

              • JadeNB 9 years ago

                > So where do "kill" and "yank" names come from?

                This is discussed a bit on ESE, though the explanation seems vi-centric: http://english.stackexchange.com/questions/40657/how-yank-ca... .

                • microtherion 9 years ago

                  One of the crazy aspects of Unix text editors is that "yank" means nearly the opposite in vi (where it stands for copying) as it means in emacs (where it stands for pasting).

                  • Retra 9 years ago

                    First time I heard that yank means "yanking from the buffer" I figured I'd had a mini stroke.

            • MengerSponge 9 years ago

              Emacs is based on arcane incantations and Elder horrors. It predates creation and sanity. :p

          • smacktoward 9 years ago

            > Nothing to do with Unix, it's an Emacs thing.

            Yes, I know that. It was a joke that used the specific example of Emacs to illustrate a point about how tone-deaf Unix developers can be about UI issues.

            > In Emacs, what you nowadays call "cutting and pasting" is instead called "killing and yanking". It was called that way even before "cut" and "paste" got popularized, I think.

            Sure, but it's been pretty much universally referred to as "cutting and pasting" everywhere for what, two decades now? The Emacs terminology is a wart, a relic of a bygone age. There's no reason to continue using it, except inertia.

            > And the "Kill Ring" name makes sense, as it a) contains snippets of text you killed

            This only makes sense if you accept that there is a reason to continue referring to that interaction as "killing" rather than "cutting", which (as is probably clear from the above) I do not. The world has settled on a set of terms to describe these interactions, persisting in using ancient ones just because they're what have always been used just makes Emacs harder to learn that it should be.

            (Which may of course be the whole point; surrounding common interactions with unusual terminology is a good way for people who already know Emacs to state to outsiders that they are keepers of arcane knowledge beyond the common ken of man. But social signaling is a shabby motivation for user interface decisions.)

            • Karunamon 9 years ago

              Inertia has a way of preserving value in a way that's easily overlooked. Consider the "save" icon - still commonly represented as a floppy disk even though there's an entire generation in the workforce that grew up without ever touching one.

              It would almost cost more to change it (just in lost productivity) to be "correct" than it would be to just keep the association. I think the same is true for the editors.. changing the terminology would also mean changing a lot of mnemonics. Vim uses D and Y for kill (delete) and yank. C is already bound to another function, and there's an ambiguity there between "C"ut and "C"opy. (P is "P"aste, as you'd expect)

              Just because you're unaware of the reasons for the design is not good enough reason to dismiss the UI design as "social signaling" and tar the whole of the userbase with that kind of accusation. It seems you have an axe to grind against those SmugEmacs(Lisp)Weenies[1] :)

              [1]: http://c2.com/cgi/wiki?SmugLispWeenie

              • Gorgor 9 years ago

                Vim uses y and p to yank (cut) and put (paste), not K and Y. Of course, there are other ways to yank (Y, d, D, …). Ultimately, at least the y goes pack to the ex command y.

                • Karunamon 9 years ago

                  ..Now why the heck did I think cutting was on K. D'oh!

                  Still, I think it's a conscious design decision, something along the lines of "why not just store deleted text, rather than having a separate clipboard-like feature".

                  • groovy2shoes 9 years ago

                    Yep, and vi even gives you multiple registers in which to store yanked or deleted text. In vim, you get [a-zA-Z0-9\-"] all as registers! Just type "x where x comes from that character class, to use a non-default register (the default register is ", so if you want to explicitly use the default register when deleting a line, you could do: ""dd ).

                    It's similar to how marks work, as well.

              • minitech 9 years ago

                > changing the terminology would also mean changing a lot of mnemonics. Vim uses D and Y for kill (delete) and yank. C is already bound to another function, and there's an ambiguity there between "C"ut and "C"opy. (P is "P"aste, as you'd expect)

                You corrected the Vim key (D instead of K), but now it doesn’t support the conclusion. Cut, copy, and paste are already typically bound to Ctrl+X, Ctrl+C, and Ctrl+V, which people seem to use fine without mnemonics. Does anyone actually think “hmm, which key is it to yank text in Vim? Ah, right, y for yank”? (Well, probably, but I imagine they’re the minority.)

                • klibertp 9 years ago

                  > Cut, copy, and paste are already typically bound to Ctrl+X, Ctrl+C, and Ctrl+V, which people seem to use fine without mnemonics.

                  I think it's like this: for the most often used functions it's more important to make keybindings convenient to press (your keyboard and the shape and size of your hands matter here!) than memorable/backed with mnemonics. The idea here is that you're going to be using them all the time, so you'll remember them anyway, no matter how "unintuitive" they seem. Functions used less often, on the other hand, should be bound to something that is guessable and/or easy to remember.

                  A side effect of this is that, once you set everything that way, you're going to be bound to a particular (physical) keyboard model. I accept this lock-in, because I spend half my life typing on a keyboard and I'm picky when buying keyboards anyway.

                  A couple examples: screen uses C-a while tmux uses C-b as a prefix key. The first thing I did after switching to tmux was to remap the prefix key back to C-a (with C-a C-a standing for normal (readline) C-a), not because I was that used to C-a, but because (again, on my keyboard) pressing C-a is easier done with one hand.

                  In StumpWM C-t is used as a prefix by default. I immediately remapped it to C-z (with C-z C-z representing normal C-z) for the same reason.

                  In Emacs, one of the first customizations I did was to pack all window-related commands under C-w prefix ('w' like in 'w'indows...). C-w C-s now means 'w'indow 's'plit, C-w C-v 'w'indow split 'v'ertically and so on. Here the chords are both easier to type than the original bindings and easier to remember.

                  As programmers we spend 1/3 of our lives (at least, I think) working on a computer, and significant chunk of that time working inside an editor. It makes no sense not to customize the tools we use to the point where they are optimal for our particular "setup" (in quotes, because again, I also mean size and shape of your hands, your habits from earlier work, your keyboard and your desk).

                  • bshanks 9 years ago

                    I've enjoyed a Vi-emulation keymapping that i made where the primary movement keys are on the home row:

                    https://github.com/bshanks/viperre

                    I also use the Colemak keyboard layout, so i made two versions of the mapping, one for QWERTY, one for Colemak. Which highlights the importance of text editors (and IDEs) needing to have completely configurable keybindings.

            • groovy2shoes 9 years ago

              "Cut Ring" just doesn't have as nice of a ring to it as "Kill Ring".

          • gcr 9 years ago

            Modern emacs isn't old or brittle anymore. Heck, we even have text antialiasing now for users with graphical displays! :-)

        • tincholio 9 years ago

          You have to admit that it's an apt name for something George R.R. Martin could use, though.

    • avian 9 years ago

      I seem to remember that Windows had at one point something called "clipbook". I was under the impression at the time that it was about multi copy-paste, but I never figured out how it worked. Probably few people did.

    • blakeyrat 9 years ago

      Microsoft Office shipped with a utility to do that back in the Office XP era. I don't recall it being very popular, and I'm not even sure they still ship it...

    • thavalai 9 years ago

      You should try a clipboard manager (on Windows, I use 'ditto.' Search for 'ditto clipboard manager.')

  • blacksmith_tb 9 years ago

    There are more modern word processors that implement many of these features, for example Scrivener[1] and Ulysses[2]. Clipboard managers also help quite a bit, I can't do anything without one these days (but I also have a lot of commonly-used commands and blocks of code stored as snippets in mine, so it isn't just for juggling).

    1: http://www.literatureandlatte.com/

    2: http://ulyssesapp.com/

  • atombender 9 years ago

    Borland's IDEs (Turbo Pascal, etc.) also implemented the WordStar keyboard shortcuts and block behaviour, and it was amazingly productive.

    You could mark a block (^KB to start, ^KK to end), and you could move around, find a place to insert it, then hit ^KV to move it there. Borland's IDEs also had selecting (using shift+arrows like many UIs today), and didn't affect blocks, which meant you could do some really fast editing by combining them.

    The WordStar keystrokes currently survive in JOE [1], which I use as my $EDITOR. There's also a tiny Atom plugin [2] which gives you those block commands.

    [1] https://en.wikipedia.org/wiki/Joe%27s_Own_Editor

    [2] https://github.com/iarna/atom-joe

    • segmondy 9 years ago

      vim and emacs provides that. with vim, you can yank go to where you want to paste it and insert in in. if you want to see it visually you can use the v command, in emacs, it's called yank-pop.

      • lobster_johnson 9 years ago

        I don't know vim or Emacs — does the marked region stay in place, still marked, while you travel elsewhere to copy/move it?

        • anthk 9 years ago

          Yep.

          • LukeShu 9 years ago

            As an Emacs user: wait, what?

            • dredmorbius 9 years ago

              Mark start and end of region you want to move somewhere: "ma <navigat> mb"

              Move to where you want to move the text.

              "'a,'b mo ."

              You can set up to 26 marks, a-z. I usually use a & b for start and end of a move block, and start from the bottom of the alphabet for things I want to refer to later. It's also possible to split the screen. So if I am editing and realise I've got to fix a bunch of instances of something, I'll split the screen (to save my place), then do the edits in the other window, return to the first when done, and close the temporarily created one.

    • dalke 9 years ago

      The phrase I remember was that the WordStar key commands were no one's favorite commands, but everyone's second favorite. That is, everyone in microcomputing in the 1980s knew and could use the ^KB, etc. set, but preferred some other editor's way of doing things.

      Looking around now, this may have come from Phillipe Khan and Sidekick. Quoting Jim Mischel at http://www.mischel.com/diary/2005/08/22.htm :

      > While I'm on the subject of WordStar, I've heard a story that I haven't been able to verify. When Phillipe Kahn was asked why he chose to use the WordStar command set in the first version of Sidekick, he said that he asked a lot of people for their editor preferences. Almost everybody had a different first preference (back then it could have been Emacs, vi, Word Perfect, WordStar, Brief, Leading Edge Word Processor, or who knows what else). But almost everybody he asked knew WordStar and named it as their second preference. I don't know if it's true, but it smacks of truth. Certainly every microcomputer programmer I knew back in the late 80s was proficient with WordStar.

  • segmondy 9 years ago

    vim, supports multiple yanks in it's registers, and so does emac.

    • girzel 9 years ago

      This is the real equivalent. I don't know vim (I assume it's similar), but emacs can put killed text AND buffer locations (and a lot of other things) into registers. To me, this is a mark of advanced Emacs usage -- familiarity and comfort with registers.

      • groovy2shoes 9 years ago

        Yup, you can put buffer locations in registers in Vim, but they're in a separate "namespace" from the yank registers. They're normally called "marks" (as in bookmarks) in Vim parlance.

            "[a-zA-Z0-9\-"][ypd]{,2}       -- Quote to specify a register,
                                              followed by an alphanumeric
                                              character (or hyphen, or double
                                              quote (the default register))
                                              followed by a yank, put, or
                                              delete command.
            m[a-zA-Z\[\]<>]                -- Set the mark indicated by the
                                              following character.  Lower-case
                                              characters are buffer-local,
                                              upper-case are global across
                                              all buffers in the session.
                                              [, ], <, and > are normally
                                              implicit marks: [] refer to
                                              the start and end of the last
                                              effected range of text, while <>
                                              refer to the start and end of
                                              the visual selection (if any).
            '[a-zA-Z0-9<>'`"^\.(){}]       -- Jump to the mark indicated by
                                              the following character. Numeric
                                              marks are set in the .viminfo
                                              file, while the special
                                              characters refer to various
                                              implicit marks, which I won't
                                              list here since there's so many.
        

        As in Emacs, I tend to think of it as a mark of advanced usage (but one among many, really). Navigating around in Vim is exquisite once you grok using marks. Vi had registers and marks as well, but marks were limited to buffer-local only, if I recall correctly.

        This reminds me -- I need to get back into Emacs and learn some more! Hopefully this time I don't get carried away writing Lisp all night again ;) Makes me yearn for a Vim that's configurable and extensible with Lisp (there's a plugin that enables writing extensions in Racket, but I'm not sure how much extensibility it actually affords compared to Vimscript -- my guess is that it's probably rather limited, I'm afraid).

  • dredmorbius 9 years ago

    Excellent description of writing mechanics. As several others have pointed out, vim (and emacs though slightly differently) through its mark, copy, and move commands offers similar mechanics.

    I've used Wordstar, though only for a year or so, and a quarter century ago or so. Memories...

raverbashing 9 years ago

So I assume he still uses floppies? Or an old version of Windows where this still runs?