contrapunctus, by Christopher League
 

Focus on load

The ability to run code in your web browser has given us many great things, such as Google Maps. But once in a while a tiny annoyance will make me long for the days when a browser was just a browser, and not a platform. Today’s annoyance is the trick to place the keyboard focus in a text box when the page loads. Here is a screen-cast of my unscripted rant and demonstration of the effect (1:43).

The main problem with these script tricks is that there’s not a good way to customize them across the board, apart from disabling Javascript entirely.  Each web site has its own user interface, even if it’s ostensibly just a document.  The example is Atlassian because I happened to be browsing their stuff today, but I’m not picking on them in particular.  Actually I’m finding Confluence to be fairly impressive, and (dare I admit it) less clunky for non-technical users than the open source options (the best of which might be Twiki).

Low-tech screencast

Common Craft has a fun and engaging style for presenting “Web 2.0” technologies with paper and white-boards. Found at Presentation Zen, but I chose a different video than the two that appear there. Enjoy “Wikis in Plain English”…

To appear at CCSC

In April, I will be presenting a new paper — Something for Everyone: AI Lab Assignments that Span Learning Styles and Aptitudes — at the Consortium for Computing Sciences in Colleges, held in the exotic, distant locale of Staten Island. A preprint can be found in the publications section of my site.

I will be building a repository and wiki about the assignments. With any luck, it will be available in time for the presentation. Shown here are some photos from our Connect 4 tournament during the first year I used these lab assignments.

Epistemology and Wikipedia

I wrote once before about staunch criticisms of Wikipedia I heard in a faculty development seminar. Since then I’ve been thinking about different kinds of knowledge, the nature of truth, citation, and verification.

In my professional life, I have used Wikipedia for background on some mathematical concept or details on some algorithm I’m teaching. In these areas, knowledge has a sort of self-consistency, and appeals to authority are worth very little. Suppose a Wikipedia article says, “The following algorithm searches for a number in an ordered list in logarithmic time,” and provides the algorithm. The claim is something that an informed reader can verify for herself, independent of any works cited. The algorithm either works or it doesn’t.

Now, suppose the article also claims that “This algorithm was invented by Charles Babbage in 1856.” It seems to me that this is an entirely different kind of knowledge. There’s no self-consistency, no way to verify this on its own terms. A citation — an appeal to authority — is critical. And probably the cited authoritative work will cite other works, and so on, like a house of cards.

This is a curious situation. We’re not marshaling evidence to support an opinion, but a claim of fact. It’s either true or false. And yet there’s no way to convince you either way except by appealing to a vast network of authorities.

To someone versed in mathematical logic and proof, this is deeply unsatisfying. And yet for most people, in most fields, I guess it’s just the nature of knowledge. If a vast network of authorities is the only handle you have on the truth, then I could understand getting a little anxious at the thought of Wikipedia entering that space.

I have distinguished mathematical truth (e.g., “the real numbers are uncountably infinite”) from historical truth (e.g., “Cantor proved the real numbers are uncountably infinite in 1891”). Perhaps the ‘hard’ sciences offer something in between. Part of the purpose of claims made in scientific papers is that the evidence can — albeit at great expense — be replicated by readers. But still there’s no self-consistency in, for example, biology. Maybe because it deals in knowledge about the real world, you can’t just consider a claim on its own and verify its truth.

Mathematics is not about the real world. If anything, mathematics is about itself. Mathematical truth is meaningful and accessible, but no amount of observing, measuring, or citing esteemed scholars will get you there.

Wikivenom

I was at a seminar the other day with some librarians, on the resources that are available from the library, and how we can encourage our students to make better use of them. It’s easy to forget that not everyone has developed skill for evaluating the quality and reliability of sources.

There seems to be some disagreement among librarians about the value and role of general search engines like Google (especially compared to subscription-based databases). Whereas among computer scientists below a certain age (in which, on most days, I’d include myself), you’re more likely to find the sentiment that “If it’s not in Google, it’s not worth knowing.”

Anyway, at some point Wikipedia was inserted into the conversation. Again, librarians seemed to disagree on its value and role, but this time the emotion level really rose. One participant in particular took virulent offense that it was even mentioned. “People write any kind of shit on Wikipedia; that’s just the wild west.” He insulted the no-lifes that contribute to Wikipedia, and basically said that the world would be a better place if it didn’t exist at all.

It’s rare to hear that kind of venom among peers in my field. I naturally made the mental connection to free software. It seems literally impossible for some people to believe that a loose-knit network of volunteers can, in their spare time, create operating systems, web servers, email clients, and the like. And to suggest that their efforts routinely surpass those of ‘professionals’ at corporations is offensive and un-American.

Many people strongly believe that nothing of value can arise from chaos, from anarchy. There is, I’m sure, some analogy here to evolution, too. The free software model is not precisely the same as Wikipedia, of course. Most projects would be insane to have their code repository writeable by just anyone. Among my peers, criticism of Wikipedia targets these more narrow, procedural decisions, because we know that, on the whole, the free software model works.

One librarian was more level-headed; she demonstrates to students what Wikipedia is all about by editing it in front of them: “Elvis Presley is alive and well, and living in Peoria.” She doesn’t go as far as submitting the untruths and thus vandalizing the page, but it does emphasize — effectively, I think — that we need to treat everything written there with skepticism and check the sources.

Another wiki tamed

Sorry, I know I’m a few years late jumping on the wiki bandwagon. Yesterday I decided I wasn’t entirely happy with MediaWiki after all, and tried out PmWiki. I may have overlooked it before, because at some point in my life I guess I drank the RDBMS kool-aid and became skeptical of projects based on a standard file system (the database that god gave us).

Once I opened my mind to the PmWiki philosophy, I found that it does a lot of things quite well. One of the expected advantages of a database is to make searches faster and more convenient, but as the author points out, even this advantage is illusory. You usually fare better by having some dedicated tool (htDig, glimpse, google) index your files and provide search capability, rather than coding up your own based on a custom data model. This corroborates my experience with WordPress… you don’t see a search box on my site at the moment, do you? (But you can always add site:contrapunctus.net to a Google query.) The debate here also reminds me of one of the many differences between subversion and darcs; the latter uses flat files entirely for its bookkeeping.

PmWiki doesn’t insist on CamelCase for links, which is good. It has a ‘monobook’ skin that imitates the look of Wikipedia (still the least ugly wiki in my opinion). It has a decent authentication, permissions, and groups system, and it’s trivial to hack up more flexible policies (e.g., you must be on campus or logged in to view pages in this section). Actually, the lack of database is a slight security advantage too: you can embed the cryptographic hashes of passwords in the config file(s); there’s no need to store plain-text passwords that must be transmitted to the database.

The main limitation I see so far is that it doesn’t seem to support displaying arbitrary older versions of a page. It can show the page history and diffs, and you can restore older versions, so I believe all the required information is there, we just need a query interface for it. On Wikipedia, there’s a ‘permalink’ that provides you a URL for this exact version of the page that you are viewing. It’s useful for citing the page elsewhere, if you want to be sure that someone accesses the exact version you saw. It’s not clear to me that PmWiki can do that yet.

Also, there are a couple of choices for producing typeset (printable) copies of pages, but most of them look miserable or else are too complicated. I haven’t decided yet whether it’s worth my time to hack up something using pdftex. Let’s get some real documents up there first, I guess.

Oh yeah, the installation is here, if anyone wants to peek. Not much to see yet, particularly from the outside… unless the security is totally broken. :)

Finiki

I’m toying extensively with MediaWiki today. I mainly want to set up something to help coordinate the efforts of a school-wide committee for which I recently became the chair. The work of this committee involves collaborative editing and tracking of lots of documents, so a wiki seems like the natural thing. Up until now, members mostly emailed Word documents around, and there seemed to be no canonical location for the latest versions. (More on this committee’s agenda another time, perhaps.)

Someone suggested that all the minutes and other documents from the committee could be burned onto CDs and distributed to members. His heart is in the right place, even if the recommended medium isn’t.

Aside: I feel that way too about these USB memory sticks that are so prevalent lately. All students seem to have one or more, and they seem to be the schwag du jour at certain workshops. To me, these things were obsolete long before they were even invented… they’re just high-capacity floppy disks. And the reason floppies are obsolete has nothing to do with their size. Physically moving data around on some device, no matter how convenient, is fundamentally flawed: the data should reside on the network, where it can be synchronized, backed up, accessed, and modified from anywhere. This net-centric view was how computer science departments arranged things even in 1990, but the rest of the world has not yet caught on. The fact that a computer user would reach for a USB stick to copy files from machine A to machine B — when they’re both on the same LAN — means something is fundamentally broken. Incidentally, I place blame not on the user, but on the designer of the dominant operating system.

Anyway, MediaWiki seems sufficiently powerful, but a little more confusing to configure than I expected. Configuration can mean editing ‘LocalSettings.php’ (reasonably well documented), editing other arbitrary PHP files (haphazardly documented), and/or editing certain pages in the ‘MediaWiki’ namespace of the wiki itself (mostly undocumented).

Like most software whose primary documentation is a wiki (which is by no means limited to wiki software itself), entropy prevails. Information becomes scattered and duplicated. Questions and answers from users are mixed in with exposition. The wiki model can be extremely useful for reducing the barriers for contributions, and that helps keep things up to date. I’d probably prefer having all documentation in a wiki than having it all, for example in the archive of a mailing list. But the wiki can’t compete with a well written and thoughtfully edited manual.

I seem to be taming my installation now, following a solid afternoon of tinkering. I am using namespaces to separate different projects (rather than having separate installations) and to restrict edit access to certain user groups. I learned that it makes sense to create user accounts using real names (First Last) so that you can easily refer to them and link to their user page: “Committee members include [[User:Chris League|]], [[User:Lisa Simpson|]], etc.”

Now the next step is to convince my colleagues that they can use this. I am finding it difficult to predict who will adapt to new technology and who will not. Field of expertise and age are not the determinants I would have expected. In other words, you can’t assume all the over-50s will avoid it and the under-40s will adopt it. Similarly, you can’t assume that the CS profs will be happy to learn a new system and the English profs will be reluctant. This is good, in a way. Why should everyone conform to my expectations? Keep me guessing!