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)
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.)"
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.
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.
> 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.
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.
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.
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).
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.
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.
>>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.
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).
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.)
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] :)
> 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.)
> 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).
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.
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.
..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".
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 ).
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.
MacOS back in the System 7 era (1990s) had a clipbook utility that shipped with the OS. MacOS had generally better copy and paste support in general though, since it could handle virtually any file format the computer could handle. Text, audio, pictures, even video were all valid in the cut buffer.
Windows has had clipboard format negotiation since the beginning. When an application copies data into the clipboard, it can do so in multiple formats. Each format can be rendered either eagerly or lazily by the application putting data into the clipboard.
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...
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...
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.
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).
Wordstar was good stuff! Between Wordstar and MultiWrite we sold hundreds of Kaypro machines bundled with loud as hell daisy wheel printers to my fellow college classmates. Unless they lived alone almost everyone returned a day or two later for the sound proofed printer enclosure.
Why daisy wheel printers? At the time our professors refused to take dot matrix printouts for class assignments or papers; it took a couple of years for Epson's higher print density heads to appear and produce "good enough" output.
More amusingly - WordStar inspired a slew of -star knockoffs including one for farm management called DirtStar. Urban Dictionary has a very different definition for that word today.
At least when I was selling personal computers out of a MicroAge what slowly strangled WordStar sales was IBM DisplayWrite and Word Perfect both of which served the legal community much better. Microsoft Word and Apple's MacWrite didn't help either. And to a much lesser degree IBM's choice of swapping the control and shift keys made WordStar's navigation unnatural. You either had to adapt or order a special keyboard with CTRL back where it belonged.
I've never forgiven them for that change. (Damn you, IBM! :shakes fist:)
I had to suffer through DisplayWrite at one job. What a horror. Word Perfect was .. nearly perfect. If only they had made the transition to Windows faster/better they'd still be a major force in the market.
DisplayWrite had a lot of traction because of IBM systems that came before it. The idea of running it on an IBM PC and later a clone was very appealing to people leasing IBM gear. I guess it's all relative.
Word Perfect's tutorials were so good my non-computer-literate wife taught herself to use it in the space of a couple of days. It was pretty darn good.
The WordStar mailing list at YahooGroups is still (occasionally) active, but shrinking, as many members are getting rather elderly...
A recurrent topic is how to keep the software working on the latest versions of Windows. Science fiction author Robert Sawyer recently posted definitive instructions: http://sfwriter.com/ws-vdos.htm
Ditto, I really recommend this book. Made me understand 80's software world a lot more, and especially not see Microsoft as being as evil as I liked to believe it was; merely the one who survived among a lot of companies doing really shady stuff.
I love this book as well. We really need a modern equivalent for the current tech "bubble" or even just for the dotcom crash and early 2000s. Does anyone know of something like it for more modern stupidity?
IMO, it's probably more accurate to say that big entities are often a more effective tool for evil than small entities. Of course, it's also probably accurate to say that big entities are often a more effective tool for good than small entities.
This is probably too much of a tangent on which to take this discussion, but the fact that big entities are a tool for evil might give rise to the further question: so why are there invariably people in big institutions who will try to use them as such tools? I would suspect that it such people exist in all institutions, almost regardless of size, but that there will simply be more of them in a bigger institution, and that they are more likely to be able to hide their wrongdoing from the sight of those who would promote a more idealistic mission (or else that they gain sufficient control of the culture that they have no need to hide).
You're right... this is a tangent, and I've been debating whether or not to respond for that reason. That said, a couple thoughts.
First: you focused on the 'evil' part of my statement at the exclusion of the 'good'. Is this intentional? I don't think it's possible to have a reasonable discussion if you exclude half of the 'domain'.
I don't really think that people within large corporations have a higher likelihood of intent to do evil than people within small corporations. However, given that a larger entity is a more effective way to effect change, I do think that both evil-doers and good-doers can be more evident in large organizations. There's also more of a network effect, etc. An evil-doer in a large corporation is more likely to have a spectacular impact and in a small. (ie: the collapse of Enron vs the collapse of the local propane shop.)
Coming back around to the good, I also think that modern civilization owes its continued existence to entities that are larger than we might be comfortable with. Providing energy, etc. for 7B people is just too big a problem to leave in the hands of something like a vast number of local propane shops, even if a bunch of local propane shops are somehow 'safer'. It's a lack of effectiveness that makes those shops safer and it's the same lack of effectiveness that makes those shops less likely to be able to address large-scale problems.
> You're right... this is a tangent, and I've been debating whether or not to respond for that reason. That said, a couple thoughts.
Hmm. You bring up good points, which I don't want to ignore, but I also don't want to be responsible for prolonging the tangent indefinitely. Let's say that I'll say my piece, and then you say yours if you like, and then we'll leave it at that, no matter how good your response is. :-)
> First: you focused on the 'evil' part of my statement at the exclusion of the 'good'. Is this intentional? I don't think it's possible to have a reasonable discussion if you exclude half of the 'domain'.
No, it was not intentional per se; it's just that the discussion prior to your post had been about evil, and that's what was on my mind.
> I don't really think that people within large corporations have a higher likelihood of intent to do evil than people within small corporations.
I think that this is pretty close to what I was trying to say here:
> I would suspect that it such people exist in all institutions, almost regardless of size, but that there will simply be more of them in a bigger institution ….
I meant to, but did not clearly, emphasise that I was not imputing a higher likelihood of evil to members of a bigger organisation; rather, it is just that the same probability in a larger sample space will produce more hits (of evildoers as well as "gooddoers").
> An evil-doer in a large corporation is more likely to have a spectacular impact [than] in a small.
I thought that I'd said something like this, but I find on reading my post that the closest I got was this:
> they are more likely to be able to hide their wrongdoing from the sight of those who would promote a more idealistic mission ….
Your way of putting it is better.
> Coming back around to the good, I also think that modern civilization owes its continued existence to entities that are larger than we might be comfortable with.
This is an interesting point, and probably true, although (largely out of inherent bias) I have a problem thinking of a large organisation as 'good'. I guess my belief is that people are basically selfish (evil is too strong), and that this selfishness in a large organisation is likely to act against me (at least if I don't belong to the organisation); and that the only principle that I give a chance against basic selfishness is personal ties and bonds, which are more likely to inform the actions of a small than of a large organisation.
Whenever you have a communication or resource bottleneck, you have the potential for corruption - either malicious or unintentional. Bigger institutions just have bigger bottlenecks.
Most authors I've met, once they get on a roll in writing they stick with whatever is working with them from manual typewriter, Commodore 64, or DOS box - if its making em selling books - why risk change.
You see this across all the creative fields… tools that are superior to Photoshop and Illustrator have cropped up countless times, but I’ve never met a photographer or graphic designer who could move beyond whatever it was he used in college. It’s a miracle that InDesign even managed to usurp Quark X-Press…
A lot of this is that these "superior" tools usually try to implement about 50% of the dinosaur's features. For people who don't use that last arcane 50% they're fine - but for people who do, they're useless.
That said the past few releases of Illustrator have been a mess and I've been getting really tempted to try and see if the latest version of Affinity Design can do all the Illustrator things that I've shaped my workflow around for the last decade. But I feel like if I'm going to spend the time to learn a new tool I'd really rather learn one that's going to open up new places, rather than just take me to the same place in a different way. Which is why I have Blender open in another window right now.
InDesign usurped Quark for a couple of reasons: everyone hated Quark, even people who used it on a daily basis, and Quark took forever to move from MacOS to OSX. That gap offered people a huge excuse to spend some time learning a new tool that held out a hope of sucking less.
Don't forget that Quark was also copy-protection mad and insisted on things like stupid hardware dongles if you wanted to actually use the software you bought from them. Forcing paying customers to jump through flaming hoops to use your products is a great way to turn them into ex-customers.
I hope he has his own Thoros of Myr standing by ready to breathe life back into him if he keels over at the keyboard... We don't need another Robert Jordan situation
I picked up the first Wheel of Time book and dug in. Wondering how many books there were I found myself on Amazon.
To find out that someone else finished the series. What!? Who was this guy? What has he done? So I searched for that. Mistborn, what's this?
The Robert Jordan situation is how I found Brandon Sanderson. I've since read all of his original novels (not Infinity Blade nor Wheel of Time — I still haven't gone back after finding Sanderson) and just started my fourth re-reading of the original Mistborn trilogy. I absolutely love it.
To me, the "Robert Jordan situation," though sad, has brought me many, many hours of joy.
That said, with the exception of Sanderson's Stormlight Archive (because he is an absolute writing machine), I'm done reading books in long series that haven't been finished yet. Besides, there's plenty of great stuff out there that's finished that's waiting for me to find.
>I'm done reading books in long series that haven't been finished yet.
That was my main takeaway from the WoT thing too, and we were lucky he was able to pass on his notes to Sanderson and talk him through the "vision". I'm not going to set myself up for that risk again. Looking at you GoT.
I've read through Kingkiller. And, like the rest of the world, am eagerly awaiting The Doors of Stone. That's the last time I'm taken by an unfinished series. :)
I love heists, so the first Mistborn book is my favorite — it's Ocean's Eleven meets fantasy. And, I thought that the whole trilogy (and beyond) was so cleverly pieced together that I re-read it each year. I like that everything has its place, even if it feels a bit too convenient now and then.
His Stormlight Archive series took me two tries to get into, but I'm so happy I did. The characters are well-thought-through, and each book (1,000+ pages) focuses on the backstory of one particular character.
And, I think the more impressive part of it is that almost all of his adult-fantasy books are connected, and that he's setting up a very, very large 36+ book arc that — for now — is only there if you look for it, but with each new book, the ties are coming together more and more.
> I think the best modern fantasy I have read is Richard morgans 'a land fit for heroes' series.
I came to these differently (through Morgan's Takeshi Kovacs series), but was equally impressed by them, and second the recommendation. If you're motivated to go looking for more, I'd say don't bother with Market Forces, and don't have high expectations for Thirteen.
> I think the best modern fantasy I have read is Richard morgans 'a land fit for heroes' series.
Check out The Castle trilogy by Steph Swainston. It is a great deal more original, thoughtful, and better written than most modern fantasy, and a very good read. Also it's a finished trilogy.
Sanderson's work in the original Mistborn Trilogy and in WoT are his best work IMO. unfortunately, the care he put into writing those books to get them just right is seemingly lacking from his more recent books. The most recent mistborn trilogy is laughable. It lacks any real tension, and the fallback on the deus ex machina is very very frustrating to the reader.
Sanderson needs to focus less on being a "writing machine" and more on being a writer.
Some of Sanderson's contemporaries like Lynch, Rothfuss, and Abercrombie have avoided this trap a bit better, but they have also published less.
I mean, he's even said it himself, the most recent Mistborn trilogy was not an attempt to further epic fantasy, but a different experiment all together. It's an exploration of different types of stories, but within a universe that was familiar.[0]
I think the jury on the Stormlight Archive series' care is still up in the air, considering what makes the original Mistborn Trilogy so great is how complete the story is, and we're only 1/5 of the way through SA's arc (with what, another 20 years left until they're done)?
I don't think stories need to be deep and epic to be fun and worthwhile. And while Rothfuss may write the most beautiful prose (and to me, he does), it turns out that I'd rather have quantity with above-average quality than a couple of masterpieces with supreme quality.
But hey, to each their own. At least we're reading things we find interesting. :)
Completely agree - and yes, he was going for something different with the recent mistborn stuff.
Have you seen Jonathan Renshaw's recent book? I'll definitely be following that one - simpler, more "standard" fantasy, but refreshingly executed so far.
We're saying a series where a third of the second book is about the main character having sex with a sex goddess and thus earning the sexual prowess to get laid with every tavern wench and attractive female he gets within 75 feet of is well-written?
Kvothe is a complete Gary Stu and exercise in wish fulfillment for Rothfuss.
This program was fantastic, given the limitations of the computers at the time.
WordStar ran well
on a 4 MHz Z80 computer
with 64K bytes of memory.
Go ahead, read that sentence again!
WordStar would try to update its (sort of WYSIWYG) screen display while you were typing, but it would often lag. That was because many computers were connected not to an internal video display card, but to an external terminal via an RS-232 serial interface running at 19,200 baud (1,920 characters per second). Fortunately the display output was as ASCII characters, not bitmapped, so that lessened the processing requirements quite a bit.
Whenever WordStar detected that its screen rendering was lagging behind the input typing, it would very cleverly "skip ahead" in the rendering. The result was that the computer felt quite responsive at all times.
Before I learned vim, JOE was my preferred editor. Back in the day, vim intimidated me too much for me to try to learn it, but nano felt horribly primitive and featureless. JOE struck the perfect balance for me. Of course, eventually I sucked it up and learned vim, and now it's my preferred editor, but JOE will always have a special place in my heart.
I'd recommend JOE to anyone who wants something that's easy to use but doesn't want something totally primitive.
> Wordstar was the product that invented the “what you see is what you get” notion later to be dubbed WYSIWYG
TECO Emacs was already as WYSIWYG than WordStar years previously, to say nothing of Bravo and other such PARC work from the early 1970s.
> It invented numerous features including overlays, later to develop into DLL’s.
Overlays date from at least the 1960s; Fred Brooks (I think? Unless it was Plauger?) famously lamented that the OS/360 linker had history's best overlay support, at exactly the moment that the advent of paged virtual memory made overlays obsolete.
Thanks for mentioning Xerox PARC's Bravo editor. This 1974 editor was the first WYSIWYG editor and supported multiple, proportionally-spaced fonts. If you look at the screenshots, Wordstar (1979) was character-based so I don't see how it could be called WYSIWYG.
The article says: "All modern word processors owe their existence to Wordstar". That's just nonsense, since the Bravo editor was written by Charles Simonyi, who then wrote Word. It would be more accurate to say that all modern word processors owe their existence to Bravo.
If you were printing on a fixed-pitch character-based printer (like most dot-matrix and daisy-wheel or golf-ball "letter-quality" printers of the time) then what you saw on the screen in WordStar was very much like what you would get on the printer, although WS did support bold and underline, which typical terminals didn't. Also the terminals were usually white (or green, or amber) on black, while the printers were invariably black on white.
Do you know how far back screen editing (WordStar-style "WYSIWYG") in TECO goes? I'm pretty sure DEC TECO didn't have screen editing even in the late 1970s, and CP/M ED certainly didn't, which I am guessing means MIT TECO didn't have it at the point that DEC forked it. But it wouldn't be very surprising to me if MIT TECO had screen editing before 1974.
> An implementation of TECO (a version of which is the standard DEC editor) was built on Multics in 1971. This version was derived from the original TECO implementation, on the MIT AI Lab's PDP-10 [TECDOC]. Unlike the latter, Multics TECO has no display support, and does not have the complex control-structure constructs of the AI Lab editor.
You will note, though, that even with screen editing support, TECO remained shamelessly command-oriented and modeful until the adoption of "Control R mode" in the late 1970s, presumably inspired by Bravo's less-modal interface. (I hesitate to say "modeless," though it was close.)
I think "the Bravo editor was written by Charles Simonyi" is at best oversimplified. One version of the Bravo manual says, "Bravo was designed by Butler Lampson and Charles Simonyi, and implemented mainly by Tom Malloy, with substantial contributions from Carol Hankins, Greg Kusnick, Kate Rosenbloom, and Bob Shur." I don't think Simonyi wrote much of Word either, except in the sense that Reagan "wrote" Peggy Noonan's speeches; in Programmers at Work he talked about his process and about Tom Malloy: https://programmersatwork.wordpress.com/programmers-at-work-...
I'm thinking I don't have all my facts straight with this question, but:
A really successful bookstore in my town has been using a networked DOS POS system since as long as they've had POS software. I asked about it once, liking the look of the old monitors and antiquated user interface, and I thought they called it Wordstar. They gave me some more details like how there is still one support company that will actually help them from time to time when they need something looked into. Mostly saying that they've never moved on because it does (almost) exactly what they need.
But now I'm thinking I either a) misheard them, or b) I'm just confusing myself right now because the wording was similar.
Has Wordstar been used in addition to word processing for custom solutions/software?
edit: giving it some more thought, I'm now wondering if they were using Wordstar or otherwise for inventory purposes only, and using ANOTHER piece of software for the actual sales.
I remember sitting with John Dvorak at his private party in the Sands at Comdex in Vegas. John was buying and we got very very drunk. The occasion was a wake for the obvious demise of Wordstar, which we both preferred. Word Perfect basically out marketed Wordstar by giving away tens of thousands of demo copies at Comdex and Soft-Sell. Word Perfect had a half-assed WYSIWYG but John called it WISHYWYG (you wish what what you see is what you get). The doomed Wordstar was a better product in almost all respects, but Word Perfect was able to market them out of business.
>In four months Barnaby wrote 137,000 lines of bullet-proof assembly language code. Rubenstein later checked with some friends from IBM who calculated Barnaby’s output as 42-man years.*
That effectively makes Barnaby 42*3 or 126 times more productive than a normal programmer!
I wrote in assembly for a while and the best that I could say was that I eventually could write something in assembly roughly as fast as I could in C.
The key for me was building up my personal library of macros. Because of this, I wouldn't be productive working on your code and (unless you are Barnaby-level) I doubt you would immediately pick up on what I wrote.
I don't know. I suspect it would be a pretty safe bet that an IBM programmer would be within a standard deviation of mean productivity output: any less, and they would be culled; any more, and they would leave. +/- 1 sigma covers 2/3 of the population or so, right?
I've often been at the start of a project and campaigned to have undo support baked in at the start. To me, it's not one of those features you should leave until when it's needed, as it affects the design of the entire system.
I've never managed to persuade product owners to bake it in, though - and so far every time I've pleaded to do so, they've ended up asking for it later (after swearing they'd never do so at project start).
I've considered picking designs that support undo without getting explicit approval to do so, but there's an additional complexity involved that means juniors will raise questions about the design and eventually you would have to admit 'so we can support undo', so that's not wise!
WordGrinder's data model is that a document is a Lua table (== array) of paragraphs; each paragraph is a table of words; each word is a string. This means that the data structures are all reasonably small in most common use so I can get away with O(n) insertion within them.
What I did for undo support was that I made paragraphs and words immutable; adding a word to a paragraph actually copied the paragraph, with the new one referring to the same words that were in the old one, plus the new word. Again, all quite cheap because the structures were small. But this means that I can now copy the entire document for each level in the undo stack, because I since paragraphs are immutable I can share them across multiple levels in the undo stack.
Surprisingly, it worked.
The tl;dr here is: immutable data structures are awesome, and I should totally have designed in undo right at the beginning.
Tell them it's for debugging: a runtime-reversible action log lets you track what the user did and step back while the program is still running. Even if it's never used for that, junior developers might be impressed by your forethought...
By the way, it's curious how some developers are happy to spend inordinate amounts of time building abstractions to help themselves, but are opposed to building abstractions that would help the user (like an undo architecture).
Agreed. Undo can be almost trivial if you bake in support at the start, it can become orders of magnitude harder to add later. In projects where I have any say in the matter, undo is there from day one.
To me Undo is one of those features that make a lot of sense internally because it forces a certain structure to your data. Whether you're doing it by commands or snapshots, the end result is a heavy separation of concerns that makes a product's internal architecture easier to maintain in the long run.
Having a user-facing "undo" action at that point is almost a side effect of just good internal metaphors.
"Eventually Word Perfect rose to the top based on its superior support program"
Wordstar 2000 wasn't bad, and was far more accessible than Wordperfect that had a distinctly unfriendly learning curve for non techies. Many never took to Wordperfect as you had to learn its codes and it wasn't even WYSIWYG. Even when it became so it was grudgingly and only sort-of.
Wordstar floundered around for a decade seemingly with no idea where they were going. That they survived at all through that period is surprising and speaks of the success of the earlier product.
Keyboards got cursor keys and mice, so the Wordstar diamond wasn't as great/needed anymore for the general user.
It has its fanbase, but then again, a lot of dead word processors do. Especially amongst journalists, where Amiga word processors and XyWrite still are being kept alive artificially...
Given that the Amiga never got a strong hold in media outlets unless it was video related, the statement "especially amongst journalists" needs some backing.
Back in the day, even Amiga magazine weren't done on the Amiga. AFAIK, most used what the industry used (that is, Macs).
I was mostly using it as an example for something quite rare and seemingly weird, even compared to WordStar or WordPerfect. If your newspaper, magazine or website uses some kind of CMS that's based on text files, any old editor or word processor would do. It's not like they'd accept the native formats of WordStar/XyWrite, so once you're down to .txt, anything goes (if UTF-8 is mandatory, some more tech savviness might be required).
I think that an Amiga was explicitly mentioned in an old article about Germany's heise publishing house (mostly known for tech publications, so maybe a bit more accepting in that regard). Germany also had a pretty large Amiga fanbase, so that might bias things.
(And I remember Ataris being quite popular in publishing, too)
I used XyWrite extensively back in the DOS era. I recall that it was favored by newspaper and magazine writers because the codes matched the Atex typesetting system, and you could configure it to match line lengths of your typeset output. But the features that made it nice in a non-wysiwyg environment were of little value later.
Also, the followup product had some pain in the ass DRM system and above reasonable price point. The exact kind of innovations you start to see when the company stops caring about making the best product possible and instead wastes a lot of time and energy fighting pirates.
"Two months before the public offering in 1984 disaster struck Rubenstein. Not someone who anyone would describe as low-key, Rubenstein suffered a heart attack. Back in 1980 or so he made the mistake of bringing in a venture capitalist who was introduced to Rubenstein by Rubenstein’s brother’s brother-in-law. That kind of combination had the words “bad idea” written all over it. “It was the biggest mistake I ever made in my life,” says Rubenstein. The guy was Fred Adler who sent Fred Haney into Seymour’s hospital room with a document that Seymour had to sign converting all his stock into non-voting stock “or the public offering would be killed.” Rubenstein who still shudders when he thinks of his brush with death says he was so frightened by the heart attack that he wasn’t in the mood to argue with anyone about anything. From that moment the company lost its edge. Haney, an ex-Sperry-Univac guy took over as CEO at Adlers request."
How is forcing the guy to sign away his voting rights while he was in the hospital legal? I am definitely not a lawyer, but I thought contracts signed under duress aren't enforceable. Could a good lawyer have gotten that contract nullified?
> How is forcing the guy to sign away his voting rights while he was in the hospital legal?
Well, the concern from the standpoint of the other parties would that he would die, and his voting rights pass on to someone completely non-technical and/or non-entrepreneurial. I can see that it makes perfect sense to protect themselves against that eventuality.
Maybe it'd be better to have terms to convert to non-voting shares at death or permanent incapacity, with voting rights to be exercised in proportion to the other votes cast during temporary incapacity. But that could definitely get hairy too.
Being in a hospital isn't duress. Threatening to put someone in the hospital is duress. He might have had a lack of capacity argument, that is he was so out of his mind that he was unable to sign a contract, but I am not sure if that applies either.
I was already aware of the VC angle before making the first comment, as far as I can see they had a very active role in bringing wordstar down (you can debate if that qualifies as murder or not) and if you disagree with that Microsoft Word successfully eradicated the remains of wordstar (and many other word processors of the day) I'm perfectly OK with that it just does not match my recollection of the events at the time.
It also heavily depends on where you were - in some countries, it was a loooong time of nothing and then MS Word. Nearly 30 years of MS Word to date and no signs of any competition, actually...
I haven't touched a microsoft product in a decade now. Which leads to fun stuff when family wants me to look at their computers and I can now honestly say I have no clue how the current version of windows works.
That was what generally happened. Microsoft Word (for DOS) never got much traction, while Word Perfect (for DOS) mostly replaced WordStar (on CP/M and DOS). Word (for Windows) started to take over after Windows 3 came out in 1990.....
I used to use Wordstar a lot in young age. There was another software I used to use, which would let you create tables by hand, and let you fill data in it. For the life of me, I can't recall the name of that software. Unlike today's HTML tables, things were really WYSIWYG back then, between your monitor and the dot matrix printer.
I think I used that software too. I don't remember the name either. It was sold as a database program (those were early days for relational) and they tried to present a database as tables in WYSIWYG. So everything was filling-in graphical tables and then defining operations on them (in some customized BASIC.) Actually, I remember that program as being very popular at the time. I seem to remember that they eventually abandoned the "graphical relational database" and became more focused on the graphical creation of the reports produced.
I don't think it was Reflex...I think I was still on CPM. It seems like an early precursor to that program though. Honestly, my memory is pretty fuzzy - it wasn't much of a database program, it mostly just reorganized the tables in some simple ways (I remember wondering if the program's authors really understood relational. They seemed to be mostly just creating tables and doing a few operations. Jumping on the relational buzzword.) It was impressive to see it build boxes though - in those days, that was an accomplishment.
I remember an interface that was changing quickly. The first release was pretty useless - great demo but almost no useful purpose. Each release was dramatically different - lots more colors and more additions of their custom basic to try to add "relational"-type capabilities (I was trying to make it work as a small database - but it really just presented tables and did some simple reorg.) I enjoyed showing it to people in the office - they were always impressed by the "GUI". About that same time another database builder product came out - it was exclusively basic but with a custom editor that I remember impressed me. So switched to that. I do remember going back to the original program later and finding that they had pretty much abandoned their "table entry" gui. It really didn't scale to anything useful in the context of a database - and trying to define operations from that perspective just made everything "hidden" behind their table gui. (I also worked part time in a computer shop. I was a complete geek. So I always got the latest CP/M and Apple software and hardware.)
Edit: I do remember a lot of orange at one point.
None of those names sound right to me. Back in those days someone could write some software, put it on a floppy, xerox some instructions and put it all into a big plastic sandwich bag. Our computer store would then put it on a shelf to sell. That was how it was done back then. I remember calling a couple of companies and talking directly to the developer. Most of the products you mention came much later. It wouldn't surprise me if there isn't any information about those early products - except among a few old timers on blogs like this one. And some products were strictly regional - depending on which computer stores were visited by the developer. But I appreciate your effort to help the OP.
That's not it for me. I recall creating boxes using arrow keys (not as much as creating database). It was very intuitive and fast to create tables (the work was ledger based accounting).
We used to use Lotus 123, Wordstar. This is before QuattroPro showed up and changed the landscape with its colorful grids and menus.
in Reflex 1.0 you started by drawing the forms and that generated the database tables. Not sure how that changed in 2.0. Might not have been the one you used, though.
I learnt it in high school on a counterfeit Apple ][ with an 80-column display card. (Maybe it ran CP/M? My memory is hazy.) I had to type up the school's Prize-Giving Day program. When I got to college (late 1980s) and got my first programming job on campus, I copped a grad student's .emacs file which made Emacs behave like WordStar. I used it all the way through to my postdoc, modifying the necessary major modes to not conflict with WS bindings. I ran into the author of that .emacs file, but he had moved on to Jove, by then.
The upside of using WordStar bindings was that, as a de facto sysadmin in various academic departments and labs, I could never answer peoples' questions about Emacs.
Dvorak's comment on piracy stands out -- it was a useful marketing model:
And despite complaints by the company and others, people wanted software they could copy and use on more than one machine. During this era piracy sold software and created market share. People would use a bootleg copy of Wordstar and eventually buy a copy. Wordstar may have been the most pirated software in the world, which in many ways accounted for its success. (Software companies don’t like to admit to this as a possibility.)
Bill Gates somewhat famously did admit this talking of piracy of Windows especially in East Asia -- he'd much rather a pirated copy of Windows was running than a legal copy of GNU/Linux.
"It invented numerous features including overlays, later to develop into DLL’s. It was the first product with dynamic pagination and even help levels among other new features. All modern word processors owe their existence to Wordstar — perhaps one of the greatest single software efforts in the history of computing."
I imagine he never saw the word processors developed at Xerox PARC, nor their OSes dynamic loading capabilities.
I have a lot to thank the humble and useful Wordstar for.
In college, I worked at a law firm and they were still using wordstar as well as wordperfect. Wordstar had this interesting markup that I quickly learned, and it was faster to use than moving around the screen with a mouse. Later on when I first viewed source on a web page, the markup looked quite familiar.
In today's startup culture, Rob Barnaby would probably have been a co-founder instead of a technical lead. With an ownership stake in the company, perhaps he would have taken the initiative and re-written Wordstar in a high-level language.
It sounds like the underlying problem was that the original, elegant software implementation quickly turned into a ball of mud when other programmers started working on it. Wouldn't happen nowadays, of course.
"In four months Barnaby wrote 137,000 lines of bullet-proof assembly language code. Rubenstein later checked with some friends from IBM who calculated Barnaby’s output as 42-man years."
Oh yes. Wrote my diploma thesis in it, on a Schneider/Amstrad PC with an EGA greyscale screen. At the time no other word processor had comparable WYSIWYG formula editing support. Almost three decades have passed but I can still hear the sweet sound of the matrix printer at 4 am the night before the deadline. Those were the days...
WordStar was the _editor._ Markdown is _embedded formatting codes._
I'd really like to see a terrific editor based around Markdown, but despite looking at a whole lot of them, none of them are really quite as good as my favorite lost word processor, XyWrite. (XyWrite also used embedded formatting codes, and in fact was arguably closer to Markdown than anything else, as its files were just plain text with markup. When I needed to access a few very old files a couple years ago, I could convert them from XyWrite to Markdown with a few search and replace operations.)
What I'd really like to see is an editor that pays attention to aesthetics the way Ulysses, Byword, and MultiMarkdown Composer do, but pays attention to "power user" features the way a text editor like Atom, BBEdit or Sublime Text do. Just because I'm writing prose rather than code doesn't mean I don't occasionally need regex-based search and replace, or God forbid, want to do something crazy like split the window pane to see two different places in the same file at the same time.
For all people are downvoting, I think you're right, the workflow of editing in Markdown and rendering to text is pretty similar. Something like Pandoc that extends raw Markdown gives you control codes that easily match and exceed what WordStar could do. Well, except comments, those are a bit annoying. But you can add them as inline footnotes which does simplify checking whether you've missed any.
(0) http://www.slate.com/blogs/future_tense/2014/05/14/george_r_...