Archive for the ‘computing’ Category

VI geeks on the Gmail team

Wednesday, June 2nd, 2004

Looks like Google let their VI geeks loose on the Gmail product. Not only do they have the VI direction keys like “j” and “k” implemented, they’ve even implemented two-letter VI-like combinations, such as “g” “i” for “go” “inbox”.

Will this finally be the impetus for people for people to realize that the keyboard is a useful way to navigate web pages? (Today I saw a guy working on a computer who evidently didn’t know that the tab key would get him from field to field in the form he was entering.) Unfortunately, Google has implemented keyboard control with a bizarre-o Active X control, which prevents you from seeing the source of the page, scripting it, or anything else, not to mention being highly browser-specific.

Hijacking IE\’s user style sheet

Friday, April 23rd, 2004

A new, daring hijacking exploit was carried out on my computer—taking over my user style sheet.

The user style sheet is something used by the browser which most people haven’t ever heard of. It’s mainly an accessibility feature—you could set your own CSS styles to display everything in large type, for instance. (In IE, you set it with Tools | Internet Options… | General | Accessibility… | User style sheet.)

The devious thing about this exploit was that the user style sheet the malware stuck on my computer contained CSS property values computed using Microsoft’s proprietary expression feature for dynamically computing property values. Specifically, within an expression giving the value of some attribute for the BODY tag, it was looking up certain keywords within the META tag, and if it found them created a pop-up window which took over the entire screen!

I hear that the next release of XP has anti-malware features. It certainly seems like a no-brainer to disable the expression feature in user style sheets, to not allow pop-ups to be created from within CSS expressions anywhere, or, most basically, to not allow any changes to the user style sheet without the user’s express permission.

I guess this exploit is actually not that new. This article about it dates back to summer 2003.

Review of Eric Baum\’s \”What is Thought\”

Sunday, March 21st, 2004

In What is Thought, Eric B. Baum claims that thinking is like a computer program running. Or, that humans are like computer programs. Or something like that, or maybe not, since it’s impossible to tell what he is really saying, or what he thinks “thought” is to start with.

One real good argument Baum has is that many computer scientists think the mind is like a computer. Well, I have a gardener who thinks that the mind is like a garden. Actually, sometimes he thinks it’s like a rake, he tells me.

Baum starts off saying that Turing’s model of computing was intended to capture the essence of thought, so that proves that humans are like computers, since Turing is God. Except that even Baum later admits that Turing was at best trying to model human theorem-proving behavior; certainly “thought” is more than just that.

I’m going to come back to some specific topical comments I have about this book, but first of all I just wanted to mention that reading this book I was seriously scared that my brain was going to rot away. That’s why I actually didn’t read the whole book. I worried that if I did the damage might have been too much to undo. For instance, take the following sentence, right in the first section where he’s laying out his basic ideas: “The execution of a computer program is always equivalent to pure syntax.” This isn’t merely stupid—-it goes beyond that to just being completely meaningless. “Mind typically produces a computer program capable of behaving.” Huh??? Is mind producing the program, or is it the program, or what? “The mind exploits its understanding of the world in order to reason.” Except, apparently, in the writing of this book. “Mind is essentially inherent in the DNA, in some sense.” Yes, in a sense that we will never understand from this gibberish.

Baum’s writing gives new meaning to the word “circular”. He asserts that the mind has “subroutines”, and then that proves that it’s like a computer program. I guess he’s a few decades behind in his computer science, or else he would have said the mind is “object-oriented.” “Awareness is awareness of meaningful quantities.”

In a book like this, the author of course could not omit a discussion of neural networks. Baum thinks that neural networks are a “model of brain circuits”, which by the way is wrong—-they’re a computing model vaguely inspired by brain physiology. He’s right when he says the collection of weights generated by training a neural network is in general completely opaque—humans cannot figure out how the neural network works. Nothing in a trained neural network corresponds to a “human” understanding of the problem the net has learned to solve. So if the brain is a neural network, how does this correspond to the “semantics” he talks about? If the mind is composed of subroutines, and evolution is a neural network training process, how does a neural network generate subroutines? More critically, a neural network has its initial topology defined by a human; is he saying that evolution can also evolve the appropriate network structure? He says “it is impossible to…evolve…code unless it is modular.” But trained neural networks are precisely not modular.

“Neural circuitry is akin to an executable. The DNA is more like the source code.” A cute analogy, which might work real well in the term paper the sophomore at MIT who took philosophy for his one required humanities course had to write. But what does this mean? Is the DNA what is being created by evolution? In that case, what is the equivalent of the compiler?

Baum doesn’t do much better with basic philosophy. He asks the big question: What are objects? Are they just in your mind or is there an outside physical reality to them? He then imagines he is somehow addressing this question by jumping to the question of how we know a cup is something to hold by its handle and then drink a liquid from. Sorry, Eric, saying that “the mind is an evolved program” (using a subroutine for the cup problem, of course) does not answer any questions about the nature of reality.

Baum goes on to talk about the process of individual humans learning as being the acquisition of new subroutines. This is weird. We have some built-in subroutines coming from our DNA or something and then we learn new subroutines? Are these subroutines we learn encoded in the same “language” as the ones coming from our DNA? How do they interface with them?

Now we take a big jump, to an agent-based model. There are lots of little agents running around each with their own agendas and utility functions. This model is sort of proved to be right by the fact that it’s also a model which can describe market economies. Taking a sudden right-wing detour, Baum posits that the agents work so well because they have “property rights” and try to conserve money. The agents compete and cooperate. But who set up the system within which these agents (which are also subroutines, I suppose) operate?

“Evolution has learned to search in semantically meaningful directions.” So now we have not only a learning process embodied within evolution, but a meta-learning process governing the process of evolution itself. Evolution evolves!

I’m a go player, and well-versed in the issues facing computer go. So I was particularly interested in Baum’s thoughts on this topic. I found them to be shallow, poorly informed, and lacking insight. Besides getting basic information, such as who developed what program, wrong, always a bad sign, he offers tautologies such as “Go masters play remarkably strong Go.” First, he says that we have a pre-evolved “program” for “causal” analysis. Then, he says we have a large number of “computational modules…that may very well be directly coded into the human genome”, including topological concepts like “connected”, “surrounding”, and “inside”. Besides the problem that these supposed pre-programmed modules have no connection with “causality”, the fundamental point that these modules being wired deep into our DNA, compared to computer programs which have to calculate the same concepts in a “computationally expensive way”, accounts for human strength at Go is, frankly, absurd. If Baum cannot come to a more sophisticated understanding of the complexity of go, he should not write about it at all.

I’m having a very hard time understanding why people who should know better, like Nathan Myhrvold the former Microsoft executive, would put their names on the back of this book.

Of course, we also need a theory of language. Baum has the answers here as well. Language is just “attaching labels to computational modules”. I see! He sums up his insights succinctly: “All that is needed is to attach a label to a computational module, and the particular module indicated will often be quite salient, because we share inherited inductive biases in the form of modular structure.”

“Evolution thus designed the mind for the purpose of making decisions leading to propagation of the DNA.” “I suggest that this picture will…qualitatively explain everything about our consciousness and our experience of living.” Thank God, I was afraid no-one was ever going to figure that out.

And a last bit of good news: Baum has also solved the age-old paradox concerning whether or not humans have free will. The answer is simple: DNA has evolved a mind which has free-will subroutines!

Is PDF a good thing?

Sunday, January 4th, 2004

My translation of Dogen’s “Bendowa” uses lots of footnotes, so I put it up in MS Word .doc format, but that’s not very friendly. So I thought I’d put it up in PDF. Adobe has a 30-day free trial for Acrobat Professional so I wouldn’t have to fork out the $300 price of the product just for my little experiment.

But the download is 200MB! That might be the largest thing I’ve ever downloaded in my life. Took at least 20 minutes.

Acrobat did a good job of PDF’ing my document. But it took a good 10 minutes to do a little 40-page document. This seems way too slow if Adobe hopes for PDF to become a widely-used distribution format. And although Adobe made my footnote numbers “hot” so they jumped to the footnote text, why can’t do they do the same for index entries? And the Japanese text, although it came through OK, is all sort of grayed-out looking; why is that? (The PDF is here.)

I’ve heard that Adobe wants to push PDF as a means for archiving entire web sites, and in fact the verison I downloaded apparently can do this, although I didn’t give it a try. But that seems like a weird attempt at positioning the product. In terms of people today trying to display a web site, any computer that can run Acrobat can run a competent web browser, so there’s no reason to Acrobatize web sites for people today; the idea must be to do it for people in the future. Aside from the fact that that seems like a very narrow niche to be aiming at (“Preserve your web pages for the ages with Acrobat!”), my guess is that fifty years from now someone will have at least as good a chance of viewing a website saved as its original HTML/CSS/JS files as they would trying to view a version frozen five decades ago in time by Adobe Acrobat 2004 version.

I think Adobe is in complete, if understandable, denial about the fact that the weird FORTH-like language called Postscript invented 30 years ago by John Warnock that ran on a 10cps teletype, which was not a very good language to start with, even for laser printing applications, is not and cannot and will not ever be, no matter how gussied up or repositioned into a workflow tool or secure document environment or collaboration system or forms product or whatever else, the lingua franca of computer-readable information in the 21st Century. We already have one, and it’s called HTML and related W3C standards.

Come to think of it, it also seems weird that a company whose mission in life is bridging the worlds of printed documents and computing would not have figured out that we need better ways for computers to help us read on-screen documents. Here’s a quote from a 1994 Warnock interview:

Q. Will people in fact learn to read onscreen the way that they read books today? A. I think that the more personal computer displays become like lightweight books, the more people are going to feel comfortable reading from them. A PC that you can open up and physically handle easily, that has the right kind of battery and display, will give the same visual impression as a page.

The only thing he can think of to make the on-line reading experience more rewarding is the form factor. That’s pretty limited.

Managing Textpattern Development

Thursday, August 28th, 2003

Textpattern is an elegant content management system. It’s what I use for both this site and the Igowalker site. It’s developed by the inimitable Dean Allen, who actually got his picture published in the New York Times for the great dog pictures on his site.

His design philosophy is superb, melding elegant visuals with superior usability. His next challenge will be to open the project, gain more support, and up the pace of development.

Machine Translation — savior of civilization

Wednesday, August 13th, 2003

Written July, 2001.

Machine translation will play a key role in transforming our world into a seamless and integrated global society, banishing forever the artificial barriers erected by human language. Whether it be a teenager in Africa chatting with another in China, both in their mother tongues, everything they type being translated flawlessly and instantaneously behind the scenes; or a businessman in Turkey negotiating the big deal in his native language with his counterpart in Japan, the fluent voice-to-voice translation in the background detectable only by the slightest of delays; or the aggrieved party in Poland who finally finds justice in his legal battle against an American corporation thanks to the ability to quickly translate thousands of pages of evidence; in all these cases, machine translation promises to be both a major impetus for, as well as a beneficiary of, our transition to true globalization.

As with all other enabling technologies, the explosive growth in machine translation will result in the creation of vast amounts of wealth, much of it ending up in the hands of the lucky few who had the right product or service or strategy at the right time. But there will be more than enough to go around – first and foremost to the so-called “engine” companies, of course, who develop the basic software that actually carries out the translation; but also to the consultants, system integrators, service aggregators, resellers and repackagers, and any one else smart enough to find ways to take advantage of this amazing golden goose, or lay hands on a ticket for the gravy train, depending on your choice of metaphors.

Or, in any case, so goes the litany, at least as MT supporters have been singing it for decades now.

Meanwhile, the market is voting with its pocketbook on the value of MT technology, and the results are not encouraging. One suite of MT technologies recently changed hands for the remarkably small sum of under ten million US dollars, or a piddling half-million per language pair. Another suite, widely regarded as perhaps the best in existence, was one component in a transaction also involving a major localization company; depending on how you value the localization assets, it is not hard to view the MT piece as essentially having been thrown in for free. One company is publicly traded and its valuation plain for all to see, but after adjusting that valuation for the imputed value of non-core products and services, such as consulting or integration, it appears that the value of their MT technology itself also barely reaches ten million dollars.

The Internet boom brought a momentary shine to the MT business. Perhaps as a shrink-wrapped product, so went this latest attempt to explain why MT was not taking off, MT will never find widespread adoption since it requires every user to make an explicit decision to install it and spend the $99 or $499 that the software costs. But now behold MT’s deus ex machina, the Internet, which is not only a technology which allows MT functionality to be accessed anywhere, anytime, but is, or was, also a business model where losing money was a good thing, this particular model tailor-made for the MT industry, since losing money, if nothing else, was something they had mastered well. The MT companies jumped on this opportunity to lose more money by giving away free on-line translation services with a vengeance. Unfortunately they fared no better than any of the other companies trying to buy dollars of revenue for a dollar ten each. Some of them apparently have not even noticed that the Internet boom is over, and are still pursuing the chimera that they can spread the gospel of MT by the odd expedient of flushing money down the toilet.

Dynamically generated fonts

Monday, August 4th, 2003

The University of Minnesota Design Institute has designed a dynamically generated font which varies depending on the weather outside—cute and curly for warm, angular and stark for cold, that sort of thing. You can see an example here. The New York Times reported on this as well, although this is just a link to their brain-dead pay-per-article page. It was also discussed in the Typographica Blog, with lots of comments.

It seems, though, that these fonts are not really dynamically generated—instead, there are discrete glyphs pre-designed for each cell of a 2- or 3-dimensional matrix.

This reminds me of my original doctoral thesis project at Tokyo University, the one Sakamura didn’t like. We were going to develop a mathematical representation of kanji, and based on that generate characters in real time, completely parameterizable. This is a much harder problem than it looks, and surprisingly little progress has been made on it. The only result of my research was an overview of all the work in related areas done over the previous decade or so. I’m going to put that up on-line sometime real soon now.

JavaScript Object Notation

Monday, July 14th, 2003

JavaScript Object Notation is a very simple idea—a standard way to represent XML documents as a JavaScript object. This could be useful when you’re trying to do client-side processing of complex XML-like datasets and want to avoid dependencies on a particular browser’s XML functionality. In a way, the JavaScript containing information about a game tree that’s downloaded to your browser from gobase.org is the same idea, albeit specialized for SGF.

Next step: JSXSL to apply XSL transforms to these objects?

How Igowalker will change go writing

Sunday, July 13th, 2003

Kobayashi Chizu 5-dan had one of the most insightful reactions to Igowalker™ that I’ve heard so far. She said that this medium would require go authors to write much differently than in the past. In particular, they would have, and should take advantage of, the opportunity to include many more variations in their commentaries.

Navigating Google space

Saturday, July 12th, 2003

Touchgraph has super-cool ways of visually navigating relationships found in Google or Amazon searches.