Archive for the ‘computing’ Category

StackOverflow: the fatal flaw in its strategy

Sunday, June 5th, 2016

StackOverflow, the granddaddy of programming Q&A sites, has begun a long, inexorable decline into irrelevance.

I won’t talk here about how “StackOverflow sucks”; you can google that. Most of those people are complaining about how unfriendly SO is to newcomers. I don’t care about that. I actually think it should be more unfriendly to newcomers, who pollute and dilute the site’s content. I want to talk about the fundamental dysfunction on the site, the poor experience for the experienced users who should matter, and the failure in both developing and implementing the strategy, which over time is slowly and surely going to ensure its demise.

StackOverflow’s major business is selling eyeballs of people who come to it via Google. It cannot be a good sign for this would-be Unicorn, then, that all traffic metrics are flat to declining. Part of the problem is that virtually all programmers in the world already now come to SO to find answers to their questions. Even to continue at current levels assumes that Google will continue to drive traffic to the site. Indeed, at present for many programming questions, a Google query brings up half a dozen answers from Stack Overflow on the first page. This is both a blessing (now) and a curse (in the future); as Google’s algorithms evolve, it could easily start bringing up fewer SO results, and this is especially likely to happen as overall answer/question quality declines, as discussed later.

So the only remaining growth potential is more programmers, new domains, more questions (meaning more views per person), new content models, or new forms of monetization.


AlphaGo: Implications for Machine Translation

Thursday, April 7th, 2016

In this March 15, 2016 photo, South Korean professional Go player Lee Sedol reviews the match after finishing the final match of the Google DeepMind Challenge Match against Google's artificial intelligence program, AlphaGo, in Seoul, South Korea. Google's Go-playing computer program again defeated its human opponent in a final match on Tuesday that sealed its 4:1 victory. (AP Photo/Lee Jin-man, File)

Machine defeats man at the game of Go.

The entire world was stunned at the 4–1 win by Google’s Deep Mind over Lee Se-Dol, one of the world’s best Go players. Some say that Deep Mind is a highly specialized intelligence that only knows how to play Go. But the principles, techniques, and algorithms underlying Deep Mind do in fact have wider application to so-called AI-complete problems. What do they mean for Machine Translation (MT)?

The development of go programs and machine translation programs have followed a parallel path.

The initial generation of solutions to both problems were based on “classical” AI techniques of encoding human knowledge. The go programs used rules of “good shape”, and human-style “reading”. The MT programs used grammars and rulesets built by human linguists. The results, in the case of go, were programs which played at the amateur sub-dan level (meaning the top 10% of all players). The results, in the case of MT, were programs which could at best produce vaguely understandable translations.


Representing branching sequences in XML

Sunday, May 4th, 2008

Branching sequences are common in real life. For instance, a recipe can be represented as a sequence of steps, with branches corresponding to variations. Games of go or chess , of course, are the classic example of branching sequences, where branches handle the “could have/should have played there” comments. Branching sequences can even be used to handle linear text , with branches used for optional or alternate material.

If we have complete control over the programming environment we can implement branching sequences in any way we want, most of them quite obvious. But in today’s web-based world, there are good reasons to represent such structures using XML (for transformations, interoperability, or even storage in XML databases) and HTML (for display). What is the best way to do so?


Go program reaches shodan?

Thursday, May 1st, 2008

According to a post to the computer-go mailing list, Tei Meikou 9-dan (pictured; GoBase bio), known for his expertise in computer go, characterized the Monte Carlo-style go program Crazy Stone (earlier post ) as “at least 1-dan”, based on its winning performance at the First UEC Cup Computer Go Tournament. This is a huge milestone. Tei characterized moves 86 and 88 as “almost professional level” (see SGF game record).

Why Facebook is Failing in Japan: a New Kind of Partnering

Sunday, January 6th, 2008

TechCrunch had an about why MySpace and Facebook are failing in Japan.

I had a glimmering of Facebook’s potential problems in Japan when I noticed that my son Ko was spending the great majority of his time online on Japanese social networking site . He even pays money for the service, although only a few dollars a month. Imagine how many Facebook subscribers would remain if they had to pay.

The reason given in the post for Facebook’s failure is its lack of cultural sensitivity and late entry. But the broader reason is simply hubris, or more kindly, a poor analysis of its real strengths and how to leverage them in Japan. (more…)

JavaScript 2: Everything but the Kitchen Sink

Sunday, May 27th, 2007

Welcome to the next generation of JavaScript! The ECMAScript Edition 4.0 (ES4)Working Group has been hard at work and on Oct. 22, 2007 put out an overview. Their proposals give new meaning to the concept of “kitchen sink” and “design by committee”. The only thing they forgot was to rename the language Javathon++. Luckily, ES4 is no more likely to take root than the previous abortive proposal issued in 2003.


Will Google ever get user design?

Friday, May 18th, 2007

Why is everything Google makes so UGLY ?

Take your pick. Google Maps. Google Reader. iGoogle. GMail. Every single page is relentlessly, fixately UGLY .


Can the Game of Go Be Cracked by Brute Force?

Monday, May 7th, 2007

Feng-hsiung Hsu, one of the key contributors to Deep Blue (Wikipedia ) and now at Microsoft Research Asia, has published a manifesto proposing that go can be cracked by chess-like brute force techniques. Really?


Xanadu, Transliterature, and Ted Nelson

Saturday, January 6th, 2007

I just found out that Ted Nelson is continuing his decades-long, quixotic quest to reinvent the world’s basic document model, in the form of XanaduSpace 1.0, a recently released 3D document viewer that lets you see pan and zoom around a document universe with the transclusive relationships between documents represented as colored beams. You can download it here. This version is very close to demoware: there’s just one set of sample documents to be viewed.


Machine defeats man at go

Saturday, January 21st, 2006

A major milestone: a machine has consistently defeated very strong humans at at the game of “go” (report here ). The caveat is that this is on a 7×7 board, which is dozens of orders of magnitude less complex than the full 19×19 game.

Crazy Stone, the program in question, used the so-called Monte Carlo technique. Basically, it plays hundreds of thousands of random games and finds which move leads to the highest winning percentage. An interesting Wired article on this approach is here. A server allows bots to play thousands of games of each other, providing real-time information on the degree of promise of various approaches.

The real question is whether this is a one-trick pony useful only for tiny boards, or whether it can be usefully extended to 19×19. Until 20 years gives us immensely more powerful computers, we need some kind of abstraction to serve as the topic of Monte Carlo simulations. Or, perhaps Monte Carlo can be another trick in the go programmer’s bag of tricks, somehow combined with the opening books and connectivity analysis and pattern matching and heuristics that serve as the basis of today’s strongest 19×19 programs.