Some people felt compelled to leave comments despite Ward's request. They (the comments, not the people) have been moved to WardsPlanksDiscussion. (Moving someone's text off of their own HomePage, or labelling anything OffTopic on a HomePage, really seems inappropriate, perhaps even rude.) -- DanMuller
Bill Venners interviewed me at the JAOO 2003 conference in Aarhus, Denmark and published the result in five parts on his artima site.
I've written hundreds of wiki pages. These are some of my favorites ...
In my first programming job I worked for DaveDodson at the PurdueComputingCenter. Dave would chuckle when he saw the students poring over their listings oblivious to the little trick that would make their programs trivial. Of course, he had to explain the tricks to someone.
I've used these patterns many times since.
When wiki was new I wrote a page about myself that sprawled over half a dozen page names describing various places I've worked. While editors have been kind enough to let those pages persist, authors have been wise enough to not follow that example. I've now brought all that content home:
Over the years I've learned a few things...
Highland High School
I learned to program while in high school in the middle sixties. My buddy JerryDijak? was learning to program in IITRAN using the teletype that had recently been installed in Mr Clark's math room. He explained that you wrote instructions for the computer to follow. Then he showed me the program he was working on. It was mostly incomprehensible, except for the occasional instruction like...
go to town go to bedI was fascinated that such instructions might make sense to a computer. I now know that they meant nothing, that Jerry had missed an opportunity to make meaningful labels, and that goto's are bad on principle. Still, I have a certain fondness for goto's since they got me started in computing.
Hi Ward, just wanted to say that it has always amazed me that programmers (and I am one of them), seem to universally condemn GOTO, yet it is in most languages I have used. If it is so horrendous why do we not just remove it from the syntax, or do we still find a guilty pleasure in finding uses for it?
Thanks for these pages, they are a pleasure to read - jss
Purdue University
The PDP-9 Room. I joined BillCroft and DaveKruglinski as a regular in the NineRoomAtPurdue. I wrote an animated football game that never quite worked. I felt like I'd been inching that beam along one statement at a time. Bill did an electrical circuit input program -- a diagram editor. He had better abstractions. He'd been studying IvanSutherland.
System Time on the CDC. ... watching the heavies... RichKovaric?, VicAbell?, RossGarmoe?.
Mechanical Engineering's Graphics Lab. ... had eight one hour periods to write a graphic editor ... trouble was a compile took 45 minutes ...
ARPAnet. ... they had a binder back then that listed every host, listed accounts and passwords, and suggested cool things to play with ... HarryChesley made a lot of friends. I remember his super hierarchical chat ... Harry and JimBesemer struggled for a while ProgrammingTheIliacIV.
Network Simulation. ... wrote a 5 page program that exhibited behavior I couldn't understand ... have produced many charts, graphs, reports and animations since ... still can't tell why it does what it does ...
Tektronix
I joined TekLabs out of school. I liked the name. It reminded me of BellLabs.
Tektronix did a lot of early microprocessor work in a system affectionately called a BoardBucket. Hardware guys would whip up all kinds of neat boards. There was even a MicroprocessorFair? where some were shown off.
But the board bucket wasn't going to scale to 16-bit processors. So JohnProvidenza built a few systems for us on the then emerging MultiBus? backplane. They were shared-memory multi-processors. John did excellent work. But a system's only as good as its components...
I got tired of working on small machines. I moved into integrated circuit design when that field started showing some respect for software guys. They were at least buying them big computers. I found designing with bare transistors to be much easier than prepackaged ICs. I studied chip architecture. I particularly liked the SystolicPriorityQueue? which I thought of while designing the PictureModelChip?.
I used Smalltalk to build a silicon compiler. I got more points for making something out of Smalltalk than I ever got for making anything out of silicon.
Wyatt Software
I left Tektronix convinced that I knew how to organize large programs as objects. I underestimated how distracting schedule pressure would be. Still, I managed to keep our development flexible enough to respond to unanticipated change. I used a process that we would now call refactoring. Over time I adjusted how we scheduled and explained that schedule to management. Here are a couple of documents written as the impact of what I was doing was starting to emerge in my thoughts.
I've founded my own company, http://c2.com, which continues to host this site.
Microsoft
As of December, 2003, I've taken a position at Microsoft with the title Architect. I'll be working with a group I have consulted to this last year while producing http://msdn.com/patterns. I know that some authors here have no good will for the company. Please remember I will remain the same person. I also invite TipsForWardAtMicrosoft.
Are you going to relocate to the Seattle area, or continue living in PortlandOregon? [both -- Ward]
How does this affect future work on Fit, given that MicroSoft won't allow GPL work? [c2 owns fit and will continue to exist -- Ward]
October, 2005: WardCunninghamLeavingMicrosoft to work with the EclipseFoundation.
I also passed through a couple companies without staying long enough to learn much or have much impact. That doesn't mean I didn't make some good friends though...
Knowledge Systems
(Ward, I'm taking the liberty of writing this for you. Feel free to edit or change any misconceptions -- KyleBrown) For a very short time, Ward worked with the folks here at KnowledgeSystemsCorporation. In particular, he helped SamAdams, KenAuer and LynnFogwell develop an advanced/rebuilt version of HotDraw called Foundations. Alas, Ward did not stay long here on the east coast, as his beloved Pacific Northwest sang its siren call to him once again.
IBM Consulting Group
See WardAtIbm, a longish page that will require more careful refactoring.
Recent book purchases ...
Ward, I've just discovered BookShelved and been very impressed with it. Could I suggest the possibility of it becoming a SisterSite? If it was, I think that a lot of book pages that currently sit a little uncomfortably on Wiki might have a natural home. What do you think? -- EarleMartin.
Seconded. I've wanted this for a while but was afraid to ask. -- JoeWeaver
I agree, but I think it is a perfect medium for all books, including those that are OnTopic here and would provide an excellent taxonomy for some of this site's content. Another step in the refactoring of WikiDom as Pete would say. -- MarkTilley
[Please don't dump any and all wiki pages relating to books on BookShelved. We're building something quite unique (a living discussion) not scavenging content. Thank you.]
How about adding it to SisterSites?
I have several patents. The government has put these online ...
I found this in a bio I wrote a few years ago. ...
I'm interested in large scale systems with distributed control. I take my inspiration from economics, politics, language, learning, culture and, of course, life itself. I'm most satisfied when I write software that borrows from such systems. I'm working on a distributed architecture that favors robustness over correctness. If you think you will miss correctness, consider these questions from the fields I mention:
Hi, Ward. Thank you for providing this Wiki! -- AndrewMartin
You're Welcome -- WardCunningham
It took me a while to realize that I had taken classes at PSU from your wife and business partner, KarenCunningham?. Her compiler course was excellent, but I missed out on her Object Oriented Programming class. I'm surprised she doesn't have a page of her own here. -- IanOsgood
You missed a good one. She founded our business teaching that one to corporate clients. And, yes, I too am surprised that she doesn't have a page of her own here. -- WardCunningham
She does now, of a sort: MrsCunninghamSavesTheDay.
See more WikiWikiKudos.
I've just with great interest read your discussion on PhotoWiki at http://www.wiki.org/wiki.cgi?PhotoWiki and had to write one immediately. It's at http://photowiki.ywp.d2g.com and written in my HtagLanguage just as the HtagWiki is. I would love to hear if I got close to the ideas you had about this concept two years ago. I hope you are still interested.
What was the inspiration for the simplified mark-up language that is used in Wiki? In the Python world, there's StructuredText and ReStructuredText that are in the same spirit, and I know that they were not inspired directly by WikiMarkup, but they were influenced by Python's use of meaningful whitespace. Any history pointers for WikiMarkup?
I copied some nroff conventions like preserving blank lines. The rest I made up on the spot. See WikiHistory. -- WardCunningham
Time, a lot of good will, a lot of understanding, a strong will to compromise and to understand the consensus, vigilance, a good strategy and a few deterrents are of essence and ultimately, yes wiki will work for us if we want it to work. But we have to work hard at it! But Wiki fails to work in very few specific problems though.
Hi Ward, I dropped a question on BlubParadox in response to something you said there. I imagine you might not have seen it so I thought I'd let you know here. But if you saw it and just don't feel like answering, that's cool too. -- PeterSeibel
And over the years when coding and using CamelCase, I've run across many instances similar to this where an underscore was really the way to go, to separate otherwise adjacent capital letters.
So what do you say, would it harm anything for underscore to count as lower case, thus allowing "S_Expressions"? thanks, -- DougMerritt
I'm the one who changed "EssExpressions" to "SymbolicExpressions". For now, I've reverted them all to "EssExpressions", if for no other reason than to make them consistent with "XmlIsaPoorCopyOfEssExpressions". If wiki is changed to interpret an underscore as a lower case letter, I'll gladly change EssExpressions to S_Expressions. Thanks --
Doug - wouldn't people then start using underscores to separate words? I mean, it would be tempting. Also, aren't WikiWords TheSimplestThingThatCouldPossiblyWork? -- EarleMartin
Good points. As for simplest, sure, things have worked without this change until now. On the other hand, there are these occasional troublesome cases. I have no problem with "CeeLanguage", but "EssExpressions" just doesn't look right, it always looks like a kludged hack workaround. I think it's because it doesn't begin with "S", whereas "CeeLanguage" does begin with "C". There are other cases that don't work well (not that I've kept a list). Is Ses instead of Ess too much of a perversion?
As for misuse of the proposed feature, it would be fairly trivial to limit its use to only the situation where underscore follows a single capital letter, so that e.g. Lisp_Language would fail the rule and not be recognized as a WikiWord, removing the temptation to start using this with abandon. -- DougMerritt
It bugged me when I first started lurking too, but now that I've gotten used to the WikiAlphabet, Ess looks more natural than S_. Besides, you could argue that
(let ((S_Expressions EssExpressions)) (read-page S_Expressions) (edit-page S_Expressions))always looks like a kludged hack workaround, but thousands of SmugLispWeenies still deal. ;) -- JonathanTang
When did you first start lurking, anyway? Well, if there's only a couple of us that dislike the form "EssExpressions", then I suppose it's a losing battle (but so far only Jonathan has explicitly given a thumbs-down to my idea). I am actually surprised you say "Ess looks more natural", though. -- DougMerritt
Hrmm. I believe I found it through a comp.object post, which means during my summer job after freshman year. So summer 2002. I think my first edits were late last spring or early last summer, then I forgot about it for most of the semester. And I've found a general rule of syntax is that whatever you're most familiar with looks most natural. I see EssExpressions and EssAndKayCombinators and XmlIsaPoorCopyOfEssExpressions often enough that they're reasonably familiar, but I've never seen S_Expressions before. If it was S-expressions, though... -- JonathanTang
I think I'm beginning to grok that this will never happen, regardless of reasoning one way or the other, because Wiki is heavily oriented towards DoTheSimplestThingThatCouldPossiblyWork, regardless of whether it is imperfect or inconvenient or whatever. I'm not sure I entirely agree with that philosophy, but Wiki has proven that it is a workable way to go at some times in some circumstances. -- DougMerritt
WikiModerationWithPasswords / WikiModerationWithoutPasswords? -- PeterMerel
Clicking on http://c2.com/cgi/quickDiff?WikiHelpDesk currently produces the message
Binary files /tmp/d20436.old and /tmp/d20436.new differ
Someone from Brazil had edited it to add a message to the bottom, and in the process garbage binary characters were added throughout. This gave diff indigestion. I cleaned it up, but diff still complains because the previous version has the garbage characters. -- DougMerritt
This wiki is a perfect example of how not to administer a wiki.
For your goals, perhaps. For Ward's goals, this may be the perfect way to do it. Who knows? He certainly could do any kind of manual or automatic intervention he pleases. Since he mostly doesn't, you shouldn't be so sure you can guess what he is really up to.
Originally, he participated himself. Now he barely does. His old friends (first the patterns community, later XP folks) are long gone; the current crowd (like me) are basically squatters. The topical direction of the wiki is all over the map. There are any number of possible goals he has these days that might be quite different than what you'd guess.
For instance, maybe it's a long-running science experiment, and it would invalidate the results to do things differently prior to a pre-designated end. Who knows?
For clues, see NobleExperiment and BalancingReadersWritersAndEditors.
(I am of course thinking of Isaac Asimov's short story "The Jokester", where it was discovered that the existence of humor was purely an experiment imposed on humans by aliens - with a chilling conclusion to the experiment. ISBN 038541627X )
Some hours after posting that here, wiki had one of its rare outages and was down for something like 11 hours. I kept hearing Twilight Zone music...
For more detail, see OopslaOhFour.
Ward gave a great keynote at OOPSLA 2004: WardsOopslaKeynote.
I was just looking for more info on Wiki engine... and I wound up facing this mugshot of a guy w/ great but lunatic platform... too bad the election is over!! -- bp
VisualTour appears to be broken again, Dec 17, 2004. -- ElizabethWiethoff
Ward, thanks for fixing one the most useful features (serious!) - RandomPages. Was it broken because of the CodeWord? -- AalbertTorsius
Quoting from WikiDownload:
"The software that runs this wiki is not available (...) The only person who can tell you why it isn't available is its creator, WardCunningham."
Okay... why not? -- AnonymousDonor
Because he sells an improved version (QuickiWiki) with his book TheWikiWay. -- AnonymousAnswerer?
Ward, perhaps you've seen this already: http://www.google.com/googleblog/2005/01/preventing-comment-spam.html. It could be done without destroying the GoogleLovesWiki property too: just add rel="nofollow" to outgoing links and keep it off internal page-to-page links. Though Sunir has an interesting argument against on MeatballWiki at NoFollow. -- JonathanTang
I was using http://www.usemod.com/cgi-bin/mb.pl?WikiWikiWeb page as a means to discuss with others who are concerned with the future of wiki, while C2 is locked out from edits. A week later there have not been much activity on that page.
Some locked out people have started to use http://www.usemod.com/cgi-bin/mb.pl?ShortMessagesWikiWikiWeb for key requests, etc. Do you have another edit key that can be passed out by existing key holders?
Is the OrphanPage WikiWikiPlans still pertinent? Asked a day earlier by 206.169.234.162
Ward please consider means to reclaim the GoogleLovesWiki reputation. I was looking for EDGE (GPRS) material and can no longer rely on GoogleSearch on C2 site to locate such information. This loss could contribute to excessive fragmentation of material in the wiki.
I would also like to have AutoPcn permitted to be run again, if the original owner is willing to operate it. It would be good to have a watchlist similar to WikiPedia in action.
-- DavidLiu
Hi Ward,
The conference planning wiki for the upcoming RecentChangesCamp in Portland is now up at http://wiki.recentchangescamp.org/.
Please feel warmly welcomed to contact me with any questions or suggestions: 503.641.6894
A WikiSym memory. Ward surrounded by friends from the wiki community. From left-to-right
Ward's etude for becoming a great programmer, WriteSmallButUsefulProgramsEveryDay. -- JuneKim
You can contact me at jabancroft@gmail.com or 503.810.5365. I figured it was apropos to contact you via your wiki. :-) -- JoshBancroft
This page mirrored in WikiPagesAboutWhatArePatterns as of April 29, 2006