AI05 (December 8th 2004 / March 1st 2004)

I’ve noticed AI05′s Call for Papers. The topics covered include Natural Language, Agent and Multiagent Systems, Machine Learning, User Modeling, E-Commerce, Automated Reasoning, Web Applications, Reasoning under Uncertainty, Education, Data Mining, Games, Robotics, Manufacturing, and many more.

Edd Dumbill on Web 2.0

Edd Dumbill has a cool post on what the future of the Web is.

What’s hot:

  • Intellectual property and privacy law. If exchange and manipulation of data is key to the future web, then we need to understand that and be the ones in control. If corporations have too much control of data, as they are striving for, that’s the equivalent of API lock-in, and we’ll all suffer. But on the other hand, we want to tightly control the data about ourselves. An interesting conflict, about which I’d like to write more in future.
  • Transformation and annotation. Nobody’s going to own a unique hold on the form of expression of the data flying around in “web 2.0″, but they’re certainly going to want to transform between those forms. From the crude “emergent keywords” of del.icio.us to the intensive but scope-limited integration done by Google and A9, there’s going to be a lot of value in joining together previously isolated data islands.
  • Network engineering. Dumb, happy protocols that give quick results are on the rise. Look at the RSS madness, servers being pummelled. And RSS isn’t even mainstream yet, though it’s about to get that way. It gets messier before it gets better.

What’s not:

  • Complicated web service standards. Forget the WS-I lunacy. Web applications for computers were happening before the web services standards junk. Amazon would still be providing their interfaces with or without SOAP, WSDL and UDDI, and indeed all the evidence is that their users prefer to use the simpler HTTP/XML APIs anyway. As far as the web is concerned, the WS-* work is about sprinkling XML pixie dust on a failing idea.
  • Frameworks and silos. Don’t believe anyone who claims to have a wonderful new framework that’ll solve your problems if only you’d migrate everything you do to it. The web is all about separate pieces, loosely joined. The really clever businesses know how to manage uncertainty, they’re not looking to eliminate it. Circling the wagons will not integrate you into the web, neither will it promote web-like innovation inside a business.

C# programming for GPL fans

Looks like GPL is an ever expanding world. Through slashdot, I learned that there is GPL IDE for C# called SharpDevelop. Given that there is nothing wrong, apparently, with C# as a language, maybe I’ll need this one day. It is also being ported to Mono so it should eventually run under Linux too.

Ontologies and the Semantic Web for E-learning

From Downes’, I learned that the Journal of Educational Technology & Society has a special issue on “Ontologies and the Semantic Web for E-learning”.

The papers are:

Richard Hotte’s blog

Richard Hotte started his own blog called Formation à distance et technologies.

He starts his blog by asking whether one can be an eLearning researcher without having a blog:

Peut-on être enseignant et chercheur dans le domaine des technologies de l’information appliquée à la formation, surtout en formation à distance et en ligne sans avoir son blogue ?

inDiscover is now a Bell Sympatico/MSN web site!

Our music recommender site, inDiscover, is now a Bell Sympatico/MSN web site. The MSN part does stand for Microsoft so we did sell our soul a bit, but it is not any worse than sending Word documents by email.

It is also now fully bilingual (French/English).

The site is simple, you download (free) songs, rate them and the system will recommend new songs you are likely to like. There are a few twists to the site and you better go there yourself if you want to see how it works.

SCTIC-CREPUQ Meeting 2004

I was at the SCTIC-CREPUQ Meeting held at McGill University. CREPUQ is an organization representing all universities in Québec (Université de Montréal, Université du Québec, McGill University, Concordia University, Université Laval, and so on). SCTCI is the subcomittee on IT (in universities).

The meeting was about how people used IT in universities. There were many interesting discussions. Many discussions about Learning Objects to help professors (or students?), Pedagogical Engineering (I hate this term!!!) so that people get to “design” courses instead of simply teaching, WebCT as Prisonware, Standard bodies efforts against Open Source efforts, and so on.

Among the people present were Steven Downes, Griff Richards (who still doesn’t have a web site of his own), Gilles Gauthier, Marc Couture, and so on.

  • I learned about an initiative called RSS_LOM. I really like Stephen‘s differentiation: he is interested in online learning as opposed to eLearning. This being said, I think that anyone who does eLearning these days without doing online learning, is probably a bit out, so to speak. I was able to talk a bit more with Stephen later and I asked him how he could reconcile his fascination with RSS (which is meant to display only recent content) and the use of Learning Objects (which are meant to be long lasting). He said that with RSS, other people can capture the knowledge and store it in local databases, but that also, because we consider Web-based Learning Objects, they could not be long lasting because nothing is really permanent on the Web. Good points! Stephen also argues for a model with university professors doing research and not worrying about “teaching”. In effect, course content would not be rigid and would be aggregated in part by the students. You basically set the students free. Maybe that’s going to be possible on the day where pretty much all course content is available easily on the web. I suppose that university professors would still act as mentors, but also as reviewers to authenticate student learning.
  • There was a lot of talk about http://www.flickr.com/ as the new emerging model for meta-data: that is, meta-data entries and fields entirely defined by the users.
    There seems to be some confusion as to what the open source model is. People insist on a cathedral model where everything is careful designed in a top down approach, yet they claim to be inspired and supported by open source. I think it is a case of people using the open source term because it is fashionable, but I don’t think they are actually open source people.
  • Gilles Gauthier talked about his work in standard bodies and the problem they faced when translating IEEE LOM in French. I think this is very valuable work.

Update: Stephen Downes says my link should be http://www.flickr.com/ instead http://www.flicker.com/. While I know superficially both web sites, I’m not sure which one we were talking about at that conference. To make the matter worse, Lucas Gonze says we should actually attribute credit for the invention of Flcker to Josh Schacter.

Computing argmax fast in Python

Update: see Fast argmax in Python for the final word.

Python doesn’t come with an argmax function built-in. That is, a function that tells you where a maximum is in an array. And I keep needing to write my own argmax function so I’m getting better and better at it. Here’s the best I could come up with so far:

from itertools import izip
argmax = lambda array: max(izip(array, xrange(len(array))))[1]

The really nice thing about izip and xrange is that they don’t actually output arrays, but only lazy iterators. You also have plenty of similar functions such as imap or ifilter. Very neat.

Here’s a challenge to you: can you do better? That is, can you write a faster, less memory hungry function? If not, did I find the optimal solution? If so, do I get some kind of prize?

Next, suppose you want to find argmax, but excluding some set of bad indexes, you can do it this way…

from itertools import izip
argmaxbad = lambda array,badindexes: max(ifilter(lambda t: t[1] not in badindexes,izip(array, xrange(len(array)))))[1]

Python is amazingly easy.

As a side-note, you can also do intersections and union of sets in Python in a similar (functional) spirit:
def intersection(set1,set2): return filter(lambda s:s in set2,set1)
def union(set1, set2): return set1 + filter(lambda s:s not in set1, set2)

Update: you can do the same things with hash tables:
max(izip(hashtable[max].itervalues(), hashtable[max].iterkeys()))[1]

Aaron Straup Cope’s NYTimes Widgets

One of the most interesting talk we had at SWIG’04 was “Design Issues and Technical Challenges Making the Eatdrinkfeelgood Markup Language RDF” where Aaron showed why it was hard to use RDF in a XML project. I think it all boils down to the fact that we have no good widespread way of serializing RDF to XML. In any case, Aaron finally sent me a link to his NYTimes Widgets.

It lacks sufficient documentation for me to grok it quickly, but from what I understand, Aaron tried to create a useful and innovative RDF application. Here’s what he says about his widgets:

The New York Times includes a large amount of topical metadata with each article it publishes. These are widgets that, having harvested the data, try to do something interesting with it.

Good software engineering according to Paul Graham

Paul Graham describes what good software developers do:

In software, paradoxical as it sounds, good craftsmanship means working fast. If you work slowly and meticulously, you merely end up with a very fine implementation of your initial, mistaken idea. Working slowly and meticulously is premature optimization. Better to get a prototype done fast, and see what new ideas it gives you.

Next Page »

18 queries. 0.417 seconds. Valid XHTML

Powered by WordPress

Subscribe to this blog in a reader or by Email.