Monthly Archive for February, 2005

Tricks to fight right-click image copying


An image like the one on the right (using the standard <img> tag) can easily be copied by any visitor: right-click the image and select “Save Picture As” or “Copy Image”. In cases where the author wants to protect his images from copying, there are a couple of ways to make the copying harder. Not make it impossible, just less trivial.
The fact that you can get the image by checking the HTML (”View Source”) is something that is difficult to avoid, and in any case, the vistor could always take a screen shot and trim the result to have only the image. So I’ll just focus on disabling the “Save/Copy Image” functionality.

Remark: there are ways to make all Right-Click functionality inaccessible. I think this is a bad practice (for the reasons, check jeffdav), so I will not cover these methods.

Trick #1: Table Background

You use the image as the table background: <TABLE STYLE="background-image: url(...)">. If you do just that, the “Save Picture As” option goes away, but a new “Save Background” is created. So you cover up the image by placing a transparent gif before it, in the <TD> cell.

The end effect is that is looks like you can copy or save the picture, but you will be saving the GIF file.

Remark: you have to explicitly specify the dimensions of the table, it will not autoscale to the size of the image.


Trick #2: Div Background

You can do basically the same thing with a <div>: you use the picture as the background image, and you put another <DIV> above it with the transparent GIF.

You would again need to specify the exact dimensions of the whole thing, but wait, there’s another trick: put the image in an <IMG> tag inside the second DIV and give it a visibility: hidden. This way it takes up the size of the picture without actually showing up, or appearing right-clickable.


Trick #3: Flash image

The third is a no-brainer: using a Flash object. Almost 100% of browsers have Flash built-in, so compatibility problems are limited. For the exact OBJECT and EMBED, check the HTML source of this text or the Macromedia site.
Here also, you need to give the right dimensions to the Flash object, otherwise it will take a default (square) size.

Remark: using the menu="false" option ensures that the only options showing up on a right-click are: “Settings…” (disabled) and “About Macromedia Flash Player …”.


Conclusion

It is possible to use some simple tricks to make right-click copy or save functionality impossible. I wouldn’t go as far as to call this ‘copyright protection’, but it helps. At least no one can claim they just copied it because they thought it would be OK.
I used the last option (Flash) on my Tango Steps site, to protect the images I use from my teachers, Marisa and Oliver.

Technorati:

If you're new here, you may want to subscribe to my RSS feed or receive updates via email. Thanks for visiting!

Blogging about bloggers blogging

I will not be posting an update for the ‘Belgian Popular Blogs‘ today because I haven’t had the time yet to add Technorati/PubSub scores. Since I expect this will shake up the listing in a significant way, I want to do it right.

I have had some publicity for the list through Maarten and De Standaard and of course some bloggers have taken the opportunity to take a piss at the initiative. So some clarification: I started the list because of poor Astrid Wittebolle’s article in De Morgen, where she had the audacity to list the Top-5 Belgian bloggers. The indignation afterwards (”No, I was first!”) was amusing, but I realised I probably only knew the tip of the iceberg of Belgian bloggers. Since there was no adequate top whatever, I started making one myself. The project combines some of my pet topics – social software, search engine metrics, Excel statistics – so it’s fun to do.

Some blogs are not included because it is impossible to get the right numbers. I only include blogs with their own domain name. If someone publishes on users.skynet.be/jamesdoe/blog/page.html, then I don’t include that. Maybe in the future I will, but for now, I can’t get significant statistics.

The results, as I have claimed from the beginning, have nothing to do with the ‘quality’ of the blog, just the quantitative, measurable criteria like link popularity, PageRank, … My idea of what blogs are worth reading or not does not enter into the picture. For example, I believe the De Standaard blog has great value as a cross-over between traditional media and the blogosphere. But it is not featured in the Top #30, because its numbers are not high enough (yet?). When I will add blog-specific ratings (Technorati, Feedster, PubSub, BlogLines, …) it might climb up, or not. I have no idea yet.

And to end a little quote (in Dutch, sorry) about the ‘VLD-syndrome’ from pietel.be, one of the good (my own personal opinion and all that) blogs I discovered by creating this list:

Dit is een kwaal waarbij je zodanig met jezelf en het kappen op je blog-genoten bezig bent, dat je het eigen publiek totaal uit het oog verliest. Je blogt om gelezen, bekeken of beluisterd te worden en natuurlijk heeft iedereen die hiermee bezig is de pretentie of het ego om te pretenderen dat je iets te vertellen hebt. Anders begin je er niet aan. Ca va de soi, non?
(from: pietel.be)

QuotePlay and portable SMIL


Matt Round had released QuotePlay, a Flash-based MP3 player for playing specific parts (’quotes’) of an MP3 sound file. A bit like <blockquote> for sound, and a handy way to cite podcasters.

I remember Jon Udell talking about a different approach for the same problem:

Peter van Dijck wrote to tell me about his tool for converting the URL of a Real stream, plus start/stop times, into a link to the specified segment. A while ago, I mentioned Rich Persaud’s version of the same idea (PFOR: AutoMeta’s RPXP), which works with Windows Media and QuickTime as well as Real. Using either of these, you can do what I did the other day — namely, link to a segment within a video stream — without hacking URLs and wrapper files.
(from Jon Udell’s Blog – May 13, 2004)

The RPXP tool works by generating a RAM/ASX/SMIL meta file on the spot by processing the ’start’/’stop’ information in the URL. Instantaneously generated playlist files, sounds a lot like Webjay, right?

Which brings me to a related topic: wouldn’t it be great for future portable MP3/WMA players to support the ASX (Windows Media) and SMIL (Quicktime/RealPlayer/MP3) playlist format? There are already devices that support music + images (the iPod photo, the iRiver H10) and even movies (the iRiver PMC140, the Zen Portable Media Center). It would be so easy to glue the audio and video together in playlist files to create slideshows, partial playback (like the above QuotePlay), reuse of the same intro/outro audio for different playlists, …

For the moment, the iPod supports M3U playlists (audio only – but m3u does not support start and end times) and the iPod photo can show album art, i.e. visual metadata embedded in the MP3 file. Both features are very limited.

Imagine a Powerpoint-2-SMIL export functionality that enables you to take your presentation on your portable player, and hook it up to an overhead projector. Imagine a package of 1 video file with 3 soundtracks – each in a different language – and different subtitles, all glued together by a set of small playlist files. Imagine creating a playlist on-the-fly that contains the most memorable quotes ina 90-minute speech, and that is sync’ed with your PC.

Technorati:

Domain names in Flanders and Wallonie: the digital divide


DNS.be, the Belgian non-profit organisation that manages the .be domain, has published new statistics on domain name distribution in Belgium. They added geographical statistics for e.g. the domain names per inhabitant in 2004. Some numbers:

  • 1000 Brussels: 18,2 domains/100 inhabitants (or ‘dom/100′)
  • 2000 Antwerp: 16,2 dom/100
  • 3000 Leuven: 9,5 dom/100 (but 3118 Werchter: 35 dom/100!)
  • 3500 Hasselt: 7,6 dom/100
  • 4000 Liege: 2,5 dom/100 (but Sankt Vith: 14,2 dom/100)
  • 5000 Namur: 3,5 dom/100
  • 6000 Charleroi: 2,8 dom/100
  • 7000 Mons: 2,5 dom/100
  • 8000 Brugge: 5,4 dom/100
  • 9000 Gent: 7,2 dom/100

Wallonie may seem already a bit behind here, but it gets worse when you go outside of the major cities: where in Flanders most villages/municipalities have on average > 2 domain per 100 inhabitants (like my hometown: 8840 Staden: 4,6 dom/100), in Wallonie not even half of the villages have one domain name per 100 inhabitants. This gives contrasts like: 3300 Tienen: 2,9 dom/100, and 1357 Hélécine, right next door: 0,7 dom/100.

This reminds me of the launch we did of the StaatsbladClip email newsletter: the subscriptions were 10 to 1 Flemish. In the weekend, we would have peaks of the Dutch-language subscriptions, whereas then the traffic on the French-language newsletter would be just about dead. Flemish people go home and switch on the PC. In Wallonie, they put on their boots and go hunting.

Some more weird numbers:

  • being close to France does not seem to incite more DNS activity, however being close to Germany (the Rocherath/Sankt Vith area) has a positive effect.
  • what’s with 3461 Molenbeek (Bekkevoort)? Every town in the vicinity has a normal score (1,5-3 dom/100) but they are at 0,4. Is there some other demographic responsible for this (like: no ADSL available there, average age > 75 years)?
  • the 2nd best score is for 1831 Diegem: 20 dom/100, which might have something to do with the number of IT companies in its industry parks. But why does Werchter score 35 dom/100? Who registered those 1091 domains? Rock Werchter? A pro-active DNS registrar?

Technorati:

Popular Belgian Blogs: version 4

#1: coolios.net
Valentine or not, here are the numbers of the Belgian Jury.

The changes to the process are:

  • added some 20 more blogs, including the now #3 Dog Of Flanders. Hey, I can’t be expected to know all blogs, I discover new ones every day.
  • added some ‘normal’ sites to see how they compare to the blogs. Today I will show results for the Flemish newspapers.
  • added the 3 Dutch shockblogs: Flabber, VolkomenKut en GeenStijl, to see how far ‘behind’ Belgium is.
  • #2: zattevrienden.bechanged the weighting system for search engine hits. Altavista claims to have over 50.000 pages for coolios.net, whereas Google has only 2040. So I scaled all numbers to percentages of the site with the most hits. This makes Google results weigh heavier. (Flabber has most hits in most search engines: 9220 in Google, 192000 in Yahoo, 47000 in MSN and 199000 in Altavista)
  • Alexa and Google PageRank coefficient calculation remains +- the same: they can at best give a multiplier of 200%, and at worst 100%.
  • the end result is no longer in ‘equivalent hits’, but in percentages. To keep things easy, I scale everything back to 100% for the #1 site: coolios.net.

#3: dof.skynetblogs.be
Here is the top #30:

  1. 100,0% www.coolios.net
  2. 87,0% www.zattevrienden.be
  3. 75,4% dof.skynetblogs.be
  4. 73,6% demuynck.org
  5. 56,0% fuckhedz.com
  6. 48,5% veerle.duoh.com
  7. 41,6% lvb.net
  8. 37,5% www.kapingamarangi.be
  9. 30,5% mathibus.com
  10. 28,0% www.scene24.net
  11. 27,9% blog.zog.org
  12. 27,9% www.sepi.be
  13. 27,2% www.polskaya.be
  14. 27,0% pdw.blogspot.com
  15. 26,5% www.jahsonic.com
  16. 26,4% www.internetjournalistiek.be #4: demuynck.org
  17. 21,8% www.domilog.be
  18. 20,7% www.druppels.be
  19. 19,1% www.ruudsdesign.com
  20. 18,2% www.smintjes.be
  21. 16,4% percept.be
  22. 16,2% zonderzever.blogspot.com
  23. 16,0% www.dominiek.be
  24. 16,0% www.eug.be
  25. 15,1% www.eskimokaka.be
  26. 13,5% www.7seconden.be
  27. 13,4% huugendruug.blogspot.com
  28. 13,2% www.kwaadbloed.be
  29. 13,1% lonestar.skynetblogs.be
  30. 12,5% bruxelles-ma-ville.skynetblogs.be

#5: fuckhedz.com
When we compare this to the top 3 Dutch blogs:

  1. 481,1% www.flabber.nl
  2. 191,5% www.geenstijl.nl
  3. 154,3% www.volkomenkut.com

And because I promised: the Belgian ‘traditional media’: De Vlaamse Gazetten

  1. 92,1% www.destandaard.be
  2. 63,1% www.gva.be
  3. 57,1% www.nieuwsblad.be
  4. 43,3% www.hbvl.be
  5. 43,0% www.hln.be
  6. 31,0% www.hetvolk.be
  7. 26,8% www.demorgen.be

(Previous top Belgian blogs: version 1, version 2 and version 3.)

UPDATE Oct 2005: check out the top 60 based on virtual blog value

Technorati:

LovePangs – Pain-Rage-Resent-Over


Anyone knows what a “Love Pain Congress” is? Neither did I, so I yesterday I went to LovePangs in Ghent.

When you get in, you are screened by the “Pain Commission” to see in what stage of the process you are: Pain, Rage, Resent or Over. I got the black ‘OVER’ badge, because actually, yes, I’m over it. You also get 20 Pain Euro that you can use later in the event. The most important part of the Congress are the one-on-one conversations you can have with ‘pain experts’. These are an mix of 25 well-known (Jos Geysels, Pascale Platel) and lesser known people that you can have a 30-minutes conversation with on some aspect of love, pain, regret, guilt, … you name it. These experts also belong to one of the 4 groups mentioned above, and you can only book a time slot with a person of your colour. If you want to, you can however use your pain euros to sell your badge and buy one of another colour at the “Pain Stockmarket” (in some cases, you get paid for this, in other cases you need to pay: supply and demand and all that jazz). There was also some karaoke theatre going on, but I never got to that.

Mieke DebruyneSo how did it go for me: I got in and booked a ‘black’ date with Mieke Debruyne, journalist (on “missed opportunities” – how prophetic this would be) and another ‘black’ one with Mieke Deley – dancer (on “guilt” – no picture, sorry). At 21h30 I got asked to fill in a vacant spot, but that turned out to be double booked. At 22h00 I was supposed to have my conversation with Mieke Deley, but since our table was double booked, we waited for 15 minutes and then just started talking while sitting on the ground in a corner. The conversation was great fun, we lost track of time and since no one told us our time slot was over, I only got to Mieke Debruyne 20 minutes late, at which point she was already talking to some one else. The organisation was rather clueless (yes, using Excel sheets can be something of a black art). When I asked to maybe book Ms Debruyne at a later time, the lady in question seemed to have disappeared. But since talking to Mieke-the-dancer was so much fun anyway, we told every one of the Love Pain hostesses who interrupted us – and there were quite some – that we just started our session, which gave us a load of free drinks, half a dozen of different locations and about 2 hours of off-and-on sparkling and very open conversation.

End conclusion: there’s still some work in the details, but the idea is brilliant. The general mood amongst visitors is something between openheartedness, amusement and genuine interest in what’s going on in the minds and hearts of the other person. That goes for most of the conversations I had that night, not only the 1 ‘pain expertise’ that I managed to arrange.

If there is a new edition in 2006, I’ll be there! Oh, and if Mieke Debruyne would be so kind to drop me a line so we can finally have that session, I’d be so grateful.

CD-to-MP3 ripping speed estimation

As every sensible car-owner in Brussels, I rip my CDs to MP3 so I can put copies of them in my car. As every self-respecting geek, I have multiple PCs at home. Which brings me to following observation: not all PCs rip alike. On one PC the CPU maxes out at 100% for the whole ripping procedure, and on the other, I never get above 75%. So I started wondering: what are the elements to define the maximum ripping speed you can get on a PC?
My hunch:

the CD-ROM drive speed:

the original CD audio specification required a constant data rate. This was implemented by running the CD at 500 rpm for the first/inner tracks on the CD (ø 48mm) and at 200 rpm for the outer tracks (ø 118mm). If the CD would have been played at a constant 500 rpm, the data rate at the end would have been 500/200 = 2,5X. (cf Devnulled: Ripping speed)
With CD-ROM the data should be delivered as fast as possible. So the rotation speed is turned up as much as possible. The physical boundaries are the vibrations and the centrifugal forces that occur at high speeds. Maxwell claims the maximum safe speed is 48X. Since the “48X” is marketing speak, this speed is only obtained at the outer border of the CD: this means that the rotation speed would be 48 x 200 = 9200 rpm. Some CDs seem to explode above 10.000 rpm.
To convert this speed into a data rate: at 9200 rpm, the outer tracks would deliver 48x the data rate of an audio CD: 67,74 Mbps or 8.47 MB/s. The first tracks, at ø 48mm, deliver data 2,5 times slower: 27,52 Mbps or 3,44 MB/s.
Real-life tests of a whole bunch of drives on DAE speed results.
For the exact sizes: CD-R/CD-RW technical specifications

the bus speeds:

the CD-ROM drive is connected to the PC by a ATAPI, SCSI, FireWire or USB connection. In theory there could also be a network in between (e.g. when using a Ethernet connected CD Jukebox).
The slowest ATA-33 has a theoretical max throughput of 33MB/s. Most modern SCSIs go above 20MB/s and FireWire gives 50 MB/s. So they would not be the bottleneck in the ripping process.
USB1.1 is limited to 1,5 MB/s (in practice even lower). Most common networks would be a bottleneck too (even Fast Ethernet at a theoretical 12,5 MB/s since 7MB/s would be more of a realistic top rate in practice, certainly if the network is used for other stuff too. Same thing with WiFi standards: 802.11g’s advertised “54Mbps” will in real life never translate in an actual 6,75MB/s throughput.

the CPU speed:

encoding raw audio data to MP3 is CPU intensive. Main parameter will be the clock speed – which I would expect to scale linearly: a 2GHz processor does it twice as fast as a 1GHz. Extra influences: brand of processor (Intel/AMD), model (Celeron/Pentium4/Athlon/Athlon64), number of processors (or HyperThreading). Also, the software you use to encode (LAME/GOGO/RealPlayer/Windows Media Player/…) will have an impact.
Some data can be found on GamePC.com: an Intel P4 3.06 GHz encodes 200MB of raw data info 160 kbps MP3 in 57 seconds: 3,5 MB/s or 20X. The AMD AthlonXP 2700+: 3,28 MB/s or 18.6. More info on GamePC.com confirms our hunch that performance scales linearly with clock speed. For the Pentium4: (1,15 MB/s) per GHz or 6,5X per GHz.

the MP3 bitrate:

the above numbers are for 160 kbps, but what with 192 kbps and 64 kbps? Is encoding faster or slower? I found no data on the net, and I haven’t tested it myself. So no hunch here. Also, the output of the encoding process, even at a very high quality 320kbps is largely within the capacity of any output, even Bluetooth, god forbid. So I don’t take that parameter into account.


So in the following situation:

  • a 24X CD-ROM drive
  • a Pentium 4 2,8GHz processor
  • ripping with the LAME encoder to 160 kbps

Your ripping will start at about 9,8X and speed up until your CPU is saturated at 18,2X. Which gives the graphic at the right. Now there’s a rule of fist.

Remark: looking at the benchmarks, adding a second processor (or HyperThreading) does not enhance the ripping speed (probably since the MP3 encoding code does not do parallelisation). But if you have 2 CPU’s, only one CPU will go to 100% and you keep some breathing room while your PC is creating the MP3s.

Sue your customers

(Post in Dutch)

Het Franse equivalent van anti-piraterijstichting Brein (”Sacem“) stond onlangs in zijn hemd. Muzikanten als Yann Tiersen, Ez3kiel, Le Peuple de l’Herbe en Manu Chao ondertekenden in opinietijdschrift Le Nouvel Observateur een manifest waarin ze strijden voor een eind aan de hetze tegen de downloader. ‘Net als minstens acht miljoen andere Fransen hebben wij ooit online muziek gedownload en zijn we dus potentiele misdadigers.’
(from 3voor12.vpro.nl)

Marcel, ge gaat het nooit geloven: nu vinden de artiesten ook al dat we moeten stoppen met iedereen een proces aan te doen die MP3s downloadt.

Geen paniek, Suzanne! Ik had dit voorzien in mijn businessplan.

Hoe bedoelt ge?

Since love and fear can hardly exist together, if we must choose between them, it is far safer to be feared than loved. Machiavelli, Suzanneke!

En dat betekent concreet …

We doen een paar artiesten een proces aan wegens contractbreuk, we zetten er een tiental andere op straat, en het gaat rap gedaan zijn.

Amai, Marcel, gij zijt ne straffe tiep… Zeg, het is vrijdag vandaag, he? Wie sturen we vandaag een sies en die sist?

‘Cease and desist’, Suzanne. Even in mijn agenda kijken … Dominiek of Fuckhedz? Inne miene mutte …

Ik nodig u uit om te beleven op welk gesofisticeerd niveau dit gevecht beslecht wordt. Hyperlinks voor dummies:

Although it is possible to make links without the ISP (who hosts the site on which these links appear) knowing it and although those links constitute a technical means enabling users to go directly or indirectly from one site to another, they can be considered as information which is to be found on a web site. Therefore, the fact that such links are to be found on a web site hosted by Belgacom Skynet has to be viewed as a storage of information on its server. What is more, these links automatically refer to another site, they are a kind of key which, when you click on it, makes it possible to download, copy and spread reproductions of music records without the authorisation of the right owners. Linking to such illegal files while knowing (or being supposed to know) that these links are illegal constitutes an unlawful act.
(via IFPI vs Belgacom Skynet – PDF)

Technorati: