Archives for the month of: March, 2014

Facebook, Tuenti, Instagram…. casi todas las redes sociales permiten subir imágenes, supongo que por eso de que “una imagen vale más que mil palabras”. En Twitter lo único que podíamos hacer al subir una imagen era nombrar en el comentario la cuenta de las personas a las que queríamos relacionar con la imagen, pero esto […]

The post Cómo etiquetar fotos en Twitter appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1jOfgwx

Advertisements

Hace poco me he reencontrado con un término que conocí hace tiempo y que creo que tiene su gracia. Se trata de “leaky abstraction”, que vendría a traducirse como “abstracción goteante”. Éste fue propuesto por Joel Spolsky  en un artículo hace más de una década (The Law of Leaky Abstractions) y la idea general es la siguiente: Como ingenieros, una de las herramientas básicas que utilizamos para simplifcar la creación de arquitecturas complejas es la abstracción. Generamos diferentes capas o componentes que actúan como cajas negras con una interface, de manera que sea posible usarlas sin tener que conocer los detalles de la implementación. Por ejemplo, un sistema operativo es una abstracción del hardware donde se ejecuta, o las bibliotecas de clases contenedoras abstraen los detalles del almacenamiento de estructuras de datos en memoria, etc. Esta herramienta es muy importante de cara al mantenenimento de una arquitectura o que otros reusen nuestros componentes. Sin embargo, por muy buenas que sean nuestras intenciones, hay casos en los que intentar abstraerse totalmente del funcionamiento interno de la caja negra puede ser contraproducente. Si ocultamos totalmente este funcionamiento interno, con una abstracción al 100%, algunos resultados pueden parecer arbitrarios o incomprensibles.

En el artículo original, se usa como ejemplo la pila TCP/IP. Si un desarrollador intenta crear una capa TCP partiendo de la abstracción total de las capas inferiores IP y acceso a red, se va a encontrar con sorpresas sin saber el motivo. Desde su punto de vista, a veces una conexión irá muy rápida y otras más lenta, ya que IP puede redirigir los paquetes usando distintas rutas. A veces, súbitamente, dejará de funcionar sin motivo aparente. El servidor en el otro extremo está en marcha, pero a nivel de acceso a red alguien puede haber desenchufado el cable. Como todos estos aspectos están abstraídos, TCP no es “consciente”, y no sabe prever como van a funcionar las cosas. Quizá el ejemplo no es perfecto (en el artículo original se explica más detalladamente), pero la idea general sí que tiene sentido. Por más que nos esforcemos en abstraer, algunos aspectos de implementación nos acaban afectando igualmente, independientemente de lo perfecto que sea la interfaz definida. La abstracción “gotea”.

En el campo del desarrollo de aplicaciones criptográficas, que es con el que a menudo me peleo, las abstracciones resultan especialmente interesantes. Tras la mayoría de algoritmos criptográficos existe una base matemática que puede tener un cierto grado de complejidad. No siempre son conceptos intratables, sobretodo si, como ingenieros, partimos de una formación con background matemático. Pero no tiene ningún sentido que para que un desarrollador pueda proteger unos datos usando un algoritmo de cifrado, debamos conocer exactamente cómo funciona éste internamente, a nivel de permutaciones u operaciones lógicas. Esto nos ayuda bastante a concienciar al personal para crear aplicaciones seguras.

Basta con que el lenguaje de programación favorito proporcione unas bibliotecas criptográficas, o sea, una capa de abstracción, y el poder de un algoritmo de cifrado como AES “aparece” tras teclear unas pocas líneas de código. Esto no evita tener que conocer algunos detalles, como el hecho de que se trate de un algoritmo de clave simétrica de una longitud concreta. Pero no necesito saber qué caramba es un “SubBytes” o un “AddRoundKey”. Solo necesito conocer el significado de los parámetros de la función o método de turno, como pasa en cualquier otra llamada de otra biblioteca, sin resultar imprescindible saber CÓMO se usa todo esto internamente.

La transformación AddRoundKey en AES

En este campo, sin embargo, también existen “abstracciones goteantes”, algunas relativamente interesantes. El uso del algoritmo RSA para cifrar datos directamente es un caso con el que me he topado unas cuantas veces. Siempre me provoca una sonrisa cuando veo al compañero de turno, sin el background matemático pertinente en criptografía, maldecir sin saber qué está pasando. Dicho algoritmo de cifrado corresponde al tipo denominado de clave publica. Para usarlo se necesitan dos claves criptográficas en vez de una: la pública, que distribuyes libremente, y la privada, que como su nombre indica, guardas en secreto. Cuando alguien te quiere enviar datos seguros, los cifra con la pública. Para descifrarlos, lo haces con tu clave privada. Esta es una explicación simplificada a nivel conceptual, pero es suficiente para usarlo correctamente a través de las bibliotecas criptográficas de turno. No necesitas saber la matemática subyacente para nada… ¿o sí?

Sin entrar en profundidad en la matemática, la transformación de cifrado del RSA se basa en dos factores (pun intended). Por una parte, las entradas se tratan como valores enteros codificados en binario. Por otra parte, sobre dichos valores enteros se aplica una operación de exponenciación modular. El quid de la cuestión está en que, como su nombre ya indica, esta operación aplica un módulo sobre los datos a cifrar, lo que implica automáticamente que los datos se van a truncar si la longitud de éstos es superior a la del módulo. Concretamente, en la fórmula original, el módulo en cuestión equivale al número de bytes que se necesita para representar una clave RSA. Por ejemplo, con una clave RSA de 2048 bits el resultado jamás ocupará más de 256 bytes. Por lo tanto, esta será la longitud máxima de los datos que se pueden cifrar, el resto se perderán. Si no sabes estos detalles de la matemática tras el RSA, que quedan completamente ocultos por la capa de abtracción de la bilbioteca criptográfica, lo único que verás es que los datos de salida a veces se trucan y a veces no. Como mucho, si miras con un poco de paciencia, puedes llegar a ver que este hecho depende de la longitud de los datos a cifrar y la de las claves.

Mirando el caso de Java, afortunadamente, en la últimas versiones ya produce un error si caes en esta trampa. Pero en versiones anteriores no tenía ningún problema en truncar datos alegremente, por sorpresa. De todos modos, sin saber como funciona matemáticamente RSA, que el método te diga que con una clave de 2048 bits no puedes cifrar más de 245 bytes parecerá una restricción absolutamente arbitraria. Sí, he dicho 245 bytes, ya que como nuevo detalle oculto de implementación, al valor máximo especificado por el módulo le resta 11 bytes para generar un “padding” en los datos resultantes. El caso es que la abstracción “gotea” por unos cuantos lados…

Si tenéis curiosidad, aquí os dejo un código de ejemplo de todo esto:

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;

public class LeakyRSA {

//Longitud de la clave
// 1024 = módulo de 128 bytes
// 2048 = módulo de 256 bytes
private static final int KEY_LEN = 2048;

//Longitud de los datos (en vesriones actuales de Java, a partir de
//(mòdulo - 11) dará error)

private static final int DATA_LEN = 245;

public static void main (String[] arges) throws Exception {

//Generamos las dos claves
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(KEY_LEN);
KeyPair keys = keyGen.genKeyPair();

//Generamos datos al azar
String data = "";
for (int i = 0; i < DATA_LEN; i++) {
data += (i%10);
}

//Ciframos datos
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding","SunJCE");
cipher.init(Cipher.ENCRYPT_MODE, keys.getPublic());
byte[] encryptedData =  cipher.doFinal(data.getBytes());

//Desciframos datos
cipher.init(Cipher.DECRYPT_MODE, keys.getPrivate());
byte[] resultData =  cipher.doFinal(encryptedData);

//¿Qué ha pasado?
System.out.println("ENTRADA - Longitud inicial = " + data.length());
System.out.println(data + "\n");

String result = new String(resultData);
System.out.println("SALIDA - Longitud final = " + result.length());
System.out.println(result);

}

}

Cabe decir que, para poder solventar esta limitación en la longitud de los datos de entrada, y otras que existen ligadas a la eficiencia del algoritmo, se usará la técnica llamada de “sobre digital“, basada en combinar cifrado simétrico y de clave pública.

La moraleja en esta historia es simple. Como ingenieros, no basta con quedarse en saber que las cosas funcionan. Es necesario que saber el por qué. ¡Ay!, si me dieran un euro por cada vez que he oído “Si yo solo quiero programar ¿por qué he tengo que aprender las matemáticas en las que se basa la criptografía?”.

Joan Arnedo Moreno es profesor de los estudios de Informática, Multimedia y Telecomunicaciones en la UOC. Coordinador de las asignaturas de la rama de seguridad y director académico del postgrado de Cisco Networking Technologies, también cuenta con más de 30 años de experiencia jugando a videojuegos.

via iNFoRMáTiCa++ http://ift.tt/1dJ2Weq

Contversion será el nombre que reciba la sala Keynote en esta 10º edición y será el evento en que se citen los directores de marketing, estrategas, empresarios, consultores y todos los profesionales del marketing digital y el comercio electrónico. En este salón se celebrarán OMExpo y eCOMExpo, las dos ferias más importantes en marketing digital […]

The post Contversion, para los apasionados del Marketing appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1hEd4kc

Seguimos explicando algunas conclusiones de la 15ª edición del evento de Inteligencia y Analítica de Negocio de Gartner de hace unos días.

Datatopia como opción privada de compraventa y cesión de datos personales

  • Datos estructurados, semiestructurados y no estructurados. Aquí sí que hay una diferencia. La mezcla de datos sociales, geográficos, de texto, de imagen, los procedentes del uso móbil del cliente y el empleado… que se resisten a una estructuración formal, a relaciones de causa-efecto y a búsquedas SQL… ha venido para quedarse. Sin embargo, casi todo el mundo (fabricantes y compradores) sigue invirtiendo en su datawarehouse, sólo que los productos son ahora más complejos y ya no hay nadie que no mezcle bases de datos relacionales con Hadoop y otros inventos, en una especie de DW “extendido”. Vale también para los sistemas in-memoryEl nuevo BI es y será una mezcla de análisis y descubrimiento y un abanico más abierto de productos.
  • Big data y social analytics como moda (¡cómo mola!). En cambio, Big data aparece como un buzzword, una moda pasajera que ha venido bien para interesar a gente desinteresada y ganar un poco de tiempo y capacidad para innovar; la diferencia es más cuantitativa que cualitativa: ¡son sólo datos! Dentro de poco tiempo habrá otra palabra de moda, se sugería fast data. También se consideran over-hyped, o sea por encima de su valor real, la afición por los datos procedentes de las redes sociales, debido a la dificultad de convertirlos en valor, más allá de la defensa de la reputación y algún otro uso folklórico.
  • Y todo en la nubeAunque sólo sea por volúmenes y velocidad de proceso (IaaS), pero también por la aparición de multitud de productos y modalidades de provisión del software (SaaS) y las competencias de inteligencia y analítica como servicio. Sobre todo, si por tu nivel de madurez estás entrando o creciendo en este espacio, a lo mejor no necesitas empezar un proyecto largo y costoso de gestión de datos y puedes hacer más cosas más ágiles con ayuda de la nube.
  • ¿Gobierno de datos o self-service? IBM presentó una serie de productos nuevos, llamada Watson, que está entre la Wikipedia y Harry Potter. Permite contestar casi cualquier cosa formulada en lenguaje natural, te invita a formular nuevas preguntas, es un conjunto de aplicaciones móviles y elimina la necesidad de científicos de datos ni centros de competencias. Sin embargo, la opinión más ponderada es que, aunque aumentará el autoservicio y las herramientas para tontos, diferentes formas de gestión y gobierno de los datos, propios para cada tipo de organización, seguirán siendo necesarios. La figura del Chief Data Officer, como parte de una estrategia global de gestión de la información (Enterprise Information Management), se va extendiendo como alguien de primer nivel que define la estrategia y “toma decisiones sobre el valor, la calidad y la confianza de la información”, en formas de organización quizá más federales.
  • La ética de la inteligencia de negocio. En el mejor de los mundos datatópicoslos asistentes parecían coincidir en la necesidad de establecer principios o normas de aceptación general sobre la captura y el uso de los datos personales y una conciencia personal y social. Parecía que lo decían muchos y lo decían en serio. Snowden y la NSA se intuían como fantasmas en el evento (gracias, Josep Jorba).
  • Y datos abiertos (open data). Ese mercado, mercadillo o trueque de datos, al que nos referíamos al inicio de esta serie, deja un espacio ya no marginal ni bienintencionado para la puesta a disposición de datos personales y corporativos al alcance de todos. Es un negocio para algunos, una oportunidad para las políticas públicas para otros y acaso también una garantía para todos.

Entre los islotes de este escenario abierto, megatodo y enormemente cambiante, predominaba una idea de la tecnología como valor de opción, o sea, como ocurre con los mercados de futuros o las opciones de bolsa: invertir en desarrollar capacidades propias y opciones personales y de empresa que te coloquen mejor delante de las diferentes cosas que te pueden pasar y que puedes abandonar o cambiar rápidamente si te equivocas. Suena bien, pero no es fácil.

via iNFoRMáTiCa++ http://ift.tt/1fmrxRq

Un buen Community Manager basa todas sus estrategias en un plan fijado previamente, o al menos así debería ser. La figura del Community Manager se encarga de construir una comunidad on-line, de gestionarla y administrarla al rededor de una marca. Su misión es mantener relaciones estables y consistentes con sus clientes, sus posibles clientes, sus […]

The post Planificar como un buen Community Manager appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1hcN6Yz

No sé vosotros, pero yo siempre me he preguntado cómo poder descargarme todas las fotos de mis redes sociales. Tengo un montón de años guardados en imágenes en las galerías de Tuenti y Facebook. Tuenti estuvo de moda mucho tiempo, pero todas las modas pasan y ésta no podía ser menos. La red social Tuenti […]

The post 20 Up para descargar las fotos de Tuenti appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1jtxbZj

Al igual que tu navegador es capaz de guardar tus búsquedas con el fin de facilitar que encuentres aquello que ya has buscado anteriormente, Facebook también puede. Cuando realizas una búsqueda de una persona, una empresa, cualquier página de Facebook, su buscador guarda todos los datos para facilitarte que lo encuentres si regresas a la […]

The post Cómo eliminar el historial de Facebook appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1jAaLBj

Hace algunas semanas estuvimos en Madrid algunos de los miembros de la familia de Inteligencia de Negocio de la UOC para predicar una buena nueva que ya no es necesario predicar: la explosión y la centralidad de esta disciplina en el negocio y en la tecnología, por un lado, y la demanda de profesionales capaces de producir sistemas y analizar datos o, como dice Davenport en uno de sus últimos libros, los que hacen el vino (wine makers) y los que lo saborean inteligentemente (los connaiseurs). En este enlace, podéis ver y descargaros las presentaciones.

Según IDC, en 2020 el volumen de los datos almacenados alcanzarà 40 Zetabytes y la inversión en BI habrá llegado a 26 Billones (americanos); ya hoy, según Gartner, los proyectos de BI son los primeros en las agendas del CIO, del CFO y del CEO y el número de productos y servicios en este aparente nicho casi alcanza los 600, según Josep Curto, que se dedica a estas cosas dentro y fuera de la UOC.

Last Call for Datatopia (Gartner 2014)

Ahora me he ido a Londres, al evento europeo que se celebra desde hace 15 años (!) organizado por Gartner. Las entradas estaban agotadas desde hace meses, como cuando actúa Coldplay. Y os explico mi propio resumen:

  • Todo son datos, y los datos son tuyos. El nuevo mundo se llama Datatopia y está entre el salvaje oeste, el gran hermano y la compraventa o cesión segura de tus datos y los del vecino. Las buenas noticias son que te puedes descargar el pdf libremente y que ya hay alguien que ha inventado una web donde te puedes apuntar y a lo mejor haces negocio o proteges tu intimidad. La nueva tendencia se llama personal analytics consumer intelligence y el mercado se llama originalmente data market. (Hace no mucho tiempo diseñamos con un colega un proyecto de carpeta sanitaria individual para un servicio público basada en este principio: nunca se hizo).
  • Los datos son un activo de un enorme valor estratégico y… monetario. Aunque no se puedan poner en el balance: lo impidió un consorcio de empresas auditoras y compañías de seguros después del ataque a las Torres Gemelas. Pero si no es así, ¿por qué Facebook ha comprado Whatsapp por 19 veces el valor de sus ventas? Las empresas intensivas en información valen como media cuatro veces más que las que no lo son. En el congreso se explicaron algunas aproximaciones econométricas para estimar el valor de tus activos de información. Esto se llama infonomics y está bien pagado.
  • Dentro de las empresas, todos producen y usan datos. Hace tiempo que la inteligencia de negocio dejó de ser el espacio de los cuadros de mando para la dirección. También dejó de ser un espacio técnico administrado férreamente en el datawarehouse corporativo. No sólo hay más datos, sino más usuarios. También las máquinas: la Internet de las cosas y la comunicación máquina a máquina permite crear algoritmos y tomar decisiones casi sin intervención humana.
  • Las mismas barreras de adopción. Sin embargo, la falta de calidad de los datos, de profesionales y usuarios formados, de muestras efectivas y evidentes del valor y de una cultura de toma de decisiones basada en los datos continúan siendo las mayores barreras para la adopción masiva de la inteligencia de negocio.

No os preocupéis, en la próxima parte de esta entrada hablaremos de Hadoop, los big data, el chief data officer, los open data y casi todo lo demás.

via iNFoRMáTiCa++ http://ift.tt/1f9AAFc

Durante la semana pasada tuvo lugar la Game Developer Conference, una conferencia donde los desarrolladores de Facebook estudiaron y discutieron la actual situación de las plataformas de Juegos de Facebook y propusieron nuevos cambios. Mejoras que harán que el usuario de Facebook tenga una mejor experiencia a la hora de jugar. Estas mejoras responderán a […]

The post Los juegos en Facebook están cambiando appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1rmax6n

Todas las redes sociales para buscar amigos, conocer gente y estar conectados todo el santo día con todo el mundo. Seguro que a muchos de ellos no quieres ni verlos, o quizá cuando los ves no sabes ni quién son. Las redes sociales están pensadas para que todos sepamos todo de todo y oye, que […]

The post La red social para no verte más appeared first on Redes Sociales.

via Redes Sociales http://ift.tt/1eY8UTK