2013/Custom Markup for Working and Writing

From Open Source Bridge Wiki
Jump to: navigation, search

We show how both doing work and writing about work are enhanced by special purpose markup hosted by federated wiki plugins.

Speaker: Ward Cunningham

Return to this session's details

Contributed notes


Federated Wiki - Plugins, recent experience with plugins

Wikis are great for recording how to work, but not a great place to DO work [what about learning?]

Can talk about time off policy, but not register it. Wiki is first and foremost a document

Versions of data entry, flow model - powerful model but still breaks down routinely (feels fragile, hard to debug) - pattern language (federated wiki)

Bunch of wiki pages, can come from different sites, can drag things between them, can put things on there that communicate between those pages (arrows are photoshopped [thought: why? can we make this a feature to show 'flow' on the page?]

You can go in there and do work, having to do with design, wiki handles calculation

Wiki pages federated are a pipeline, like unix pipeline, casual computing.

Story pipe in unix, K+R boss promoted for a decade before unix pipe, talked them into pipe.

Pipe as unit of wiki composition.

Federated wiki. Wiki shared space on a disk through a web interface. Fed is reverse, shares between a bunch of disks through a web interface.

Instead of zooming in, zooming out. Calculation happens, pages from one site over another mixed together, here is some data, goes into calculator How to write a calculator in this environment. Info moving between sites, pulled together in your browser to some visualization. Back and forth is important.

here is detail. Each Paragraph has a different markup. Down below, computing values, specialized markup. Put numbers where you want numbers, names for assignments. Code behind 'verbs' is very simple, direct mapping of language. Look up verb, do the thing.

Has to be super simple.

HTML markup was nice. This markup is for DOING things.

Routine reached back into wiki.

Wiki refers to computation, computations refer back to the wiki.

Looking at sites from different directions look different. [blending of data, focused points of view] like OOP overriding.

Want to support communities of interest that overlap.

Different entities cooperating.


Multiple communities. Manufacturesrs, data journalists ngos and other advocates science the public suppliers etc

Today - how we take words like "SUM" and "PRODUCT" and give them meaning. Dispatching.

This idea came from Ada Lovelace - analysis of analytical engine - notes Observation - this isn't about calculating - this is about representing anything

"by the word operation [on punch cards], we mean any process which alters the mutual relation of two or more things … and would include all subjects in the universe" ALL subjects in the universe.

Bytecode dispatch - interpret one language on top of a conventional computer

Dispatch - instruction decoding into a virtual machine by jumping to code with meaning


out-of-the box computing company ootbcomp.com http://ootbcomp.com/ - videos - stanford talk, new architecture for computing new feature - instructions - formatting and instructions (slides) interesting - two caches for decode to exec - math in one cache, else in other no meaning in cache, meaning when it passes through the decoder, gives the bytes meaning

federated wiki - same thing. Browser has meaning, socket to disk, remote devices, Reference - Talk online - nodepdx http://video.nodepdx.org/speaker/21/ward-cunningham "My sensors love node"

Can attach something to my server, not interfere with other server. Reinterpretation and meaning on BOTH sides, made by markup

Example fed wiki page Special code - when revised send report Schedule Double click for markup Caps words meaning to dispatcher, rest is data.

example interpreters

Aza Raskin - Algorithm ink http://azarask.in/projects/algorithm-ink/ Simple algorithm rules, draws picture surrounding interpreter whole framework for tools. Wiki already does the sharing. What wiki doesn't do, is have the calculator for images.

We want to put this in a wiki plugin. words run routines through dispatching, state tracked strategy on about page [docs and code in one environment, nice!]

Live coding example

[build status talking through stages is great. "client" "test" "plug-ins" "done" (or failed) ]

all on github as smallest federated wiki https://github.com/WardCunningham/Smallest-Federated-Wiki

Continued live debugging, coding (see video)

example command drawing dot divs over page

various verb commands, emit, fetch, mark, pretty, bind, compile, apply, emit, fork, [drawing: ] go, left, right

The federated wiki: http://fed.wiki.org/view/welcome-visitors

morse code forever


Qs: Federated wiki - and idea of doing stuff

Are those separate ideas? two separate ideas in the sense that a computer is good for computing and communicating. You have dispatch and connection. Reinvented computing in a way that is CC share alike, community. Community that wasn't present at the beginning of the web.

Q: Little languages - sort of like mcarthys lisp, not general. Reason you are writing little languages? Why not general? If I had just one, sure, general. But we have many languages, just enough to get it to do what I need it to do. Does just enough, can pass them around. Programming in a general sense, can't resist temptation to pour more into that program. Small is beautiful philosophy. One thing I want to bring to wiki is dispatching.