Una de paranoia
http://www.elladodelmal.com/2015/02/powerspy-como-una-app-puede-espiar-tu.html
Mi blog es el blog de un pirao, (y mas o menos). Contiene de todo y de todas las cosas, y sobre todo aquellas cosas que para mi, son interesantes, lo que quiere decir que para tí posiblemente no lo sean. Estas avisado :-)
2015-02-25
Windows: El sistema operativo menos vulnerable de 2014
Este artículo es (cuando menos) curioso
http://www.securitybydefault.com/2015/02/windows-el-sistema-operativo-menos.html
2015-02-02
W3C - Geolocation API Specification [Propuesta]
Esta especificación define una API que permite el acceso a la información de la ubicación geográfica asociada con el dispositivo de alojamiento.
http://dev.w3.org/geo/api/spec-source.HTML
2015-01-28
Como hacer nudos
En Nudos.org encontrarás una extensa colección de vídeos originales dónde mostramos todo el proceso para la correcta ejecución de todo tipo de nudos, a través de la técnica Stop motion ofrecemos los resultados de forma clara y didáctica. Actualmente encontrarás más de 70 vídeos correctamente clasificados según cuál sea su origen o uso más habitual. Además junto con cada vídeo puedes leer una descripción detallada con información útil sobre el nudo que estés observando, cómo por ejemplo: su origen, sus ventajas e inconvenientes y la posibilidad de realizar nudos alternativos.
Nudos.org es tu página de referencia tanto, si practicas algún deporte, te gustan las actividades al aire libre y de aventura o si deseas ser la persona más elegante en tu próxima cena familiar o de negocios.
2015-01-25
Las fuentes de iconos (Icon Fonts)
Las fuentes de iconos o fuentes de símbolos, han sido, y son de gran utilidad para un montón de proyectos; incluyen desde iconos de redes sociales a flechas y glifos. Todo lo que se necesita para manejarlos es CSS (y mejor si es la versión 3).
En la actualidad no se puede predecir ni el ancho ni la altura con la que serán vistas nuestras paginas web, y por otro lado, los iconos,(que hasta ahora), han sido imágenes, (con mucha frecuencia), aparecen pixelados al perder definición por mostrarse en cualquier pantalla (y con resoluciones) distinta(s) a la que originalmente fueron pensados y diseñados
Para resolver este 'problemilla' están apareciendo unas nuevas fuentes de iconos que están compuestas de gráficos vectoriales. Sus principales ventajas son:
En la actualidad no se puede predecir ni el ancho ni la altura con la que serán vistas nuestras paginas web, y por otro lado, los iconos,(que hasta ahora), han sido imágenes, (con mucha frecuencia), aparecen pixelados al perder definición por mostrarse en cualquier pantalla (y con resoluciones) distinta(s) a la que originalmente fueron pensados y diseñados
Para resolver este 'problemilla' están apareciendo unas nuevas fuentes de iconos que están compuestas de gráficos vectoriales. Sus principales ventajas son:
- Se ven tan nítida y claramente como el texto en cualquier pantalla.
- Todos los navegadores web, incluso IE6, tienen la capacidad de manejar fuentes incrustadas en una página HTML.
- Pueden modificarse sobre la marcha a través de CSS. Cambiar la escala, cambiar el color, añadir una sombra etc.
- Como son vectoriales, se ven muy bien en densidades de píxeles más altas, como las que se encuentran en las pantallas "Retina display" de Apple.
- Sólo se necesita una petición HTTP para todos los iconos. No es necesario utilizar ningún tipo de trucos difíciles para ajustar iconos como sprites o sustitución de la imágenes.
2015-01-04
Levenshtein, midiendo las palabras
Levenshtein Info en Wikypedia
Sin duda, una de las principales tareas a las que nos enfrentamos los programadores, es la gestión de palabras. Un nombre de usuario, un modelo de coche, una carpeta, etc… constantemente solicitamos al usuario que introduzca palabras pero, ¿están bien escritas?.
Verificar un código (DNI, EAN, VISA, …) suele ser muy sencillo, porque es habitual que cuenten con códigos de verificación pero, ¿cómo verificamos si una palabra está bien escrita?, mejor aún ¿cómo podemos sugerir al usuario alternativas correctas?.
Definiendo el problema
Cuando escribimos un documento podemos activar el corrector ortográfico, en tal caso, es habitual que mientras escribimos, se resalten aquellas palabras que no aparecen en el diccionario. Además, se nos muestra una palabra (o varias) que probablemente sea la que queríamos escribir.En nuestras aplicaciones, no solemos incluir un “corrector ortográfico”, sin embargo, es realmente sencillo y mejora enormemente la experiencia de usuario. Por ejemplo, es probable que en vuestro cliente de correo electrónico, al escribir una dirección de correo, se os sugieran aquellos cuyo prefijo coincide exactamente con los de la libreta de contactos. Por ejemplo, si escribís “juan”, se sugerirá “juanmonfor@genbetadev.com”, pero si os habéis equivocado y ponéis “jjuan” ¿porqué no sugiere nada?.
Si nuestra aplicación solicita al usuario un nombre de usuario, de una máquina, una carpeta, etc… ¿porqué exigirle que no cometa errores al escribir?, podemos hacer que nuestro “autocompletado” sea tolerante a fallos.
Levenshtein, midiendo las palabras
Levenshtein es una distancia ideada por Vladimir Levenshtein en 1965 que nos permite medir la distancia entre dos secuencias, por ejemplo de caracteres.En concreto, dadas dos secuencias A y B, la distancia Levenshtein nos informa del número mínimo de cambios (inserción, eliminación o sustitución de elementos) que deben hacerse a una cadena para obtener la otra.
Por ejemplo, la distancia Levenshtein entre “juan” y “jjuan” es de una única operación (eliminar/insertar una “j”).
La función Levenshtein es realmente sencilla y no requiere explicación, ésta podría ser una implementación en “javascript”:
// Levenshtein(String, String) -> Integer
function Levenshtein(a, b) {
var n = a.length;
var m = b.length;
// matriz de cambios mínimos var d = [];
// si una de las dos está¡ vacía, la distancia // es insertar todas las otras if(n == 0) return m; if(m == 0) return n;
// Inicializamos el peor caso (insertar todas) for(var i = 0; i <= n; i++) (d[i] = [])[0] = i; for(var j = 0; j <= m; j++) d[0][j] = j;
// cada elemento de la matriz será¡ la transición con menor coste for(var i = 1, I = 0; i <= n; i++, I++) for(var j = 1, J = 0; j <= m; j++, J++) if(b[J] == a[I]) d[i][j] = d[I][J]; else d[i][j] = Math.min(d[I][j], d[i][J], d[I][J]) + 1;
// el menor número de operaciones return d[n][m]; }
Levenshtein de subcadena
La distancia Levenshtein la podemos aplicar directamente en multitud de escenarios, pero únicamente en aquellos con una palabra, es decir, Levenshtein no funcionará bien en escenarios en los que debamos contrastar la entrada del usuario “vistamar” con un valor en la lista de “hotel vistamar”, es evidente que el usuario sí se refiere al “hotel vistamar” ¡pero Levenshtein ha dado una distancia de 6!. Para poder aplicar Levenshtein en estos escenarios, voy a sugerir una función adicional:/*
LevenshteinSubminimal(String A, String B) -> {k: Integer, t: String}
A, es la cadena que introduce el usuario
B, es la cadena candidata a ser alternativa del usuario
k, es la mínima Levenshtein de A sobre todas las subcadenas de B
t, es la cadena con menor distancia Levenshtein
*/
function LevenshteinSubminimal(A, B) {
var a = A.length;
var b = B.length;
// siempre comparamos A con las subcadenas de B
var f = function(s){return Levenshtein(A, s)};
// si A es mayor que B no comparamos subcadenas
if(a >= b)
return {k: f(B), t: B}
// peor caso y cotas
var m = {k: b+2, t: null}, c1 = a-1, c2 = a+1;
for(var p = 0; p < b - c1; p++)
for(var l = c1, c3 = Math.min(c2, b - p); l <= c3; l++) {
var t = B.substr(p, l), k = f(t);
// mejor caso
if(m.k >= k)
m = {k: k, t: t};
}
return m;
}
Efectivamente, como habrás pensado, la función LevenshteinSubminimal ya no es una distancia (aunque nos devuelva una), la forma más sencilla de verlo es que ya no se cumple la propiedad de simetría.
Como única aclaración sobre la función LevenshteinSubminimal decir, que tomamos todas las subcadenas b de B tales que len(A) – 1 <= len(b) <= len(A) + 1, esto es así para relajar los caracteres iniciales y finales de cada subcadena.
Conclusiones y notas adicionales
Como ves, crear una interface de usuario tolerante a fallos es muy sencillo (no sé porqué mi cliente de correo es tan estricto) y mejorará sustancialmente la experiencia de usuario.La distancia Levenshtein no es la única posible, existen otras definiciones y variantes de distancia entre secuencias que pueden ser más adecuadas dependiendo del contexto.
2015-01-03
Un pensamiento ¿Profundo? Sobre si usar (o no) PayPal
He estado mirando las condiciones de servicio de PayPal para ver si me abro una cuenta o no y al final he decidido que mejor no. ¿La razón? Pues…
PayPal. Es una empresa que permite a sus usuarios la realización de pagos y cobros de forma instantánea. Las personas que se dedican a realizar transacciones en Internet, por ejemplo en e-Bay, generalmente encuentran en Paypal la forma idónea para realizar sus actividades comerciales. Por eso es habitual que cada vez sean más las tiendas electrónicas que acepten PayPal como otra forma más de pago más.
El sistema de pago por Internet es extremadamente simple: cuando el usuario quiere pagar, sencillamente introduce una cuenta de e-mail y el vendedor carga el importe. PayPal retira entonces ese dinero de la cuenta del usuario y lo traspasa a la del vendedor, si el dinero de la cuenta Paypal no cubre el total del importe, Paypal carga la diferencia a la tarjeta de crédito asociada.
En principio, parece que todo son ventajas pero existen varias razones importantes para evitar usar Paypal:
PayPal. Es una empresa que permite a sus usuarios la realización de pagos y cobros de forma instantánea. Las personas que se dedican a realizar transacciones en Internet, por ejemplo en e-Bay, generalmente encuentran en Paypal la forma idónea para realizar sus actividades comerciales. Por eso es habitual que cada vez sean más las tiendas electrónicas que acepten PayPal como otra forma más de pago más.
El sistema de pago por Internet es extremadamente simple: cuando el usuario quiere pagar, sencillamente introduce una cuenta de e-mail y el vendedor carga el importe. PayPal retira entonces ese dinero de la cuenta del usuario y lo traspasa a la del vendedor, si el dinero de la cuenta Paypal no cubre el total del importe, Paypal carga la diferencia a la tarjeta de crédito asociada.
En principio, parece que todo son ventajas pero existen varias razones importantes para evitar usar Paypal:
- Paypal NO es un banco, es un empresa privada que presta unos servicios financieros y no está respaldada por ningún sistema bancario, si Paypal quiebra pierdes tu dinero.
- Según las condiciones de servicio de Paypal, al hacerte usuario renuncias a los derechos de reembolso por utilización fraudulenta o no autorizada de tu tarjeta de crédito.
- Falta de cobertura legal, al ser una empresa estadounidense, cualquier contencioso que alcance la vía jurídica deberá resolverse en Estados Unidos, presentando cuanto menos dificultades para que los usuarios extranjeros puedan defender sus derechos por la vía legal.
- Las condiciones de Paypal son abusivas y cambian constantemente, entre sus páginas de condiciones se aprecia la falta de legislación internacional sobre este tipo de empresas. Según sus condiciones PayPal puede bloquear preventivamente las cuentas de un usuario sin tener que dar más explicaciones. Hay numerosos hilos en foros que explican este tipo de abusos por parte de Paypal e incluso hay constituidas asociaciones de usuarios que han interpuesto demandas judiciales.
- Paypal puede embargar el saldo de la cuenta indefinidamente, del mismo modo que en el punto 4 para recuperar las cantidades embargadas se necesitarán muchísimos trámites y paciencia, ya que su servicio de atención al cliente es casi tan eficiente como el de e-Bay. Y por supuesto las cantidades embargadas serán custodiadas por Paypal mientras dure la “investigación”.
- El usuario siempre tiene las de perder ante cualquier problema que surja, al ser PayPal el único juez tomara la decisión que más le convenga a la empresa. Si el usuario recibe un pago realizado con una tarjeta de crédito robada los fondos le serán embargados, si el dinero se pierde al gestionar el cobro el usuario tendrá que realizar innumerables trámites para optar a recuperarlo, si como comprador no recibe el producto solo recibirá una parte del importe siempre que puedan embargar esos fondos al vendedor.
- Las cuentas de Paypal son un botín muy deseado por los ciber-delincuentes, es frecuente recibir correos falsificados haciéndose pasar por eBay o Paypal con la esperanza de tener acceso a las cuentas de sus usuarios. Aunque PayPal no es la única empresa que ha sido víctima del spoofing sí que es cierto que es una de las que más lo sufre.
- La utilización de PayPal significa tener que aceptar la ética comercial de esta empresa y esperar que actúe honestamente por razones de prestigio, pero debido a la falta de un marco legal que abarque este tipo de actividades no es una institución que ofrezca garantías a sus usuarios
2014-12-20
Geoetiquetado
Geoetiquetado (en inglés: geotagging) es el proceso de agregar información geográfica en los metadatos de archivos de imágenes, vídeos, sonido, sitios web, etc. que sirva para su georreferenciación. Por lo general estos datos suelen ser coordenadas que definen la longitud y latitud donde el archivo multimedia ha sido creado, aunque también puede incluir la altitud, nombre del lugar, calle y número de policía, código postal, etc. para posteriormente hallar sus coordenadas geográficas. Información de la Wikipedia
Cómo escribir Geotags
La manera más fácil es con meta tags. Puedes añadir toda la información que quieras sobre tu localización. Sírvete de páginas web gratuitas para generar las etiquetas e impleméntalas en el de tu web. Por ejemplo, entra en [http://www.mygeoposition.com], o en [http://www.geo-tag.de/generator/en.html] y obtendrás un meta tag similar a este:
<meta name="geo.placename" content="Zaragoza, Zaragoza, España" />
<meta name="geo.position" content="41.6364613;-0.9127665" />
<meta name="geo.region" content="ES-Aragón" />
<meta name="ICBM" content="41.6364613, -0.9127665" />
Otra manera de etiquetar tus páginas es usar Geo microformat. [http://microformats.org/wiki/geo] Solo tienes dos propiedades en el Geo microformat: latitud y longitud. Para añadirlo a tus páginas, simplemente añade la siguiente información:
<div class="geo">GEO:
<span class="latitude">41.6364613</span>,
<span class="longitude">-0.9127665</span>
</div>
¿Quién puede (y debe) usar Geotagging?
Para empezar, es ideal para las tiendas físicas y los sitios turísticos. Si utilizas los geotags, seguro que te posicionas mucho más alto en buscadores que los usan para sus búsquedas que otras webs que no los tienen instalados.
Las páginas webs con geotags ya se utilizan, aunque de manera limitada, en algunos buscadores. Los clientes pueden ir al buscador, introducir su posición y encontrar webs de sitios que están cerca de su posición. Si tu negocio tiene los tags, es más fácil para los clientes encontrar tu sitio. Y ahora que la mayoría de los teléfonos vienen con GPS, podrán llegar a ti aunque simplemente ofrezcas la latitud y la longitud.
Proteger tu privacidad y usar Geotags
Una de las mayores preocupaciones del geotagging es la privacidad. Si tú introduces tu latitud y longitud de tu casa en tu blog, cualquiera que difiera de tu opinión podría ir a tu casa y tocar el timbre. O si tú siempre escribes tu blog en un café a tres kilómetros de tu casa, un ladrón podría saber que no estás en casa por tus geotags y entrar a robar.
Lo bueno de los geotags es que solo necesitas ser tan específico como tú te sientas cómodo. Por ejemplo, puedes poner simplemente la ciudad y no entrar en más detalles. Recuerda además que con Internet estás realmente monotorizado en cada momento. Cada vez que utilizas tu móvil, se envía información sobre dónde estás. O cuando envías un mail, tu ISP dice de dónde se ha enviado el mail. Así que si te quisieran localizar, podrían hacerlo perfectamente.
Información Bibliográfica
http://www.posicionatuweb.co/1/post/2013/09/qu-es-un-geo-tag.html
Cómo escribir Geotags
La manera más fácil es con meta tags. Puedes añadir toda la información que quieras sobre tu localización. Sírvete de páginas web gratuitas para generar las etiquetas e impleméntalas en el de tu web. Por ejemplo, entra en [http://www.mygeoposition.com], o en [http://www.geo-tag.de/generator/en.html] y obtendrás un meta tag similar a este:
<meta name="geo.placename" content="Zaragoza, Zaragoza, España" />
<meta name="geo.position" content="41.6364613;-0.9127665" />
<meta name="geo.region" content="ES-Aragón" />
<meta name="ICBM" content="41.6364613, -0.9127665" />
Otra manera de etiquetar tus páginas es usar Geo microformat. [http://microformats.org/wiki/geo] Solo tienes dos propiedades en el Geo microformat: latitud y longitud. Para añadirlo a tus páginas, simplemente añade la siguiente información:
<div class="geo">GEO:
<span class="latitude">41.6364613</span>,
<span class="longitude">-0.9127665</span>
</div>
¿Quién puede (y debe) usar Geotagging?
Para empezar, es ideal para las tiendas físicas y los sitios turísticos. Si utilizas los geotags, seguro que te posicionas mucho más alto en buscadores que los usan para sus búsquedas que otras webs que no los tienen instalados.
Las páginas webs con geotags ya se utilizan, aunque de manera limitada, en algunos buscadores. Los clientes pueden ir al buscador, introducir su posición y encontrar webs de sitios que están cerca de su posición. Si tu negocio tiene los tags, es más fácil para los clientes encontrar tu sitio. Y ahora que la mayoría de los teléfonos vienen con GPS, podrán llegar a ti aunque simplemente ofrezcas la latitud y la longitud.
Proteger tu privacidad y usar Geotags
Una de las mayores preocupaciones del geotagging es la privacidad. Si tú introduces tu latitud y longitud de tu casa en tu blog, cualquiera que difiera de tu opinión podría ir a tu casa y tocar el timbre. O si tú siempre escribes tu blog en un café a tres kilómetros de tu casa, un ladrón podría saber que no estás en casa por tus geotags y entrar a robar.
Lo bueno de los geotags es que solo necesitas ser tan específico como tú te sientas cómodo. Por ejemplo, puedes poner simplemente la ciudad y no entrar en más detalles. Recuerda además que con Internet estás realmente monotorizado en cada momento. Cada vez que utilizas tu móvil, se envía información sobre dónde estás. O cuando envías un mail, tu ISP dice de dónde se ha enviado el mail. Así que si te quisieran localizar, podrían hacerlo perfectamente.
Información Bibliográfica
http://www.posicionatuweb.co/1/post/2013/09/qu-es-un-geo-tag.html
2014-12-05
2014-12-01
Visita virtual a monasterios gallegos
Al pinchar sobre cada uno de los enlaces, podréis realizar una detenida visita virtual a los Monasterios que aparecen más abajo.
De igual modo, pinchando en cada una de las fotos (o en las flechas amarillas), que aparecen en el ángulo inferior izquierdo, podréis ver,
al completo, el interior y el exterior de cada uno de los Monasterios.
- San Martiño de Xubia
- Santa Clara de Ribadeo
- San Xoán de Caaveiro
- Santa María de Sobrado
- A Magdalena
- San Xulián de Samos
- San Estevo de Ribas de Miño
- Santa Cristina de Ribas de Sil
- San Vicente do Pino
- Clarisas
- Nosa Señora da Antiga
- Ferreira de Pantón
- Santo Estevo de Ribas de Sil
- Santa María Xunqueira de Espadanedo
- San Pedro de Rochas
- Santa María de Montederramo
- Santa Clara de Allariz
- San Salvador de Celanova
- Santa María de Melón
- San Clodio de Leiro
- Santa María de Oseira
- San Diego de Canedo
- Santa María de Aciveiro
- Santa María de Oia
- Vilavella
- San Xoán de Poio
- Santa María de Armenteira
- San Domingos de Bonaval
- San Francisco
- San Martiño Pinario
- San Paio de Antealtares
- Santa María de Belvis
- As Orfas
Suscribirse a:
Entradas (Atom)