Sylvain Zimmer
Hacker, Entrepreneur & Conference Organiser

Archive for Uncategorized

R.I.P. Steve


Image by jonathan mak

The second day Flash died

The first day Flash died was January 27th, 2010, when Steve Jobs announced the iPad. A few months later, in his Thoughts on Flash letter, he confirmed and explained why he saw the future of the mobile web without Flash. He was hardly alone in thinking so, but it remained somewhat controversial at the time.

Since then, tens of millions of iPads have been shipped and no other tablet manufacturer or mobile manufacturer has been able to ship a device with a decent Flash implementation. However, beyond the “Steve was right” mantra and the obvious trend towards HTML5, the forthcoming death of Flash still wasn’t consensual.

Until today. Adobe just bought two hugely successful HTML5 tooling companies, TypeKit and Nitobi (makers of PhoneGap). It is hard to imagine a stronger endorsement for HTML5.

I think October 3rd, 2011 will be remembered as the second day Flash died, this time by the hands of its owner.

Of course Adobe will still spin Flash as a convenient solution for some use cases, which will remain true for the next few years, but they clearly announced where they want to go next, and boy, I couldn’t be happier that it’s towards the open web. For this, I think we can all give credit to Adobe. Few companies this size would even semi-publicly admit their technology is a dead-end and invest so heavily in a more open solution.

Big cheers to them for that.

Disclaimer: I co-founded Joshfire, a company also deeply invested in HTML5.

TEDGlobal day 5 session 12 : Waging Peace

SURPRISE guest at #tedglobal : Julian Assange from #wikileaks... on TwitpicThe last session began with a surprise speaker: Julian Assange from Wikileaks. Chris interviewed him about his achievements so far, including shifting 10% of the vote in the 2007 Kenyan election and lately the release of the infamous Bagdad shooting video. Why leak such material? “There are illegitimate secrets” Julian answered. “People in Bagdad, they don’t need to see the video. They see it everyday.”. Then he talked about Iceland who is becoming a safe heaven for free press. They are also working on a Nobel Prize for free press. At the end Chris asked the audience who thought of Julian as a modern hero or as a dangerous troublemaker. Modern hero won and even if I think “hero” may be a bit too much, you have to respect the guy for his courage and commitment. By the way, his talk was one of the first to be published on TED.com!

Next, Stefan Wolff talked about ethnic conflicts and civil wars. He wondered if all the pictures of current conflicts he showed on screen were to be pictures of the past. He argues there has been a decline in the number of conflicts since the 90s, due to institutional design, leadership and diplomacy. The subject was interesting but frankly the presentation a bit underwhelming because Stefan kept reading his notes too closely.

Then Eric Berlow did a short talk about the difference between complex and complicated. He showed how it was possible to find simple answers by raising complexity. He took as an example the NYT-leaked diagram for reaching popular support for the Iraqi government. An unholy mess of arrows but as he increased complexity and represented the graph in 3D, a simpler way to resolve dependencies emerged. Nice one!

Standing ovation for the #TED team at #tedglobal 2010  on TwitpicWilliam Perrin, the ex-CTO of the Blair administration from what I understood, talked about his neighborhood in London, which although very central seems to have been deserted by law enforcement. He showed how he managed to return to some kind of local civic democracy by launching a low-tech blog, and making people join forces. He argued governments should pledge to make the Internet the first means of communication with people.

Mallika Sarabhai, who opened TEDIndia, danced and sung. Some parts of it I liked, some others not.

Finally, Zainab Salbi talked about her childhood under missile strikes. She emphasized the importance of women in wars and most importantly in peace.

This last session closed TEDGlobal 2010, we unfortunately had to leave without going to the final BBQ party because of travel constraints. Next year maybe! ;-)

TEDx PARIS tomorrow ! Join us with the livestream :)

The past few months have been quite crazy. There will be some big news on the Jamendo front soon.

In the meantime, my side project TEDx PARIS is finally becoming big, tomorrow is the first public conference “à la TED” in Paris. We’ve got an amazing lineup of speakers for the 650 attendees, and that’s without the many surprises we’ve prepared ;-)

It has been soldout for one month but we have prepared a live video stream that will begin with the conference at 14:00 Paris time. It will be available on www.tedxparis.com/weblive/, liberation.fr and france24.com

Wish us good luck ! :)

Jamendo Radios on the Fonera 2.0, the video!

Today we received an USB audio interface so we shot a quick demo of our Jamendo+FON prototype ;-)

YouTube Preview Image

That’s it! For those interested in the source, it was moved on the official FON repository. Feedback welcomed!

A prototype of Jamendo Radios on the Fonera 2.0

I’ve spent a few hours yesterday on a prototype of Jamendo application for the upcomping Fonera 2.0

The idea is to allow Foneros to listen to our Creative Commons-licensed radios with an USB sound card plugged in the new USB port of the Fonera. These small sound cards can be found for as little as $1 on eBay, we already ordered a couple of them for the office.

So the application is still in prototyping stage but we’re now familiar with the development environment of the Fonera and have a much better idea of how the app can work.

A few screenshots :

That’s it! We still have to figure out how to start the radio automatically when the Fonera starts, add an authentification layer and maybe some sort of volume control.

We have checked in the code on our googlecode repository, feel free to comment!

A lot of news!

Well, time has come to try to blog again. For several reasons actually:

  • We launched Jamendo.net blogs! This blog is now actually hosted on jamendo.net, which gives me the ability to test the platform myself ;-)
  • I really like the iPhone wordpress client :)
  • We’re going to the Web2 Summit 08 with Laurent, Pierre and Eliane next week! Timing couldn’t be better because we’ll also witness the U.S. Election Night on November 4th. Finally we won’t be the only ones around wearing Obama t-shirts. Anyway, it’ll be really interesting and I’ll try to blog what I can for my future children to read ;-)

Blog reboot

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

Working on the algorithm for Jamendo’s “similar albums”

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!

First embeddable jamendo player!

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;

Page 1 of 4 1 2 3 4