Jun 20

Jun 17

Today I was stunned to see that Facebook has begun loading all their pages over AJAX, very much like what they were previously doing on their iPhone frontend.

Basically, the trick is to use URLs like :

http://www.facebook.com/home.php#/profile.php?id=665788844

and never move away from “home.php”, always change the signet part only.

I think Joe Hewitt has much to do in this update because he’s the creator of the Facebook iPhone frontend, which can be considered as a closed-source fork of iUI. For those who don’t know him, he was hired to Facebook when they bought his stealth startup Parakey, and he’s also the creator of the almighty Firebug. So he’s the kind of guy who gets it right when it comes to browser stuff ;-)

I think the main reason of that change is the Chat function which was added to Facebook a couple of weeks ago. I was amazed at how they managed to reload it at each pageview and still provide a “good enough” chat experience. Still, like many others, I noticed a few issues and my guess is that they decided to solve them once and for all by avoiding to reload the page constantly, just like Gmail.

Are we at the dawn of a standardization of this kind of navigation paradigm? It sure looks so. Its advantages compared to the “regular” way are worth the added complexity if you’re big enough.

Another detail worth mentioning here is that the Facebook implementation is quite neat, as all the links to “regular” pages like www.facebook.com/notifications.php are still valid but as they use progressive enhancement, they just can turn on the advanced navigation feature at any time on the client side, and take you to www.facebook.com/home.php#/notifications.php instead.

So congrats to the Facebook team for this update, they must have begun preparing it a long time ago… What’s next?

Jun 12

So that’s it, I’m leaving Brisbane and going back to the new Jamendo office for good.

We have some very exciting projects going on and I can’t wait to be there with the whole team again.

As I can’t really survive without a few concerts planned for the future, I’ve already booked several of them next month ;-)

  • Fred Wesley + Pee Wee Ellis at Jazz à Vienne, June 27th. Tribute to James Brown!!!
  • Rock Werchter Festival, with among many others: Radiohead, Justice, Sigur Ros, Lenny Kravitz, R.E.M., Ben Harper, Moby, Beck, ….
  • The Mars Volta at the Atelier, Luxembourg, July 20th. I’ve read “3 hours of concert without an opening act”. Not sure we’ll be able to make it through that! :)

I’ll also go to a bunch of concerts of Jamendo bands: I have found a couple of really good bands lately that I’ll feature soon with our new widget. More on that later!

May 26

… of one of my favourite bands: Mig

Of course it had been a while since they had given any news but still… it really hurts :-(

All we’re left with now is Dhikrayat and Yamatna

May 20

J.S. Bach’s last unfinished fugue from The Art of the Fugue has always fascinated me. (Listen to it on Youtube)

Lately I’ve been reviewing many theories about the mysterious abrupt ending at bar 239, one of the most interesting being the thesis of Indra Hughes.

It struck me that there wasn’t any organized place online to collaborate on the matter. As of May 20, it has not even its own Wikipedia page ;-)

So I’ve decided to do something about it!

I’ve just registered www.contrapunctus14.org which I’ll be opening it in the next few weeks. Here is a tentative feature set:

  • “Learn more about XIV”: mp3s, videos, articles, …
  • Endings: Attempt to build an exhaustive archive. upload CC-licensed mp3s/sheet music, comment, vote, … A kind of very vertical Jamendo ;-)
  • Forum

Hopefully this place will become a reference on the matter, with the ambitious goal of using collaboration and free exchange of ideas to maybe, maybe converge to a consensual ending of XIV.

I’m quite sure it won’t happen but the quest is infinitely interesting in itself ;-)

Feel free to contact me if you want to participate in the launch of the project!

May 15

Funny coincidence (even if there seem to be people on strike every day here) : I’m flying from Paris to Brisbane for the second time and once again, big demonstrations all around the city. Luckily there’s no strike at the airport!

I’ll spend my flight reading the seemingly excellent book Collective Intelligence. I’ve only gone throught the first chapters but it is already one of the best books I’ve read from O’Reilly.

May 10

jscrypt: the best (well… at least the geekiest) way to chat with your buddies about your top-secret projects you don’t want Gmail or Facebook to know about ;-)

May 10

I’ve planned 3 concerts for my 2 weeks in France this May:

  • Maceo Parker in Kaiserslautern (Germany), May 2. When seeing him in New Zealand a few weeks ago I promised myself I’d invite all my family when he comes near France again because I wanted them to see a P-Funk concert at least once in their lifetime… So I took 7 of them to Kaiserslautern! The show was really awesome and their concensus was that the trombone player is really cute. I guess ;-)
  • Morcheeba tonight @ the Atelier, Luxembourg city. I’m still not sure I’m a fan of Mocheeba but I hope I’ll make my mind tonight ;-) I just learned they changed their main singer 2 times in the past few years so maybe it won’t be the same as before. Anyway…
  • California Guitar Trio with Tony Levin @ New Morning, Paris, May 14: Not sure either about the guitar trio but any side project of bass guru Tony Levin is of interest!

So that’s a pretty good program before flying back to Australia on the 15th! No Jamendo artists in there but hopefully I’ll go to their gigs regularly next year in Paris.

May 01

Adobe just announced they are to open source the Flash format and lifting licenses fees.

This is really big news for the web… a few thoughts on that:

  • Will the search engines now be able to access Flash content more easily, and include it in their index?
  • Will Gnash develop more quickly now, or will Adobe GPL its runtime making Gnash irrelevant?
  • Against the Flash+AIR juggernaut, does Silverlight still have appeal for the developers?
  • How long before Flash on the iPhone now? ;-)

Exciting times…

May 01

I’m going to the first WordCamp (WordPress meets BarCamp) in Paris this Saturday. I’m primarily interested in evaluating a wordpress-mu install for Jamendo and I hope to find some advice there ;-)

To become familiar with MU I’m currently trying the latest release candidate which is synced with the wordpress 2.5 tree.

I’m wondering what would be the best choice for the blog URLs :

  • www.jamendo.com/blog/XXX ?
  • blogs.jamendo.com/XXX ?
  • XXX.jamendo.net ?

The real question behind this choice is: what’s the right tradeoff between security and integration into Jamendo?

May 01

We’ve just moved into our new office in Luxembourg City. Everyone (including myself!!) is thrilled with having our own place and it’s a great, great step in Jamendo’s history. Check out the pictures to see how awesome the office is!

We’ll be announcing an opening party soon :)

May 01

Once more, I’m trying to start blogging again ;-)

Oct 01

I got an iPhone 2 days ago and I couldn’t help starting to develop a Jamendo frontend right away. Here’s where I am after a few hours of hacking ;-)

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Sep 05

Jamendo has been hiring for 2 months. It’s not yet over, we’re still looking for marketing & sales people. However the new development team is quite complete. In order of arrival, we hired Maxime (php/python), Gerald (flash/webdesign), Amandine (junior sysadmin), Pierre-Olivier (php) and just two days ago, Eric (senior sysadmin). The last piece of the puzzle will be Jonathan (php/ajax) mid-september.

That was a lot of people in a very short time but we’re already seeing a good team emerge. Okay, maybe not yet so good at fixing the 153 active issues on our bugtracker :) But the one thing we’re learning very fast is… Poker!

Today was our second Poker evening and it was a blast, we’re slowly all becoming addicted (Try this free ajax poker website…) to the calls, raises and all-ins ! No luck (or skill?) for me tonight though, Eric showed us he knows how to bluff and won after 2 hours of fun ;-)


I can’t think of a cooler sysadmin ;-)

A few links : Jamendo Poker Tour on picasa / Jonathan’s post & photos

Aug 08

I just got back from Wikimania 07 in Taipei. I had the chance to present Jamendo twice, both at a Creative Commons Taiwan conference and at Wikimania itself.

This week in Taipei was a real eye-opener, I met a lot of people and discovered some new interests… more on that later.

In the meantime, here is my presentation:

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Aug 01

I’m officially rebooting this blog ;-) New theme, new wordpress and new content… hopefully.

Feb 03

I’m currently working on a big rewrite of the algorithms behind Jamendo’s “Similar albums”. The new algorithm will focus only on tags because there will be both “Similar albums” and “Related albums” (where I’ll put recommended stuff). I was really slow this morning while thinking about it so I decided to blog the whole process in real time ;-)

Let’s begin! The problem is, we have a list of weighted tags for each album and we want to compute for each album the list of album that have the most similar tags list.

Here is a sample tag/weight list for the Manu Cornet album :

jazz 19.8494
latino 18.4662
bossa 16.4924
contrebasse 16.4924
sensible 16.4924
world 16
basse 15.6844
hamonica 15.6844
batterie 15.6844
tamtam 15.6844
improvisation 15.6844
piano 8.48528
easylistening 7.34847
ambient 6.63325

Let’s call this base album “A1″ and the similar albums we’re looking for “A2″. We can consider that “20″ is the maximum tag weight.

A quick list of requirements for the algorithm :

  • Shouldn’t be symmetric
  • Should penalize A2s if they lack one or more of the most important tags of A1
  • Should be quite fast, even if we’re not going to run it on the fly (everything will be computed once a day)

Martin told me yesterday about the nice app “Grapher” which is bundled with OS X. I’m going to use it to write the formula.

My first idea was, for each tag of A1, to compute a number Z between -1 and 1 and add them all. Let (x,y) be the weight of the tag in A1 and A2 respectively. The most obvious algorithm would be :


z=20-ABS(x-y)

The axis on the left is Y, on the right it’s X and the elevation is of course Z.
The window is (0,20),(0,20),(-20,20)

Easy improvement : multiply by x/20


z=(20-ABS(x-y))*x/20

Quite good but there is a problem over the X axis. If y=0, z should always be < 0. Another easy solution : add min(0,y-x)


z=(20-ABS(x-y))*x/20+min(0,y-x)

New problem : x=20, y=10. In these conditions z shouldn’t be nul. Let’s multiply min(0,y-x) by (1-y/20).

z=(20-ABS(x-y))*x/20+min(0,y-x)*(1-y/20)

Better, but not good enough yet. (1-y/20)^4 ?

z=(20-ABS(x-y))*x/20+min(0,y-x)*(1-y/20)^4

Well, it looks quite good to me! Maybe we could tweak some curves a bit but let’s go for this one for now.

Here are the results for the Manu Cornet album :

id weight_sum
2336 89.7347740595245
608 84.9463957742962
2013 79.2737167470594
2239 78.7533019317343
1968 78.3494367998522
3552 78.2419321761695
2626 77.4643574361218
868 76.3107863971299

(query took 1.2 seconds)

I am not so happy with the results. Maybe there need to be another negative zone for tags that are in A2 but not in A1 after all.

Let’s reduce the window size to (0,1),(0,1),(-1,1) and take those “20″ factors out. Now much easier, here is what I’ve come up :

z=SQRT(x*y)+MIN(0,(y-x)^3)+0.5*MIN(0,(x-y)^3))

Looks good too but let’s compare the results :

id weight_sum
608 4.49465968951514
2336 4.32499417058527
2013 3.74828022088347
3552 3.49127205825584
2626 3.44471851383391
2407 3.35824086666307
2239 3.3511421181151
1968 3.27891762132192
868 3.18629627915296
1013 3.18123969513814
1741 3.11171873935927

(query took 1.2 seconds)

Quite funny that both queries take the same time to process : the formula doesn’t seem o be the bottleneck. Results are a bit better but I think there will still be some tweaking needed in the future. Maybe reduce the negative zones.

Anyway, now I’m going to implement this and the new data should be online in a few minutes. Don’t forget to check our the “Similar albums” slider on your favourite albums pages!

Jan 07

This is actually the first time on earth the new jamendo embeddable player is used ;-)

This is a random radio of all the albums. Please report any issues with it as it will be official in a few days!

Update : Once again, thanks for irpyC from jamendo for his nice GUI !

&amp;amp;amp;amp;amp;amp;nbsp;

Dec 14

I have been once again invited to present jamendo in Amsterdam for the first CC salon in the Netherlands yesterday. The evening was really interesting with two other presentations and two CC bands. I was told my presentation was quite good so let’s put it on this blog and if you’ve more questions, just ask ;-)

The presentation is focused on how and why jamendo and the artists use the Creative Commons licenses.

That’s it… See you soon Amsterdam and special thanks to all the Knowledgeland team for putting this event together, you guys rock!

Dec 12

The Good :

  • Shimon Peres
  • Having a jamendo presentation :-)
  • Overall good management
  • Good food
  • Low price tag
  • A few very good panels

The Bad :

  • A few very bad panels (Fashion and technology anyone?)
  • Poor wifi access
  • Nicolas Sarkozy and Francois Bayrou invited to run their presidential campaign
  • Many english-speaking people angry against Loic about the Sarkozy-french-only-30-mintes-no-questions thing

The Ugly :

  • Jamendo ranking only 5th on the 50 startups … We missed the 3rd rank that would have allowed us to take jamendo to the main stage but I guess that will be next year and without competition :-)

Ready for LeWeb4 next year ? In the meanwhile tell me if I missed a few highlights!

Technorati tags:

Close
E-mail It