Thursday, March 17th, 2005

Google Goopy

Filed under: — Daniel Lemire @ 18:41

Google open sourced some Python functional programming code : Google Goopy.

(Got this through Sean McGrath.)

Update: Marcel Ball who now has a blog and big large scholarship, pointed out to me that http://code.google.com is a better link to give out.

Our IJCAI05 paper

Filed under: Academia/Research, Science and Technology — Daniel Lemire @ 9:56

Yuhong is excited about our IJCAI05 paper:

I am so glad that our IJCAI submission is accepted. The accept rate is 18% (240/1329). Thanks to Martin Brooks and Daniel Lemire. They are great mathematicians. I’ve learned a lot from them. They are also fantastic people. I really enjoy working with them. It is the best paper I published after studying MBR and QR for 3 years.

I must say that working with Yuhong has been a great pleasure and a great experience. There is a story behind this as well… Yuhong and I were colleagues. When she came in, I visited her and looked at her work. I figured that this work was related to the work of another colleague I was studying. I put two and two together… but it took quite a long time before we started working together. In fact, I had to leave town, get a new job, before we started working together.

Lessons learned:

  • It is worth your time to study other people’s work even when they are not fifty-something shining stars, even if they are the anonymous colleague down the hall, and even if they are not in your field. In other words, don’t be focused on your own little world and your small group of friends, be open minded about your research topics.
  • Spend some time every so often studying papers, even strange papers, don’t just be focused on follow-up papers to your own ideas. In other words, make learning about new topics a priority.
  • It might be difficult, at times, to work with people who have a completly different outlook, but be generous and open to others. This is a key ingredient in scientific leadership.
  • I met Martin Brooks only a couple of times and I haven’t met Yuhong very often since we started working together seriously. Don’t let distance be a problem, it isn’t. I’m strongly convinced I could have a great working relationship with a researcher in China.

Wednesday, March 16th, 2005

French is the third language in the USA

Filed under: — Daniel Lemire @ 11:46

I don’t know how reliable this is, but through Didier, I learned that French is the third language spoken in the US. Here are the numbers:

Rank Language Speakers
1 English 215,423,555
2 Spanish 28,100,725
3 French 1,606,790
4 Chinese 1,499,635

It seems amazing that Chinese would not greatly outnumber French. Go figure!

Monday, March 14th, 2005

Curves and Surfaces - Avignon 2006 (January 15 2006 / June 29 - July 5, 2006)

Filed under: Passed CFP — Daniel Lemire @ 20:51

At long last, the Curves and Surfaces - Avignon 2006 web site is up! The conference is on “Representation and Approximation of Curves and Surfaces and Applications”.

Sunday, March 13th, 2005

Personalization: the TiVo case

Filed under: — Daniel Lemire @ 9:41

Michael Pazzani offers a course on Web Personalization. I have no time to check it further, but it looks like a very interesting course and the slides are available online.

What’s more interesting is that he offers his students a Word version of a 2004 TiVo paper (TiVo is a company that sells a TV show recording device). The paper is also available as a PDF file through ACM (but you need to be a member).

We describe the TiVo television show collaborative recommendation system which has been fielded in over one million TiVo clients for four years. Over this install base, TiVo currently has approximately 100 million ratings by users over approximately 30,000 distinct TV shows and movies. TiVo uses an item-item (show to show) form of collaborative filtering which obviates the need to keep any persistent memory of each user’s viewing preferences at the TiVo server. Taking advantage of TiVo’s client-server architecture has produced a novel collaborative filtering system in which the server does a minimum of work and most work is delegated to the numerous clients. Nevertheless, the server-side processing is also highly scalable and parallelizable. Although we have not performed formal empirical evaluations of its accuracy, internal studies have shown its recommendations to be useful even for multiple user households. TiVo’s architecture also allows for throttling of the server so if more server-side resources become available, more correlations can be computed on the server allowing TiVo to make recommendations for niche audiences.

Now, together with Verizon and Amazon, this is the third large company to use item-item collaborative filtering as in our Slope One algorithm used by inDiscover.net (which we licensed/sold to Bell/MSN). The TiVo paper itself is not so interesting: the details are conveniently hidden away.

Remember my post about the use of mathematical notations and how it was very useful in making papers precise? Well, the TiVo paper hardly use any mathematical notation, so it looks friendly, but try to really understand what they do and how they do it precisely. Maybe I’m just not smart enough, but I can’t really figure out. If they had expressed themselves in clearly stated and detailed equations, it would be clear. Now, all you have to go on is “we used a linear weighted average”. It is enough to understand the big idea, we could approximatively reproduce their work, we could, but we would have to guess our way through.

Maybe I’m just an old geek complaining too much…

Saturday, March 12th, 2005

The Social Software Revolution is happening!

Filed under: — Daniel Lemire @ 14:38

What’s the social software revolution? Well, I’m not expert in social software, go see Seb Paquet or Stephen Downes. But my understanding is as follows.

Software has long been seen as a way to support business processes or automate number crunching. Software has also been tool for providing services, such as entertainment (think video games) or telecommunication (think email or voice over IP), but also learning (see the Wavelet forum I host).

So, a dating service can be seen as a service. I met my wife through an Internet dating service. Actually, more like a free posting board. This was back in 1998 and shortly after meeting we adopted a cat called Yahoo.

But back then, my wife and I were a bit strange. It was still slightly shameful to use software to meet someone. Now, it is taken for granted.

Using software to support one’s social life, to support a community, is what I call using social software. It includes posting boards, blogs, wikis, chat rooms, and anything where people can meet and organize themselves. But just like a market is not a “service” per se, but rather a part of the community, social software finally becomes part of the community is no longer a service either. The provider/client paradigm doesn’t really apply. If whoever owns the posting board closes it down or start charging money, the community will move to another posting board. The service provider is just not very important. Nobody cares who pays for my blog hosting or who actually hosts it, these things are invisible in the social software sense.

So, if that’s social sofware, what is the social software revolution? Well, it is the transition between a world where using software to support your social life is a bit strange, to a world where it is the thing to do. It is when social software becomes ubiquitous.

I’ll give you an example… back in 1998, if you wanted to buy something on the Web, you had a really hard time to do so. It took effort. Remember that Google wasn’t around. It is still hard to buy commercial products on the Web other than some electronics and books (at least, in Canada): this is one of the failures of the dot-com era, it did not manage to replace brick-and-mortar. However, it has become tremendously easy to find people, used products and custom services through the Web, through posting boards an other tools. My wife just sold an exercise bike we had in the basement. It was out of the question to either pay for a ad (the expected profit is too small) or start asking people around. All my wife had to do was post a little note in a free local community web site, and within days, someone came over and bought the exercice bike for $40. She didn’t think twice about the fact that she used the Web to sell the bike. She didn’t once say “Web”.

Now, this example is just the tip of the iceberg. Non-commercial trade has just become immensely easier and common (I claim) thanks to social software. Of course, you could almost do this in 1970. Almost. You had the technology to do so, but you didn’t have the momentum. We didn’t have the momentum in 1998: I don’t have any data, but I claim that the person-to-person trade supported by software has grown exponentially since 1998 and there is no reason to believe that the dot-bust has impacted this underground movement.

This is maybe the most important thing to remember. Business is not technology. If technology companies go under, if the programmers are out of a job, it doesn’t mean that the technology is not working. It could very well that the technology is gaining ground at an exponential rate, but that business is unable to make a profit out of it: maybe individuals are making all of the profit. When I find my wife on a free posting board, nobody profits from it but me (and my wife). In fact, by not using a commercial service, it could even be that I contribute to a downward economic trend.

The economy could go to hell due to new technology, but the people, overall, could still be much better off. I think that is what we see. While life is not getting any easier, technology, in this case social software, is making our life better and easier. We just can’t easily measure it in terms of jobs or taxes.

Friday, March 11th, 2005

Simple Recipe for Debugging Web Services

Filed under: — Daniel Lemire @ 18:30

Standard Deviations gives a Simple Recipe for Debugging Web Services (where he defines “Web Services” as SOAP as does my friend Yuhong) and it involves downloading a compiling a small command line utility called netcat.

Cool! I like it!

Only requirement is that you’ve got to be running Linux, but surely, if you are reading my blog you are an enlightened person and you use Linux, right?

« Previous PageNext Page »

36 queries. 1.142 seconds. Valid XHTML

Powered by WordPress

Subscribe to this blog in a reader or by Email.