Arxiu de la categoria: Codi

Prevenir la compartició de fotos a pinterest

Pinterest es una de les plataformes de compartició que més està creixent a internet.

A vegades no ens interessa que sigui fàcil que algú comparteixi una de les nostres fotografies a Pinterest, per les raons que siguin.

Doncs tenim una forma de fer-ho un poc més difícil, que no imposible.

Per evitar-ho simplement afegirem a la página, entre les etiquetes <head></head>:

<meta name="pinterest" content="nopin" />

Si volem modificar el missatge, simplement fem el següent:

<meta name="pinterest" content="nopin" description="Uep!, me sap greu però no pots compartir això" />

Si no vols evitar la compartició de totes les imatges, simplement només unes quantes, has de posar aquest atribut a l’etiqueta img que vulguis protegir:

<img src="imatge.jpg" nopin="nopin" />

Com he comentat abans, no és impossible la compartició, però ja ho posam més difícil.

font: Prevent pinning from your site | Pinterest

Crear icones de pantalla de windows 8 per una web

A la nova versió de windows, la 8, el primer que veu l’usuari es un panell amb les icones dels programes.

Microsoft, ha posat fàcil, als desenvolupadors web, la forma de crear aquestes icones. Si en volem tenir una per a la nostra web, tan sols s’han d’afegir aquestes dues etiquetes entre els tags <head></head>

<meta name="msapplication-TileColor" content="#123456"/>

<meta name="msapplication-TileImage" content="logo.png"/>

La primera, serà per asignar el color de fons, on #123456 serà el color RGB en anotació hexadecimal, l’altre serà el camí cap a la icona de la nostra web, que sortirà damunt del color que prèviament hem configurat.

 

Microsoft posa fàcil el testeig amb diferents Internet Explorer

Tantes son les versions de Internet Explorer, que per la gent que ens dedicam a la programació web, és un gran maldecap.

No en parlem si ja ens obliguen a que es vegi i funcioni bé amb Internet Explorer 6, un navegador que no segueix cap estàndar web i a més que ja te els seus anys.

Darrerament la política de Microsoft en vers als estandars web, pareix que está donant un canvi, i pareix que és cap a bò.

Ells saben que la gent que ens dedicam a la programació web, tenim el mal de cap de haver de provar amb vàries versions del seu producte, per això han creat una web amb diferents recursos que podem utilitzar per facilitar-nos la tasca de prova.Aquesta web es modern.IE, podem trobar desde analitzadors sintàctics online, com a imatges de màquines virtuals tant de windows XP, windows Vista, Windows 7 i Windows 8 amb les seves corresponents instal·lacions de Internet Explorer.

Per tant, per dur a terme les proves sols ens hem d’instal·lar el Virtual Box i baixar les diferents imatges de windows. Un cop instal·lat el virtual box, tenim a disposició un tutorial en pdf de com configurar les diferents màquines virtuals i els usuaris i contrasenyes que s’han configurat.

Fixau-vos el que deia que esta canviant la política de Microsoft, que posen solucions fins i tot per a gnu/Linux.

Com instal·lar Adobe Brackets a Ubuntu 13.04 Raring Ringtail

Un company de feina em va recomanar l’editor Adobe Brackets per editar HTML, CSS, JS de una forma cómoda i ràpida. Brackets és part d’Adobe, però és un projecte lliure hostejat a github.

Volia provar-lo, però como es d’esperar sols està per a Windows i per a Mac OS X. En el pc de casa sols hi tenc Ubuntu 13.04, ja pensava que no tendria versió per a gnu/linux. Pero Tatxaaan! la té!

Com se instal·la?

Molt fàcil, seguint les passes de la wiki del repositori d’Adobe Brackets a github. Sols hem de tenir en compte dues coses:

La següent explicació és per a una instal·lació de 32bits, si tiens instal·lada una versió de 64bits, simplement canvia el 32 per un 64 🙂 fàcil, eh? i l’altre que has de tenir instal·lat git a la teva màquina per poder descarregar-te el còdi de github.

mkdir ~/brackets && cd ~/brackets
git clone https://github.com/adobe/brackets.git
cd brackets
git submodule update --init
cd ..
wget https://github.com/downloads/pritambaral/brackets-shell/Brackets-shell-32.tar.bz2
tar xf Brackets-shell-32.tar.bz2 && rm Brackets-shell-32.tar.bz2
ln -s brackets/src www
ln -s brackets/samples ./samples
./Brackets

Espero que ho disfrutis.

Com Instal·lar Oracle Java 7 o Oracle Java 8 a Ubuntu via PPA

Necessitava instal·lar Oracle Java a la meva màquina de feina amb Ubuntu, actualitzada a la darrera versió 12.10 Quantal Quetzal. Després de googlejar un ratet m’he topat amb una bona i fàcil solució.

El grup Webupd8 ha creat un repositori a launchpad amb els binaris de l’Oracle Java, tant de la versió 7 como la versió 8.

Per poder instalar-lo, seguirem les següents passes:

Obrim un terminal i teclejam:

terminal:~$sudo add-apt-repository ppa:webupd8team/java 
terminal:~$sudo apt-get update 
terminal:~$sudo apt-get install oracle-java7-installer 
terminal:~$sudo echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

 

La darrera passa és per acceptar els termes de la llicència d’Oracle Java.

Llest!. Per assegurar-nos que tenim la versió desitjada:

 

terminal:~$java -version

 

I ens ha de mostrar alguna cosa similar a:

java version "1.7.0_09" 
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)

 

Si per algun motiu el java -version no es el desitjat teclejam:

terminal:~$sudo update-java-alternatives -s java-7-oracle

 

Per eliminar el paquete

terminal:~$sudo apt-get remove oracle-java7-installer

 

Com usar Piwik amb Amazon CloudFront com a CDN

Aquesta entrada l’escric ja que m’he trobat en que hi ha poca informació de com usar l’Amazon CloudFront com a CDN de tipus Origin Pull (mirall).

Per tot el que he trobat sobre el CloudFront per internet era per usar conjuntament amb el servei de S3, que per el cas que el necessitava, no me servia per res. Fins i tot la documentació del CloudFront, t’explica com usar-lo juntament amb S3 (que nooo, que no és això que vull!!) Jo volia usar-lo per servir de manera ràpida el codi javascript d’analítica web Piwik, el qual tenc instal·lat a un servidor pròpi. Si, val, ho reconec, es una pijada 🙂

Que necessitem:

  • Una instal·lació de Piwik en un servidor accessible des d’internet (important, està clar).
  • Un compte de Amazon Web Services, validada.

Un cop tenim tot el que necessitem, ens donem d’alta al servei de CloudFront i pas a pas fem el següent:

Descàrrega de responsabilitats: Aquesta és la configuració que a mi m’ha anat be. No significa que pel teu cas sigui aquesta que hagis de seguir! No me faig responsable de cap mal funcionament!

  • Anem a la AWS Management Console i seleccionem el servei CloudFront.
  • Click al botó “Create distribution
  • Passa 1: Seleccionem el mètode d’entrega (Delivery Method). Per el nostre cas usarem el mètode Download.
  • Passa 2: Creació de la distribució (Create distribution).
  • Origin settings -> Origin Domain Name: Aquí posem la url de la instal·lació de Piwik del nostre servidor. (per Ex. piwik.domini.com) Origin ID -> s’auto completarà a partir de l’anterior camp. Després és editable. És un camp purament administratiu.
  • Default Cache Behavior Settings: Viewer Protocol Policy ->HTTP and HTTPS, Object Caching -> Use Origin Cache Headers, Forward Cookies -> All, Forward Query Strings -> Yes
  • Distribution Settings: Price Class -> Use All Edge Locations, Alternate Domain Names (CNAMEs) -> Aquí podem posar els diferents CNAMEs que creem a la nostra zona de DNS apuntant a la URL que, un cop finalitzada la configuració, ens proporcionaran, Podem crear-ne fins a un màxim de 10 (per exemple cdn1.piwik.domini.com), Default Root Object ->(buid), Logging -> Off, Comment -> (buid), Distribution State -> Enabled
Just a la dreta de cada un dels camps hi ha una icona d’informació, que si la pitjam, ens mostrarà per a que serveix cada camp i podrem triar el valor més adequat.

Un cop editats tots els camps, pitjem el botó “Create distribution” i ja ho tendrem. Seguidament ens mostrarà la consola de CloudFront amb les diferents distribucions que tinguem configurades. Cal dir que tarda uns minuts en estar actiu, ja que s’ha de desplegar per tota la xarxa de servidors de AWS.

Veurem que ens faciliten un nom de domini, un tant mal de recordar, del tipus [numeros-i-lletres].cloudfront.net, per això ens donen la oportunitat de crear àlies (CNAMEs), com l’exemple que hem posat cdn1.piwik.domini.com.

Com crear els CNAMEs?

Fàcil, s’ha d’accedir al panell de control de la zona de DNS, pot ser no tenguis a questa opció. Si no la tens, t’has de posar en contacte amb l’administrador del teu servei i demanar-li que els crei a la zona que li indiquis.

Posem un exemple:

Tenim el domini piwik.domini.com aquest és el domini de la instal·lació del piwik i el domini que ens han proporcionat per usar el CloudFront [numeros-i-lletres].cloudfront.net

A la zona de DNS creem noves entrades de tipus CNAME, per exemple

cdn1.piwik CNAME [numeros-i-lletres].cloudfront.net.

cdn2.piwik CNAME [numeros-i-lletres].cloudfront.net.

cdn3.piwik CNAME [numeros-i-lletres].cloudfront.net.

Podem crear tantes CNAME com volguem, però el CloudFront només n’accepta un màxim de 10.

Noteu el punt final després de cloudfront.net, es important posar-lo, si no la url vos quedaria [numeros-i-lletres].cloudfront.net.domini.com. per tant no funcionaria correctament.

Un cop finalitzada la configuració de la zona, s’ha de deixar propagar els DNS i posar els CNAME a la configuració del CloudFront. Important aquesta passa, ja que si no les tenim afegides a la configuració del CloudFront, no funcionarà l’invent.

Com hem vist, jo també :D, és molt fàcil de configurar.

Els pros i contres del JavaScript i jQuery

Anem a definir, amb poques paraules, el que és JavaScript, d’on ve i que podem fer amb ell.
JavaScript és un llenguatge interpretat pels navegadors, que s’usa per a la programació web (validació de dades per part de la capa client, millora de l’experiència d’usuari, …). Inicialment, es va anomenar LiveScript i fou inventat per enginyers de Netscape, més endavant es va re-anomenar a JavaScript. Molta gent deu pensar, o pensa, que el nom de JavaScript te a veure amb el llenguatge de programació Java, però, sincerament, només tenen de parescut el nom, res més.

Durant els darrers anys JavaScript s’ha tornat molt popular entre els programadors web.

Quins usos li podem donar al JavaScript? doncs, com hem començat a introduïr-ho més amunt. Passarem a enumerar unes quantes:

  • El podem fer servir per validar dades
  • Per millorar l’experiència d’usuari (cosetes que es mouen per la pàgina, efectes xulixaxis 😀 ).
  • També per el tan anomenat AJAX, que, no és més que, enviar dades a un servidor i pintar-les, o no, per pantalla.
  • Detecció del navegador que s’està usant
  • Manipulació de cookies
  • Analítica web,…

Ara que sabem el que podem fer, anam a llistar els Pros i Contres del Javascript

Pros:

  • Rendiment: El JavaScript s’executa íntegrament en el navegador del client salvant temps de peticions i d’amplada de banda del servidor web.
  • És un llenguatge d'”scripting” lleuger i relativament fàcil d’aprendre.
  • Com hem dit abans, s’executa al navegador del client, per això el resultat i el procés es relativament ràpid.
  • Es poden usar extensions de tercers per comprobar els fragments de codi.

Contres:

  • En temes de seguretat, executant codi JavaScript maliciós, podria fer-se servir per aprofitar errades del navegador i fer-se amb el control de l’ordinador.
  • En temes d’interpretació, cada navegador interpreta el JavaScript d’una manera diferent.

Ara passem a definir el que és jQuery. jQuery és una llibreria dissenyada per simplificar la programació de JavaScript. El programador que usa aquesta llibreria, usa menys quantitat de codi sense que la funcionalitat es vegi alterada.

Cal dir que a part de jQuery hi ha altres llibreries que ens poden ajudar a la programació amb JavaScript, tals com Mootools, Dojo, Prototype, … Unes més orientades a efectes visuals i d’altres més orientades a manipulació de la página.

Anem a posar un exemple de codi de Javascript i jQuery, que fan exactament el mateix. Volem el valor d’un element:

JavaScript:

document.getElementById('idElement').value;

jQuery:

jQuery('#idElement').val();

A vegades podem trobar-ho escrit de la següent forma, ambdues fan el mateix:

$('#idElement').val();

Com podem veure, amb el jQuery escrivim menys i és més fàcil de recordar. Podem dir que el jQuery ens ofereix un “Syntactic Sugar” per a la programació JavaScript.

Anem a citar els Pros i Contres del jQuery:

Pros:

  • Amb jQuery ens oblidam de les compatibilitats entre navegadors. Amb un sol codi escrit, sabem que funcionarà a tots els navegadors suportats per la versió de jQuery que usem.
  • jQuery és fàcil d’usar en comparació amb altres llibreries i, es clar, que amb el propi JavaScript.
  • jQuery te una extensa llista de llibreries/funcions
  • jQuery te molt bona documentació i una gran comunitat.
  • jQuery suporta la funcionalitat AJAX. El JavaScript també, però hauriem d’escriure la funcionalitat per a cada navegador. jQuery amb un codi es suficient per fer-lo anar amb tots els navegadors.

Contres:

  • Ja no escriurem codi nadiu JavaScript, ens hem de limitar a usar les funcions de la llibreria.
  • Es necessari incloure un fitxer per poder usar la funcionalitat.

En resum, no hi ha res que sigui bò o dolent, simplement és diferent.

Com a opinió personal, usar jQuery facilita molt la tasca de programació i a més, per la gran comunitat que té, es molt fàcil trobar com fer una acció desitjada.

Article traduït lliurament de The Pros and Cons of JavaScript and jQuery | JavaLobby DZone.

Com crear un llistat de categories a partir d’una categoria pare – WordPress

Anirem a mostrar com fer un llistat de categories a partir d’una categoria pare, per a WordPress.
Ho teniu penjat a github:gist.

És fàcil d’entrendre. Primer capturem el nom de la categoria, seguidament, amb el nom desat a $catname, ho passem com a paràmetre a la funció get_category_by_slug($catname), que ens retornarà un objecte del tipus categoria. Com a darrera passa executarem wp_list_categories("orderby=id&show_count=0&use_desc_for_title=1&child_of=$idObj->term_id"); que ens mostrarà les categories filles de la categoria seleccionada.
El paràmetre del mètode wp_list_categories() pot variar:

  • orderby: Ordena el llistat. Pot ser id o name, segons el que necessitem en cada moment
  • show_count: 1 o 0 Mostrarà o no el número d’entrades de cada categoría.
  • use_desc_for_title: 1 o 0 S’usarà o no, la descripció de la categoría per a l’atribut title de l’enllaç
  • child_of: Id de la categoria pare

Podem trobar més info a wp_list_categories()

El mètode wp_list_categories() torna els enllaços entre etiquetes <li></li> per això el mètode està entre <ul></ul>

Nota:Es necessari que alguna entrada tingui les categories assignades, ja que si no no es mostrarà.

Com crear límits (bounds) amb la API de Google Maps v3

A la feina necessitava posar a un mapa varis punts i seguidament fer un zoom i centrar la vista en el centre d’aquests punts.
Per això esto he utilitzat la següent funció javascript, que m’he creat. Es necessaria la crida a l’API de google maps versió 3.

Com podeu veure, és facileta, sols guardam en unes variables la latitut i longitut màximes, latitut i longitut mínimes, amb les que crearem els punts per l’objecte bounds, el qual es una parella d’objetos latln. Uno serà el punt SO, el de latitut longitut mínims i l’altre serà el punt NE, el de latitut longitut màxima.
El paràmetre list és un array de JSON on tenim les diferents dades del punt a afegir, tals com la latidut i longitut.
Una vegada creat el bound, simplement hem de pasar-lo al mapa. Ho podem fer de la següent forma:

var map, bounds;
map = new google.maps.Map(div, opts); /* div es l'objecte en el que es pintarà el mapa. opts son les diferents opcions del mapa */
bounds = createBounds(list);
map.fitBounds(bounds);

No és necesari fer un map.setCenter(), perque ja ho fa automàticament el fitBounds.

Després de l’Open Pizza Night de Google

Després d’un aterratge quasi forçós, vaig assistir a l’open pizza night ahir horabaixa mateix.

Va començar a les 18h a la sala de descans de les oficines de Google Espanya. Varem poder fer fotos, però només allà dins. Oblidau-vos de veure com eren les oficines.

El ponent de la jornada va ser en Raúl de Benito, Enginyer de Google de les oficines de Londres. Va fer la ponencia sobre la API de YouTube. Seguidament varem fer un taller de programació amb la API on interactuavem amb el video mitjançant Javascript i altres coses.

Mentre feiem el taller dugueren les pizzes :-D, a part hi havia geleres amb beure i menjar el qual estava a disposició dels assistents. Ens tractaren beníssim!!.

Quan va finalitzar la jornada, donaren l’oportunitat de presentar projectes personals tals com jisko, tuenti (els dos en beta privada), dilandau (un cercador de mp3 bastant currat!!) i dos més però que no están online.

I res més, cap a l’hotel a mirar The IT Crowd i a dormir per agafar l’avió a les 8 del matí cap a palma.

Promet que posaré fotos, però encara no he arribat a casa, estic a un curs de .NET ¬¬_

Actualització 31/03/08 – 21:30h: He vist que a mobuzz.tv han posat el video, aquí el teniu –> http://dosisdiaria.mobuzz.tv/shows/pizza_birra_google