Archive for the ‘Games’ Category

Jeopardy! clues data

Sunday, November 30th, 2014

Jeopardy! clues data Nathan Yau writes:

Here’s some weekend project data for you. Reddit user trexmatt dumped a dataset for 216,930 Jeopardy! questions and answers in JSON and CSV formats, a scrape from the J! Archive. Each clue is represented by category, money value, the clue itself, the answer, round, show number, and air date.

Nathan suggests hunting for Daily Doubles but then discovers someone has done that. (See Nathan’s post for the details.)


DeepView: Computational Tools for Chess Spectatorship [Knowledge Retention?]

Sunday, October 19th, 2014

DeepView: Computational Tools for Chess Spectatorship by Greg Borenstein, Prof. Kevin Slavin, Grandmaster Maurice Ashley.

From the post:

DeepView is a suite of computational and statistical tools meant to help novice viewers understand the drama of a high-level chess match through storytelling. Good drama includes characters and situations. We worked with GM Ashley to indentify the elements of individual player’s styles and the components of an ongoing match that computation could analyze to help bring chess to life. We gathered an archive of more than 750,000 games from including extensive collections of games played by each of the grandmasters in the tournament. We then used the Stockfish open source chess engine to analyze the details of each move within these games. We combined these results into a comprehensive statistical analysis that provided us with meaningful and compelling information to pass on to viewers and to provide to chess commentators to aid in their work.

The questions we answered include:

In addition to making chess more accessible to novice viewers, we believe that providing access to these kinds of statistics will change how expert players play chess, allowing them to prepare differently for specific opponents and to detect limitations or quirks in their own play.

Further, we believe that the techniques used here could be applied to other sports and games as well. Specifically we wonder why traditional sports broadcasting doesn’t use measures of significance to filter or interpret the statistics they show to their viewers. For example, is a batter’s RBI count actually informative without knowing whether it is typical or extraordinary compared to other players? And when it comes to eSports with their exploding viewer population, this approach points to rich possibilities improving the spectator experience and translating complex gameplay so it is more legible for novice fans.

A deeply intriguing notion of mining data to extract patterns that are fashioned into a narrative by an expert.

Participants in the games were not called upon to make explicit the tacit knowledge they unconsciously rely upon to make decisions. Instead, decisions (moves) were collated into patterns and an expert recognized those patterns to make the tacit knowledge explicit.

Outside of games would this be a viable tactic for knowledge retention? Not asking employees/experts but recording their decisions and mining those for later annotation?

Clojure in Unity 3D: Functional Video Game Development

Thursday, September 25th, 2014

Clojure in Unity 3D: Functional Video Game Development by Ramsey Nasser and Tims Gardner.

I had never considered computer games from this perspective:

You have to solve every hard problem in computer science, 60 times a second. Brandon Bloom.

Great presentation, in part because of its focus on demonstrating results. Interested viewers left to consult the code for the details.

Combines Clojure with Unity (a game engine) that can export to PS4.

Is being enjoyable the primary difference between video games and most program interfaces?

A project to watch!

Useful links:

@timsgardner , Tims Gardner

@ra , Ramsey Nasser,

@jplur_ , Joseph Parker,

Unity (Game Engine) (Windows/Mac OS)

PS: I need to get a PS4 in order to track game development with Clojure. If you want to donate one to that cause, contact me for a shipping address.

I won’t spend countless hours playing games that are not Clojure related. I am juggling enough roles without adding any fantasy (computer-based anyway) ones. 😉

T3TROS (ClojureScript)

Thursday, September 4th, 2014

T3TROS (ClojureScript)

From the webpage:

We are re-creating Tetris™ in ClojureScript. We are mainly doing this to produce the pleasure and to celebrate the 30th anniversary of its original release in 1984. Our remake will enable us to host a small, local tournament and to share a montage of the game’s history, with each level resembling a different version from its past. (We are working on the game at least once a week):

  • DevBlog 1 – data, collision, rotation, drawing
  • DevBlog 2 – basic piece control
  • DevBlog 3 – gravity, stack, collapse, hard-drop
  • DevBlog 4 – ghost piece, flash before collapse
  • DevBlog 5 – game over animation, score
  • DevBlog 6 – level speeds, fluid drop, improve collapse animation, etc.
  • DevBlog 7 – draw next piece, tilemap for themes
  • DevBlog 8 – allow connected tiles for richer graphics
  • DevBlog 9 – live board broadcasting
  • DevBlog 10 – chat room, more tilemaps, page layouts
  • DevBlog 11 – page routing, username

What could possibly go wrong with an additive video game as the target of a programming exercise? 😉

Shaun LeBron has posted Interactive Guide to Tetrix in ClojureScript.

The interactive guide is very helpful!

Will echoes of Tetris™ tempt you into functional programming? What video classics will you produce?

Game Dialogue + FOL + Clojure

Thursday, August 28th, 2014

Representing Game Dialogue as Expressions in First Order Logic by Kaylen Wheeler.


Despite advancements in graphics, physics, and artificial intelligence, modern video games are still lacking in believable dialogue generation. The more complex and interactive stories in modern games may allow the player to experience diffierent paths in dialogue trees, but such trees are still required to be manually created by authors. Recently, there has been research on methods of creating emergent believable behaviour, but these are lacking true dialogue construction capabilities. Because the mapping of natural language to meaningful computational representations (logical forms) is a difficult problem, an important first step may be to develop a means of representing in-game dialogue as logical expressions. This thesis introduces and describes a system for representing dialogue as first-order logic predicates, demonstrates its equivalence with current dialogue authoring techniques, and shows how this representation is more dynamic and flexible.

If you remember the Knights and Knaves from Labyrinth or other sources, you will find this an enjoyable read. After solving the puzzle, Kaylen’s discussion shows that a robust solution requires information hiding and the capacity for higher-order questioning.

Clojure fans will appreciate the use of clojure.core.logic.


I first saw this in a tweet by David Nolen.

A first-person engine in 265 lines

Tuesday, June 3rd, 2014

A first-person engine in 265 lines

From the post:

Today, let’s drop into a world you can reach out and touch. In this article, we’ll compose a first-person exploration from scratch, quickly and without difficult math, using a technique called raycasting. You may have seen it before in games like Daggerfall and Duke Nukem 3D, or more recently in Notch Persson’s ludum dare entries. If it’s good enough for Notch, it’s good enough for me!

Not a short exercise but I like the idea of quick to develop interfaces.

Do you know if in practice it makes it easier to change/discard interfaces?


I first saw this in a tweet by Hunter Loftis.

Game development in Clojure (with play-clj)

Monday, May 19th, 2014

Uses Light Table so you will be getting an introduction to Light Table as well.

If you think about it, enterprise searches are very much treasure hunt adventures with poor graphics and no avatars. 😉

Clojure Procedural Dungeons

Thursday, April 17th, 2014

Clojure Procedural Dungeons

From the webpage:

When making games, there are two ways to make a dungeon. The common method is to design one in the CAD tool of our choice (or to draw one in case of 2D games).

The alternative is to automatically generate random Dungeons by using a few very powerful algorithms. We could automatically generate a whole game world if we wanted to, but let’s take one step after another.

In this Tutorial we will implement procedural Dungeons in Clojure, while keeping everything as simple as possible so everyone can understand it.

Just in case you are interesting in a gaming approach for a topic maps interface.

Not as crazy as that may sound. One of the brightest CS types I ever knew spend a year playing a version of Myst from start to finish.

Think about app sales if you can make your interface addictive.

Suggestion: Populate your topic map authoring interface with trolls (accounting), smiths (manufacturing), cavalry (shipping), royalty (managment), wizards (IT), etc. and make collection of information about their information into tokens, spells, etc. Sprinkle in user preference activities and companions.

That would be a lot of work but I suspect you would get volunteers to create new levels as your information resources evolve.

Is Nothing Sacred?

Saturday, December 14th, 2013

Podcast: Spying with Avatars by Nicole Collins Bronzan.

From the post:

As we reported with The New York Times this week, American and British spies have infiltrated online fantasy games, thinking them ripe for use by militants. Justin Elliott joins Stephen Engelberg in the Storage Closet Studio this week to talk about avatars, spies, and the punchline-inspiring intersection of the two.

As shown in the documents leaked from former National Security Agency contractor Edward J. Snowden to The Guardian, the NSA and its British counterpart, Government Communications Headquarters, have created make-believe characters to snoop and to try to recruit informers, while also collecting data and contents of communications between players, who number in the millions across the globe.

The intelligence community is so invested in this new arena, Elliott reports, that they needed a “deconfliction” group to solve redundancies as spies from many agencies bumped into each other in “Second Life.”

But that enthusiasm is not necessarily unfounded.

“One thing that I found — in the course of my reporting — that I found really interesting was a survey from this period when the games were getting very popular that found something around 30 percent of people who played these games and responded in this survey, by an academic researcher, said that they had shared personal information or secrets with their friends within the game that they had never shared with their friends in the real world,” Elliott says. “So I think we can all have sort of a few laughs about this, but for some people, these games really can function as sort of private spaces, which why I think, in part, the documents raise questions about privacy and legality of what the agencies were doing.”

How could anyone agree to infiltrate an online game?

I can understand rendering, torture, assassinations, bribery, lying, ignoring domestic and international law, to say nothing of the Constitution of the United States. Those are routine functions of government. Have been for all of my life.

But infiltrating online games, the one refuge from government malfeasance and malice many people have. That’s just going one step too far.

Gamers need to fight back! Track everyone you come in contact with. Track their questions, who they know, who they are with, etc.

Not all of them will openly ask you if you want to borrow a car bomb? That’s a dead tip-off that you dealing with the FBI.

Government agents are as trackable (perhaps more so) as anyone else. Enlist game management. Start games the government will want to infiltrate.

Track them in your world, so you can remonstrate with public officials in theirs.

PS: Topic maps are a good solution to tracking individuals across avatars and games. And they don’t require a melting data center to run. 😉

DARPA’s online games crowdsource software security

Friday, December 6th, 2013

DARPA’s online games crowdsource software security by Kevin McCaney.

From the post:

Flaws in commercial software can cause serious problems if cyberattackers take advantage of them with their increasingly sophisticated bag of tricks. The Defense Advanced Research Projects Agency wants to see if it can speed up discovery of those flaws by making a game of it. Several games, in fact.

DARPA’s Crowd Sourced Formal Verification (CSFV) program has just launched its Verigames portal, which hosts five free online games designed to mimic the formal software verification process traditionally used to look for software bugs.

Verification, both dynamic and static, has proved to be the best way to determine if software free of flaws, but it requires software engineers to perform “mathematical theorem-proving techniques” that can be time-consuming, costly and unable to scale to the size of some of today’s commercial software, according to DARPA. With Verigames, the agency is testing whether untrained (and unpaid) users can verify the integrity of software more quickly and less expensively.

“We’re seeing if we can take really hard math problems and map them onto interesting, attractive puzzle games that online players will solve for fun,” Drew Dean, DARPA program manager, said in announcing the portal launch. “By leveraging players’ intelligence and ingenuity on a broad scale, we hope to reduce security analysts’ workloads and fundamentally improve the availability of formal verification.”

If program verification is possible with online games, I don’t know of any principled reason why topic map authoring should not be possible.

Maybe fill-in-the-blank topic map authoring is just a poor authoring technique for topic maps.

Imagine gamifying data streams to be like Missile Command. 😉

Can you even count the number of hours that you played Missile Command?

Now consider the impact of a topic map authoring interface that addictive.

Particularly if the user didn’t know they were doing useful work.’s Climb to the Social Gaming Throne [TM Incentives]

Saturday, May 25th, 2013’s Climb to the Social Gaming Throne by Karina Babcock.

From the post:

This week I’d like to highlight, a European social gaming giant that recently claimed the throne for having the most daily active users (more than 66 million). has methodically and successfully expanded its reach beyond mainstream social gaming to dominate the mobile gaming market — it offers a streamlined experience that allows gamers to pick up their gaming session from wherever they left off, in any game and on any device.’s top games include “Candy Crush Saga” and “Bubble Saga”.

And — you guessed it — runs on CDH.

With a business model that offers all games for free, relies advertising and in-game products like boosters and extra lives to generate revenue. In other words, it has to be smart in every communication with customers in order to create value for both the gamer and the advertiser. uses Hadoop to process, store, and analyze massive volumes of log data generated from the games along with other data sources such as daily currency exchange rates from the European Central bank, multiple metadata feeds, and advertising servers’ log files.

Karina ends with links to more details on the Hadoop setup at

I don’t know how to make a useful topic map as easy as “Candy Crush Saga” or “Bubble Saga,” but you might.

Or perhaps a combination of topic maps and games.

For example, buying up extra lives for popular games and they are awarded as incentives for uses of a topic map interface?

You can search G.*e with no prize or use Topic Map X, with a prize.

Which one would you choose?

Protests of unfairness from a house that rigs counts aren’t going to bother me.


Graphs for Gaming [Neo4j]

Saturday, April 6th, 2013

Graphs for Gaming by Toby O’Rourke and Rik van Bruggen.

From the description:

Graph Databases have many use cases in many industries, but one of the most interesting ones that are emerging is in the Gaming industry. Because of its real-time nature, games are a perfect environment to make use of graph-based queries that are the basis for in-game recommendations. These recommendations make games more interesting for the users (they get to play cooler games with other people in their area, of their level, sharing their social network profile, etc) but also more profitable for the game providers, developers and publishers. After all: the latter want to be recommending specific games to specific target audiences, and thereby maximising their potential revenues.

Just in case tonight is movie night at your house and you forgot to pick up any videos. 😉

Or not.

Review comments:

Rik van Bruggen covers two centuries of math (Euler as the inventor of graphs), skips to Neo4j, then to NoSQL, criticisms of relational databases, new definition of complexity, and examples of complexity. Hits games at time mark 12:30, but discusses them very vaguely. Graphs in gaming, harnessing social networks. A demo of finding the games two people have played.

Nice demo of the Neo4j console.

Works for same company as the basis for a recommendation to play against Rik? Remember the perils of K-Nearest Neighbors: dangerously simple.

Query response in milliseconds? Think about the company size for the query.

Demonstrates querying but nothing to do with using graphs in gaming. (Mining networks of users, yes, but that’s a generic problem.)

At time mark 28:00, the Neo4j infomercial finally ends.

Toby O’Rourke takes over. Bingo business case was to obtain referrals of friends. Social network problem. General comments on future user of graphs for recommendations and fraud/collusion detection. (Yes, I know, friend referrals and recommendations sound a lot alike. Not to the presenter.)

There are informative and useful Neo4j videos so don’t judge them all by this one.

However, spend your forty-eight plus minutes somewhere other than on this video.

Code Maven and programming for teens [TMs for pre-teens/teens?]

Sunday, November 25th, 2012

Code Maven and programming for teens by Greg Linden.

From the post:

I recently launched Code Maven from Crunchzilla. It helps teens learn a little about what they can do if they learn more about programming.

A lot of teens are curious about programming these days, but don’t end up doing any. And, it’s true, if you are a teen who wants to learn programming, you either have to use tutorials, books, and classes made for adults (which have a heavy focus on syntax and are slow to let you do anything) or high level tools that let you build games but teach a specialized programming language you can’t use anywhere else. Maybe something else might be useful to help more teens get started and get interested.

Code Maven lets teens learn a little about how to program, starting with basic concepts such as loops then rapidly getting into fractals, animation, physics, and games. In every lesson, all the code is there — in some cases, a complete physics engine with gravity, frame rate, friction, and other code you can modify — and it is all live Javascript, so the impact of any change is immediate. It’s a fun way to explore what programming can do.

Code Maven is a curious blend of a game and a tutorial. Like a tutorial, it’s step-by-step, and there’s not-too-big, not-too-small challenges at each step. Like a game, it’s fun, addictive, and experimentation can yield exciting (and often very cool) results. I hope you and your friends like it. Please try Code Maven, tell your friends about it, and, if you have suggestions or feedback, please e-mail me at

Greg is also responsible for Code Monster, appropriate for introducing programming to kids 9-14. Code Maven, teens, 13-18 plus adults.

Curious if you know of other projects of this type?

Suspect it is effective in part because of the immediate feedback. Not to mention effective authoring/creation of the interface!

Something you should share with others.

Reminds me of the reason OS vendors almost give away academic software. If a student knows “your” system and not another, which one has the easier learning curve when they leave school?

What does that suggest to you about promoting a semantic technology like topic maps?

Phrase Detectives

Friday, November 16th, 2012

Phrase Detectives

This annotation game was also mentioned in Bob Carpenter’s Another Linguistic Corpus Collection Game, but it merits separate mention.

From the description:

Welcome to Phrase Detectives

Lovers of literature, grammar and language, this is the place where you can work together to improve future generations of technology. By indicating relationships between words and phrases you will help to create a resource that is rich in linguistic information.

It is easy to see how this could be adapted to identification of subjects, roles and associations in texts.

And in a particular context, the interest would be in capturing usage in that context, not the wider world.

Definitely has potential as a topic map authoring interface.

Another Linguistic Corpus Collection Game

Friday, November 16th, 2012

Another Linguistic Corpus Collection Game by Bob Carpenter

From the post:

Johan Bos and his crew at University of Groningen have a new suite of games aimed at linguistic data data collection. You can find them at:

Wordrobe is currently hosting four games. Twins is aimed at part-of-speech tagging, Senses is for word sense annotation, Pointers for coref data, and Names for proper name classification.

One of the neat things about Wordrobe is that they try to elicit some notion of confidence by allowing users to “bet” on their answers.

Used here with a linguistic data collection but there is no reason why such games would not work in other contexts.

For instance, in an enterprise environment seeking to collect information for construction of a topic map. An alternative to awkward interviews where you try to elicit intuitive knowledge from users.

Create a game using their documents and give meaningful awards, extra vacation time for instance.

Cliff Bleszinski’s Game Developer Flashcards

Tuesday, August 21st, 2012

Cliff Bleszinski’s Game Developer Flashcards by Cliff Bleszinski.

From the post:

As of this summer, I’ll have been making games for 20 years professionally. I’ve led the design on character mascot platform games, first-person shooters, single-player campaigns, multiplayer experiences, and much more. I’ve worked with some of the most amazing programmers, artists, animators, writers, and producers around. Throughout this time period, I’ve noticed patterns in how we, as creative professionals, tend to communicate.

I’ve learned that while developers are incredibly intelligent, they can sometimes be a bit insecure about how smart they are compared to their peers. I’ve seen developer message boards tear apart billion-dollar franchises, indie darlings, and everything in between by overanalyzing and nitpicking. We always want to prove that we thought of an idea before anyone else, or we will cite a case in which an idea has been attempted, succeeded, failed, or been played out.

In short, this article identifies communication techniques that are often used in discussions, arguments, and debates among game developers in order to “win” said conversations.

Written in a “game development” context but I think you can recognize some of these patterns in standards work, ontology development and other areas as well.

I did not transpose/translate it into standards lingo, reasoning that it would be easier to see the mote in someone else’s eye than the plank in our own. 😉

Only partially in jest.

Listening to others is hard, listening to ourselves (for patterns like these), is even harder.

I first saw this at: Nat Turkington’s Four short links: 21 August 2012.

Catering to the long tail? (business opportunity)

Tuesday, August 7th, 2012

I was struck by a line in Lattice games and the Economics of aggregators, by P. Jordan, U. Nadav, K. Punera, A. Skrzypacz, and G. Varghese, that reads:

A vendor that can provide good tools for to reduce the cost of doing business F is likely to open the floodgates for new small aggregators to cater to the long tail of user interests — and reap a rich reward in doing so.

You see? Struggling through all the game theory parts of the paper were worth your time!

A topic map application that enables small aggregators select/re-purpose/re-brand content for their “long tail of user interests” could be such an application.

Each aggregator could have their “view/terminology/etc.” both as a filter for content delivered as well as how it appears to their users.

Not long tails but think of the recent shooting incident in Aurora.

A topic map application could deliver content to gun control aggregators, with facts about the story that support new gun control laws, petitions and other activities.

At the same time, the same topic map application could delivery to NRA aggregators, the closest gun stores and hours for people who take such incidents as a reason to more fully arm themselves.

Same content, just repurposed on demand for different aggregators.

True, any relatively sophisticated user can setup their own search/aggregation service, but that’s the trick isn’t it? Any “relatively sophisticated user.”

Thinking not so much as a “saved search” or “alert”, dumpster diving is only to productive and it is tiring, but curated and complex searches that users can select for inclusion. So they are getting the “best” searches composed by experts.

I am sure there are other options and possibilities for delivery of both services and content. Topic maps should score high for either one.

PS: Slides from Stanford RAIN Seminar


Wednesday, July 11th, 2012

Scalatron: Learn Scala with a programming game

From the homepage:

Scalatron is a free, open-source programming game in which bots, written in Scala, compete in a virtual arena for energy and survival. You can play by yourself against the computer or organize a tournament with friends. Scalatron may be the quickest and most entertaining way to become productive in Scala. – For updates, follow @scalatron on Twitter.

Entertaining and works right out of the “box.”

Well, remember the HBase 8080 conflict issue, so from the Scalatron documentation:

java -jar Scalatron.jar -help

Displays far more command line options than will be meaningful at first.

For the HBase 8080 issue, you need:

java -jar Scalatron.jar port int

or in my case:

java -jar Scalatron.jar port 9000

Caution, on startup it will ask to make Google Chrome your default browser. Good that it asks but annoying. Why not leave the user with whatever default browser they already prefer?

Anyway, starts up, asks you to create a user account (browser window) and can set the Administrator password.

Scalatron window opens up and I can tell this could be real addictive, in or out of ISO WG meetings. 😉

Scala resources mentioned in the Scalatron Tutorial document:

Other Resources

It’s a bit close to the metal to use as a model for a topic map “game.”

But I like the idea of “bots” (read teams) competing against each other, except for the construction of a topic map.

Just sketching some rough ideas but assuming some asynchronous means of communication, say tweets, emails, IRC chat, a simple syntax (CTM anyone?), basic automated functions and scoring, that should be doable, even if not on a “web” scale. 😉

By “basic automated functions” I mean more than simply parsing syntax for addition to a topic map but including the submission of DOIs, for example, which are specified to be resolved against a vendor or library catalog, with the automatic production of additional topics, associations, etc. Repetitive entry of information by graduate students only proves they are skillful copyists.

Assuming some teams will discover the same information as others, some timing mechanism and awarding of “credit” for topics/associations/occurrences added to the map would be needed.

Not to mention the usual stuff of contests, leader board, regular updating of the map, along with graph display, etc.

Something to think about. As I tell my daughter, life is too important to be taken seriously. Perhaps the same is true about topic maps.

Forwarded by Jack Park. (Who is not responsible for my musings on the same.)

Cloud-Hosted GPUs And Gaming-As-A-Service

Friday, May 18th, 2012

Cloud-Hosted GPUs And Gaming-As-A-Service by Humayun

From the post:

NVIDIA is all buckled up to redefine the dynamics of gaming. The company has spilled the beans over three novel cloud technologies aimed at accelerating the available remote computational power by endorsing the number-crunching potential of its very own (and redesigned) graphical processing units.

At the heart of each of the three technologies lies the latest Kepler GPU architecture, custom-tailored for utility in volumetric datacenters. Through virtualization software, a number of users achieve access through the cutting-edge computational capability of the GPUs.

Jen-Hsun Huang, NVIDIA’s president and CEO, firmly believes that the Kepler cloud GPU technology is bound to take cloud computing to an entirely new level. He advocates that the GPU has become a significant constituent of contemporary computing devices. Digital artists are essentially dependent upon the GPU for conceptualizing their thoughts. Touch devices owe a great deal to the GPU for delivering a streamlined graphical experience.

With the introduction of the cloud GPU, NVIDIA is all set to change the game—literally. NVIDIA’s cloud-based GPU will bring an amazingly pleasant experience to gamers on a hunt to play in an untethered manner from a console or personal computer.

First in line is the NVIDIA VGX platform, an enterprise-level execution of the Kepler cloud technologies, primarily targeting virtualized desktop performance boosts. The company is hopeful that ventures will make use of this particular platform to ensure flawless remote computing and cater to the most computationally starved applications to be streamed directly to a notebook, tablet or any other mobile device variant. Jeff Brown, GM at NVIDIA’s Professional Solutions Group, is reported to have marked the VGX as the starting point for a “new era in desktop virtualization” that promises a cost-effective virtualization solution offering “an experience almost indistinguishable from a full desktop”.

Results with GPUs have been encouraging and spreading their availability as a cloud-based GPU should lead to a wider variety of experiences.

The emphasis here is making the lives of gamers more pleasant but one expects serious uses, such as graph processing, to not be all that far behind.

Machine See, Machine Do

Friday, May 4th, 2012

While we wait for maid service robots, news that computers can be trained as human mimics for labeling of multimedia resources. Game-powered machine learning reports success with game based training for music labeling.

The authors, Luke Barrington, Douglas Turnbull, and Gert Lanckriet, neatly summarize music labeling as a problem of volume:

…Pandora, a popular Internet radio service, employs musicologists to annotate songs with a fixed vocabulary of about five hundred tags. Pandora then creates personalized music playlists by finding songs that share a large number of tags with a user-specified seed song. After 10 y of effort by up to 50 full time musicologists, less than 1 million songs have been manually annotated (5), representing less than 5% of the current iTunes catalog.

A problem that extends to the “…7 billion images are uploaded to Facebook each month (1), YouTube users upload 24 h of video content per minute….”

The authors created to:

… investigate and answer two important questions. First, we demonstrate that the collective wisdom of Herd It’s crowd of nonexperts can train machine learning algorithms as well as expert annotations by paid musicologists. In addition, our approach offers distinct advantages over training based on static expert annotations: it is cost-effective, scalable, and has the flexibility to model demographic and temporal changes in the semantics of music. Second, we show that integrating Herd It in an active learning loop trains accurate tag models more effectively; i.e., with less human effort, compared to a passive approach.

The approach promises an augmentation (not replacement) of human judgement with regard to classification of music. An augmentation that would enable human judgement to reach further across the musical corpus than ever before:

…while a human-only approach requires the same labeling effort for the first song as for the millionth, our game-powered machine learning solution needs only a small, reliable training set before all future examples can be labeled automatically, improving efficiency and cost by orders of magnitude. Tagging a new song takes 4 s on a modern CPU: in just a week, eight parallel processors could tag 1 million songs or annotate Pandora’s complete song collection, which required a decade of effort from dozens of trained musicologists.

A promising technique for IR with regard to multimedia resources.

What I wonder about is the extension of the technique, games designed to train machine learning for:

  • e-discovery in legal proceedings
  • “tagging” or indexing if you will, text resources
  • vocabulary expansion for searching
  • contexts for semantic matching
  • etc.

A first person shooter game that annotates the New York Times archives would be really cool!

Game Theory

Tuesday, December 6th, 2011

Game Theory by Matthew Jackson and Yoav Shoham.

Another Stanford course for the Spring of 2012!

From the description:

Popularized by movies such as “A Beautiful Mind”, game theory is the mathematical modeling of strategic interaction among rational (and irrational) agents. Beyond what we call ‘games’ in common language, such as chess, poker, soccer, etc., it includes the modeling of conflict among nations, political campaigns, competition among firms, and trading behavior in markets such as the NYSE. How could you begin to model eBay, Google keyword auctions, and peer to peer file-sharing networks, without accounting for the incentives of the people using them? The course will provide the basics: representing games and strategies, the extensive form (which computer scientists call game trees), Bayesian games (modeling things like auctions), repeated and stochastic games, and more. We’ll include a variety of examples including classic games and a few applications.

Just in time for an election year so you will be able to model what you think is rational or irrational behavior on the part of voters in the U.S. 😉

The requirements:

You must be comfortable with mathematical thinking and rigorous arguments. Relatively little specific math is required; you should be familiar with basic probability theory (for example, you should know what a conditional probability is) and with basic calculus (for instance, taking a derivative).

For those of you not familiar with game theory, I think the course will be useful in teaching you a different way to view the world. Not necessary more or less accurate than other ways, just different.

Being able to adopt a different world view and see its intersections with other world views is a primary skill in crossing domain borders for new insights or information. The more world views you learn, the better you may become at seeing intersections of world views.

When Gamers Innovate

Monday, November 7th, 2011

When Gamers Innovate

The problem (partially):

Typically, proteins have only one correct configuration. Trying to virtually simulate all of them to find the right one would require enormous computational resources and time.

On top of that there are factors concerning translational-regulation. As the protein chain is produced in a step-wise fashion on the ribosome, one end of a protein might start folding quicker and dictate how the opposite end should fold. Other factors to consider are chaperones (proteins which guide its misfolded partner into the right shape) and post-translation modifications (bits and pieces removed and/or added to the amino acids), which all make protein prediction even harder. That is why homology modelling or “machine learning” techniques tend to be more accurate. However, they all require similar proteins to be already analysed and cracked in the first place.

The solution:

Rather than locking another group of structural shamans in a basement to perform their biophysical black magic, the “Fold It” team created a game. It uses human brainpower, which is fuelled by high-octane logic and catalysed by giving it a competitive edge. Players challenge their three-dimensional problem-solving skills by trying to: 1) pack the protein 2) hide the hydrophobics and 3) clear the clashes.

Read the post or jump to the Foldit site.

Seems to me there are a lot of subject identity and relationship (association) issues that are a lot less complex that protein folding. Not that topic mappers should shy away from protein folding but we should be more imaginative about our authoring interfaces. Yes?

Easy as Pie? – Teaching Code Literacy

Sunday, October 30th, 2011

Easy as Pie? – Teaching Code Literacy by Sarah Allen.

A very entertaining presentation on teaching programming to children.

One of its key points was the need for immediate gratification. (Suspect that is probably the case for adults as well but don’t tell anyone.)

The presentation made me think that one of the barriers to teaching topic maps (under whatever guise or name) is its delayed gratification.

That is it is all fine and good to talk about the issues that interest us as topic map specialists but users are really more interested in results that are of interest to them.

I don’t have a specific game or scenario in mind but wanted to point out this presentation as a starting point for discussion of subject-centric gaming.

Your suggestions and comments are always welcome but especially here. I don’t know what interests/motivates other adults, much less children.

PS: Sarah mentions that the “computer science” classes in SF are teaching Word and PowerPoint. Says “…having a class in Word is like having a class in pencil.” Thought you would appreciate that. 😉

From the description:

Sarah Allen talks on how to introduce children to the basics of programming, presenting a new related language called “Pie” along with lessons learned from creating a DSL in Ruby.

Let’s make an Elemental Type System in Haskell – Part I

Sunday, October 2nd, 2011

Let’s make an Elemental Type System in Haskell – Part I

From the post:

recently I falled in love (again) with Haskell, and I’ve decided to start a simple toy project just to stretch my Haskell muscles fibers.

Meanwhile, I’ve started Final Fantasy VII again, so I thought to realize a simple Elemental Type System. I dunno how much this project will be complex, but a lot of fun awaits.

By post three (3) the author changes the name to …Elemental Battle System….

Same series.

To put a topic map cast (shadow?) on this adventure think about the creatures, places, events and players as all having identities. Identities that we want to manage in a topic map. Their properties change during the game. So we need to update the topic map, but how often? Does a player “identity” change if they die?

Perhaps not from a system perspective but what about in the game? Or in the view of other players? Assume those differing “views” are also subjects that we want to represent. How do we manage game subjects as they move in and out of those “views?”

Other posts in this series are:

Let’s make an Elemental Type System in Haskell – Part II
Let’s make an Elemental Battle System in Haskell – Part III
Players are coming next.

Production and Network Formation Games with Content Heterogeneity

Tuesday, September 27th, 2011

Production and Network Formation Games with Content Heterogeneity by Yu Zhang, Jaeok Park, and Mihaela van der Schaar.


Online social networks (e.g. Facebook, Twitter, Youtube) provide a popular, cost-effective and scalable framework for sharing user-generated contents. This paper addresses the intrinsic incentive problems residing in social networks using a game-theoretic model where individual users selfishly trade off the costs of forming links (i.e. whom they interact with) and producing contents personally against the potential rewards from doing so. Departing from the assumption that contents produced by difference users is perfectly substitutable, we explicitly consider heterogeneity in user-generated contents and study how it influences users’ behavior and the structure of social networks. Given content heterogeneity, we rigorously prove that when the population of a social network is sufficiently large, every (strict) non-cooperative equilibrium should consist of either a symmetric network topology where each user produces the same amount of content and has the same degree, or a two-level hierarchical topology with all users belonging to either of the two types: influencers who produce large amounts of contents and subscribers who produce small amounts of contents and get most of their contents from influencers. Meanwhile, the law of the few disappears in such networks. Moreover, we prove that the social optimum is always achieved by networks with symmetric topologies, where the sum of users’ utilities is maximized. To provide users with incentives for producing and mutually sharing the socially optimal amount of contents, a pricing scheme is proposed, with which we show that the social optimum can be achieved as a non-cooperative equilibrium with the pricing of content acquisition and link formation.

The “content heterogeneity” caught my eye but after reading the abstract, this appears relevant to topic maps for another reason.

One of the projects I hear discussed from time to time is a “public” topic map that encourages users to interact in a social context and to add content to the topic map. Group dynamics and the study of the same seem directly relevant to such “public” topic maps.

Interesting paper but I am not altogether sure about the “social optimum” as outlined in the paper. Not that I find it objectionable, but more that “social optimums” are a matter of social practice than engineering.

A Survey On Games For Knowledge Acquisition

Tuesday, July 5th, 2011

A Survey On Games For Knowledge Acquisition by Stefan Thaler, Katharina Siorpaes, Elena Simperl, and, Christian Hofer.


Many people dedicate their free time with playing games or following game related activities. The Casual Games Market Report 2007[3] names games with more than 300 million downloads. Moreover, the Casual Games Association reports more than 200 million casual gamers worldwide [4]. People play them for various reasons, such as to relax, to be entertained, for the need of competition and to be thrilled[9]. Additionally they want to be challenged, mentally as well skill based. As earlier mentioned there are tasks that are relatively easy to complete by humans but computationally rather infeasible to solve[27]. The idea to integrate such tasks as goal of games has been created and realized in platforms such as OntoGame[21],GWAP[26] and others. Consequently, they have produced a win-win situation where people had fun playing games while actually doing something useful, namely producing output data which can be used to improve the experience when dealing with data. That is why we in this describe state of the art games. Firstly, we briefly introduce games for knowledge acquisition. Then we outline various games for semantic content creation we found, grouped by the task they attempt to fulfill. We then provide an overview over these games based on various criteria in tabular form.

Interesting survey of the field that will hopefully be updated every year or even made into an online resource that can change as new games emerge.

Curious about two possibilities for semantic games:

1) Has anyone made a first-person shooter game based on recognition of facial images of politicians? Thinking that if you were given a set of “bad” guys to recognize for each level, you could shot those plus the usual combatants. The images in the game would be draw from news footage, etc. Thinking this might attract political devotees. I even have a good name for it: “Term Limits.”

2) On the theory that there is no one nosier than a neighbor, why not create an email tagging game where anonymous co-workers get to tag your email (both in and out)? That would be one way to add semantic value to corporate email and generate a lot of interest in doing so. Possible name: “Heard at Water Cooler.”


Tuesday, July 5th, 2011

INSEMTIVES: Incentives for Semantics

From the about:

The objective of INSEMTIVES is to bridge the gap bet­ween human and computational intell­igence in the current semantic content authoring R&D land­scape. The project aims at pro­ducing metho­dologies, methods and tools that enable the massive creation and feasible manage­ment of semantic cont­ent in order to facilitate the world-­wide up­take of semantic tech­nologies.

You have to hunt for it (better navigation needed?) but there is a gaming kit for INSEMTIVES at SourceForge.

A mother lode of resources on methods for the creation of semantic content that aren’t boring. 😉


Tuesday, July 5th, 2011

OntoGame: Games for Creation of Semantic Content

From the about page:

OntoGame’s goal is to build games that can be used to create semantic content, a process that often can not be solved automatically but requires the help of humans. Games are a good way to wrap up and hide this complex process of semantic content creation and can attract a great number of people.

If you are tired of over-engineered interfaces for semantic annotation of content with menus, context sensitive help that you can’t turn off, and dizzying choices for ever step, you will find OntoGame a refreshing step in another direction.

Current games include:

  • Tubelink
  • Seafish
  • SpotTheLink
  • OntoPronto
  • OntoTube

Tubelink and Seafish are single player games so I tried both of those.

Tubelink is an interesting idea, a video plays and you select tags for items that appear in the video and place them in a crystal ball. Placing the tags in the crystal ball at the time the item appears in the video results in more points. Allegedly (I never got this far) if you put enough tags in the crystal ball it bursts and you go to the next level. All I ever got was a video of a car stereo with a very distracting sound track. A button to skip the current video would be a useful addition.

Seafish has floating images, some of which are similar to a photo you are shown on the lower right. You have to separate the ones that are similar from those that are not by “catching” them and placing them in separate baskets. The thumbnail images enlarge when you hover over them.

Neither one of them is “Tetris” nor “Grand Theft Auto IV“, but gaming for the sake of gaming has developed over decades. Gaming for a useful purpose should be encouraged. It will catch up soon enough.