Het verschil tussen een URI en een URL en een URN

Wat is nou het verschil tussen een URI en een URL of een URN?

  1. een URN identificeert iets unieks over tijd en ruimte
  2. een URI identificeert iets
  3. een URL lokaliseert iets

voorbeeld:

  • “Edward de Leau” is niet uniek over tijd, dus het is een URI
  • “Edward-de-Leau/6000000000569063853″ is uniek, het is “ik”, uniek over alle mensen, dit is een URN 
  • <mijn postcode+huisnummer+naam> is een  URL omdat het “mij” lokaliseert, omdat er situaties zijn dat er mensen in een huis wonen die exact hetzelfde heten, is het geen URN.

ander voorbeeld:

  • “leau.net” is een URI omdat het grofweg mijn geregistreerde domein identificeert (dat verschillende lokaties heeft: e.g. te vinden via http, via ftp, via dns, via “mail”
  • http://leau.net” is een URL omdat het mijn website lokaliseert door middel van “http://”.
  • ALS ik een uniek ISBN nummer zou aanvragen voor mijn content dat zou dat een URN zijn e.g. isbn:9-12-345678-9, of nog beter: als ik niet alleen leau.net als een URI zou registreren bij mijn domein register maar zou vastleggen bij IANA (http://www.iana.nl/assignments/urn-namespaces/urn-namespaces.xhtml) als persistente eeuwig geldende eenheid dan zou dit een URN zijn.

Dit zijn Praktische begrijppen maar niet noodzakelijk waar:

comic simpel – Alle URL’s zijn deelverzamelingen van de bijbehorende URI’s. Dus “Edward-de-Leau/6000000000569063853″ is een deelverzameling van alle “Edward de Leau”‘s. Waarbij we moeten noteren dat als er inderdaad een oneindige hoeveelheid universa bestaat, dat het we het unieke universum nummer hieraan moeten toevoegen. (zoals Marvel doet voor zijn multiversum). In dat geval is het “Edward-de-Leau/6000000000569063853-1218″ (omdat 1218 het nummer is voor onze realiteit). Maar het verwarrende is natuurlijk dat dit tegelijk ook al een lokatie aangeeft, namelijk de unieke ik zelf in onze realiteit. Dus waarschijnlijk is “earth1218:Edward-de-Leau/6000000000569063853″ een URL, een URI en een URN. Echter, het is dan nog steeds niet precies genoeg, want het zou uniek moeten zijn over tijd en ruimte, en dat betekent dat we er een timestamp aan moeten toevoegen.  Dus iets als “earth1218:4.354*10^17//Edward-de-Leau/6000000000569063853/” geeft dan de unieke mij in alle multiversa op dit moment, waarbij we ervan uit gaan dat “ik” de verzameling van deeltjes is die  we grofweg zien als horen bij 1 mens. Als we echter de exacte tijd-ruimte locatie willen toevoegen dan wordt het iets ingewikkelder. Maar je komt hier al een heel eind mee.

eigenlijk niet zo simpel - 6000000000569063853 is een volgnummer en wellicht is een hash handiger over het unieke DNA materiaal, maar daarbij ontstaat dan de vraag of het DNA materiaal van “ik” op earth7324 dezelfde hash oplevert als die van mij, dus een volgnummer is waarschijnlijk handiger. Maar … bovenstaande is natuurlijk een simplistische aanpak gebaseerd op het simpele “marvel comics idee”. Als er oneindige universa zijn, dan kunnen er ontelbare combinaties ontstaan waarbij slechts in een deel daarvan ik nog te herkennen ben. Dus in de praktijk is het niet praktisch om dan uit te gaan van verzamelingen van deeltjes die een “ik” zijn (of enig object). Je zult dan waarschijnlijk terugvallen op permutaties van momenten, waarbij je gaat bekijken of het verschil tussen T1 en T2 (de specifieke delta dus) ook al is opgetreden ergens in een ander universa. M.a.w. je krijg dan een boomstructuur waarbij elke diepere laag een een sprong in de tijd betekent ter grootte van de Planck tijds eenheid. In de vrijheidsgraden die er bestaan tussen T1 en T2 is er dan een hoeveelheid mogelijkheden voor energie om zich te gedragen en om een state op te leveren T2. Je kunt dan oftewel de unieke status T2 gaan beschouwen als URN (omdat we niet weten of er nog meer bestaat dan alle multiversa)  of de delta tussen T1 en T2 gaan beschouwen als URN (omdat er ook een T5 > T6 zou kunnen zijn die ook een state oplevert als van T1 naar T2 maar via een andere delta).

eigenlijk nog onbeantwoord - Als we dan op die manier te werken willen gaan dan zouden we alle “states” van “ik”van moment van grofweg geboorte tot dood kunnen nemen en vergelijken die met de T states in alle andere multiversa om “ik’s” te vinden in die andere universa (of alle SpiderMans). Maar dat levert natuurlijk weinig op, omdat er ook “ik’s” kunnen zijn zonder linker arm. Die zul je dan niet vinden. Sterker nog … er kunnen ik’s zijn met alleen een digitaal brein in een robot, die nog steeds “ik” zijn. Dus… hoe kunnen we dan alle “ik‘s” vinden zoals Marvel doet in zijn Multiversum om ze een URN toe te kennen? Je zult een boomstructuur moeten maken van alle mogelijk toestanden in alle mogelijke multiversa. Dus T(0) is simpel (er is niets) en T(1) is e.g. 1 energie lading van N. Dus je krijgt van T0 naar T1, N vertakkingen op basis van een aantal parameters. Vervolgens ga je naar (t2), enz… Parallel aan dat werk ga je een lijst maken van “patronen” die je terugziet over de T’s en de T>T’s. Als nu binnen die set van patronen een bepaalde grenswaarde wordt overschreven in “gelijkvormigheid” e.g. > 0.5% dan is de kans groot dat “ik” ook “ik” ben in dat ander universum. Maar aangezien we nog niet kunnen kijken in die andere universa binnen de een of meerdere multiversums kunnen we die database met patronen nog niet opbouwen om eindelijk eens exact te beschrjiven wat “ik” eigenlijk is.

Zie:

  • http://stackoverflow.com/questions/176264/whats-the-difference-between-a-uri-and-a-url
  • http://tools.ietf.org/html/rfc3305

 

ShortLink URL: http://ed.je/2LO

het Google WebP image formaat: klaar voor gebruik?

Vaak heeft PNG formaat mijn voorkeur bij veel operaties. Ook bij e.g. het wegschrijven van images op disk van e.g. mijn wp-favicons plugin gebruik ik bij voorkeur png. Dit komt omdat PNG een open formaat is en ergens in het verleden heb ik het ook opgepikt als de bij voorkeur te gebruiken standaard voor het web net zoals “iedereen”.  Daarentegen heeft JPG weer de voorkeur voor foto materiaal omdat JPG daarin juist weer excelleert.

Naar aanleiding van wat ik las in PC Active 267: het onderzoekje over de snelheid van verwerking van PNG (en dat het soms tot wel 50% trager rendert dan een JPG ….) (moet toch selectiever gaan zijn met mijn png versus jpg gebruik @todo) (gebruik e.g. .png NOOIT voor foto’s tenzij je houdt van performance anti-patterns) (met de note dat specifieke hardware en software dan weer optimalizaties aan boord heeft specifiek voor veelgebruikte image formats) kwam ik bij het nieuwe WebP image formaat van Google.

WebP wordt gezien als een opvolger voor het jpg formaat: (en waarchijnlijk ook png) : het ondersteunt lossy en lossless images; lossless images zijn 26% kleiner dan PNG, lossy images zijn 34% kleiner dan JPG EN het support transparancy. Het is gebaseerd op de VP8 video codec dat gebruikt wordt om te voorspellen wat de waardes zijn van pixels in een blok dat het huidige blok omgeeft (dat levert veel nullen op en daardoor kan er beter gecompressed worden), het ondersteunt animatie etc… Het is wel nog in ontwikkeling. Zie voor geheugen gebruik, performance en verkleining o.a. : https://developers.google.com/speed/webp/docs/webp_lossless_alpha_study

Dus… waarom stap ik eigenlijk nu al niet volledig over naar WebP ? En dan niet alleen voor mijn websites maar ook voor mijn complete foto collectie? (e.g. Picasa / Irfanview (MET plugin) ondersteunt het). Er is native ondersteuning in Chrome en Firefox en er zijn javascript libraries ter ondersteuning van andere browsers. Er is een plugin voor native Windows gebruik etc…?

Het belangrijkste wat me weerhoudt is dat nog zo weinig sites het gebruiken. Zelfs op de site van Google zelf wordt nog veelvoudig jpg gebruikt (voor foto’s, avatars etc…).

Waarom gebruikt nog bijna niemand dit formaat op zijn websites?

Ik ben erover aan het denken om alle images op dit blog te converteren naar webp formaat…. maar dan op een apart domein e.g. webp.leau.net. Dat zou niet meer dan 30 minuten moeten kosten omdat het een simpele copy actie is en vervolgens een auto run van de webp converterer via de *nix commandline op de server en dan simpelweg wat sql queries op de WordPress database en vervolgens een one click install van de WordPress WebP plugin. De meeste tijd bestaat dan uit wachten. Ik zou dan 2 windows kunnen vergelijken qua load. Probleem is dan alleen dat alle nieuwe posts weer gaan defaulten op png… dus ik zou datgene wat ik handmatig doe eigenlijk dan slimmer moeten schrijven zodat het gescheduled kan worden omdat dit als wp transient waarschijnlijk ten koste zal gaan van de performance zal ik dit oftewel moeten schedulen via cron oftewel via een WP Server. Maar… het idee van WP Server heb ik nog niet helemaal uitgewerkt.

Wordt ooit vervolgd.