viernes, febrero 26, 2010

Algo para no olvidar

"En una partida de póker, si no sabes quién es el pardillo, el pardillo eres tú"

miércoles, febrero 24, 2010

Mi estantería

Bueno, hace tiempo que quiero poner este post. Es muy offtopic pero estoy muy orgulloso de ella: Mi estantería.
Al minipiso donde vivo le faltaba espacio para colocar libros y otras cosas y al estar de alquiler no quería comprar un mueble pero un día al salir de casa me encontré unas tablas que alguien había tirado. Estaban casi nuevas y eran parte de un armario bastante alto.
Resumiento, para no alargarme, cogí las tablas que mejor estaban, las corte, las agujereé y, con la ayuda de mi novia monté la estantería que podéis ver en la foto.
Ni IKEA ni nada, todo contruido, que es muy diferente a montado, por mi.

viernes, febrero 19, 2010

La Web 4.0

Desde el Reino de Oregón, y antes que nadie, se ha definido el que será en el futuro no muy lejano el nuevo paradigma de la Web en Internet, la que será conocida como: Web 4.0.

Si la Web 2.0 era la Web del contenido, donde toda la gente podía de forma fácil crear contenido (en blogs, etc) y despreocuparse por el estilo, la Web 4.0 supondrá una revolución pues superpondrá el estilo sobre el contenido.

La nueva Web 4.0 tiene dos desencadeantes:
  • El hecho de estar definida en España, país que gusta de llevar la contraría al resto del mundo. Así por ejemplo si el mundo trata de salir de la recesión creando empleo... en España la solución pasa por facilitar el despido.
  • El recorte en I+D.

Cómo ocurría con la Web 2.0 será AJAX la técnica utilizada para revolucionar de nuevo Internet pero en esta ocasión no será para traer el contenido sino para traer nuevos estilos. Así pues, cada vez que el usuario haga click en algún botón o hipervínculo se modificará de forma automática el estilo (CSS) dando la sensación de encontrarnos en otra Web y manteniendo al lector/usuario en nuestro sitio dispuesto a volver a tragarse nuevos anuncios de AdSense.

Una gran revolución: con casi ningún contenido (fruto de la decisión de recortar presupuestos en I+D) podemos conseguir los mismos existos que con él. ¿Quién dijo que el contenido era necesario o importante?

Expertos en Internet capaces de pronosticar el futuro como E. Dance ya han dado su opinión al respecto mostrándose muy de acuerdo a este nuevo paradigma.

Así pues, y adelantandome a todo el mundo, queda inagurada la Web 4.0 y no, no es Creative Commons así que todo aquel que quiera usar este termino tendrá que pagarme Royalties.

lunes, febrero 15, 2010

Cómo detectar si un punto esta fuera o dentro de un polígono en Google Map

Cuando estamos trabajando con Google Maps puede que nos encontremos con la situación de querer detectar si un determinado punto (una coordenada) está fuera o dentro de un área que hayamos delimitado con un polígono (una serie de puntos).
Por defecto el API de Google Map no soporta esta opción (o yo no se la he encontrado). La única opción es usando la función getBounds() pero esta no tiene encuenta todos los puntos sino que trata el polígono como si de un rectángulo se tratara.

La función que os pongo a continuación y que no he escrito yo pero que no recuerdo donde la encontré os solucionará este problema:

// The problem with the default functions in Google Map API is they only use two points for the polygon.
// With this new function we are going to use all the points.
GPolygon.prototype.containsLatLng = function(latLng) {

// Firstly we try with the bounds (remember, it's a rectangle). We can avoid to do the calculation.
// If the point it's outside of the rectangle then it's outside of the polygon.
var bounds = this.getBounds();
if(!bounds.containsLatLng(latLng)) {
return false;
}

// Now we know the point is inside of the rectangle but we have to check if it's inside of the polygon

var numPoints = this.getVertexCount();
var inPoly = false;
var i;
var j = numPoints-1;

for(var i=0; i < numPoints; i++) {
var vertex1 = this.getVertex(i);
var vertex2 = this.getVertex(j);

if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng()) {
if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) {
inPoly = !inPoly;
}
}

j = i;
}

return inPoly;
};

lunes, febrero 01, 2010

New year´s resolutions

En algunos blogs que sigo, como el de Alberto Gimeno o Daniel Latorre, sus respectivos autores publicaron sus objetivos para 2010.

Como nunca es tarde si la dicha es buena voy a poner aquí los mios:
  • Hacer deporte. Es algo que siempre digo y luego me cuesta cumplir. Me he propuesto ponerme en forma antes de que venga el buen tiempo ya que tengo intención de buscarme un equipo de tagrugby.
  • Objective-C & Cocoa. Más concretamente quiero aprender a programar aplicaciones nativas para el iPhone O.S. (iPod Touch, iPhone y iPad). Con esto mato varios pájaros de un tiro: aprendo un nuevo lenguaje, aprendo un nuevo framework, me abro nuevas puertas cambiando las aplicaciones empresariales por los dispositivos móviles. ¿algún libro aconsejable para esto?
  • Java. No hay que olvidar al que me da de comer. Maven es algo que conozco pero que nunca utilizo (siempre acabo usando Ant) y quiero hacer algo usándolo. Y Spring siempre Spring. Leo libros, hago pruebas pero nunca saco tiempo para programar algo serio con él. Me propuse poner algo en el AppEngine de Google hecho con Spring… veremos si este año lo hago.
  • Inglés. Tengo una oportunidad única de mejorar el inglés (ya sabéis que vivo y trabajo en Dublín). Viviendo aquí se aprenden expresiones que nunca hubiera aprendido estudiando o viendo peliculas desde España, sólo con comentar la película de ayer noche con un compañero de trabajo descubres nuevas expresiones, tengo que aprovechar cada minuto.
No son objetivos muy ambiciosos de hecho diría que es el año que me he propuesto los objetivos más asequibles y es porque espero cumplirlos y además hacerlo con nota.