Bases de datos. ¿Borrado o “Borrado”?

Septiembre 25, 2009 por luixal

Por si lo de borrado y “borrado” no queda muy claro, estoy hablando de borrado físico y borrado lógico. Más específicamente en el campo de las bases (en nuestros discos duros ya depende el tema del sistema de fichero que usemos y como lo tengamos configurado :P )

Llevo un par de días poniéndome al día con los feeds y hoy me ha tocado éste post de dos ideas en el que hablan de éstos dos tipos de borrados al trabajar sobre base de datos. En el artículo se dan argumentaciones de sobra para evitar el borrado físico y optar por el borrado lógico, es decir, ocultar esos datos en vez de eliminarlos definitivamente. El primer contrapunto que se me ocurrió fué lo que dice el primer comentario del post, la LOPD y sus normas sobre qué datos se pueden guardar y cuales no porque, aunque los estés “ocultando” a los usuarios esos datos siguen almacenados ahí y te puedes llevar un marrón. Y más si nos metemos en algún ejemplo tan de moda como las redes sociales donde hay datos muy sensibles.

La solución que proponen es basarse en estados, es decir, los datos no sólo pueden “estar o no estar” en la base de datos, sino que pueden estar en distintos estados (toma agujero de gusano redundancia), por ejemplo: activo, inactivo, obsoleto, borrado, etc… Supongo que ésto palía en gran medida el problema de las inconsistencias en una base de datos (donde puede darse el caso de que tengamos que “borrar” ciertos datos, pero tengamos que conservar otros que “dependen” de esos datos).

Una de las soluciones que me encontré en una aplicación en la que estaba trabajando era el uso de fechas. Al principio me extrañó tener tantos campos de fechas en cada tabla, pero hablando con quien diseñó la base de datos me explicó que esos campos de fechas indicaban el “tiempo de vida” de esa información. Así no sólo sabíamos “cuando” una información “existía” o no sino que además teníamos la información adicional de saber durante cuánto tiempo y cuándo existió esa información (un poco hetéreo pero si lo aplicas, por ejemplo, a productos en venta, empleados, etc… empieza a coger sentido).

Me gustaría que aportáseis información adicional a ésto, ¿conocéis otras soluciones aplicables? ¿sabéis cuáles se usan más?

Seleccionando colores: gPick

Septiembre 25, 2009 por luixal
Yo no hago demasiadas cosas de diseño, pero si que a veces hago alguna web por ahí suelta y tengo que tocar algún CSS. Para mi es un verdadero suplicio elegir los colores. Más bien el abanico de colores, porque me puede gustar como queda, por ejemplo, el verde con el gris (como tengo ahora en mi escritorio) pero… ¿y el resto de tonos? Los que selecciono a mano no suelen gustarme.

Ahí es donde entran las aplicaciones como gPick, que hay muchas, pero ésta me ha gustado especialmente y me parece que está muy trabajada.

gPick me soluciona la papeleta de dos cosas que hago a menudo cuando toco CSS, miro alguna plantilla y… “anda, como mola ese color!”, con ese gPick tu pasas el puntero por encima, pulsas el espacio y ya tienes ese color en tu paleta, con su valor en hexadecimal y todo lo que te haga falta.

Por si ésto no bastara, cuando ya he elegido dos colores que me gustan para el tono del diseño, puedo generar una gama de colores basados en esos según distintos patrones, que no sé muy bien de que van (ya he dicho que de diseño ni pajolera tengo :P ).

Vamos, que el programita es majo. Todavía no está en los repositorios así que os dejo los enlaces a los debs y la página de downloads. También la página principal del proyecto, ojo, es recomendable ver el vídeo de cómo se usa que especialmente intuitivo al principio no es xD

Página principal gpick
Paquete deb 32bits
Paquete deb 64bits
Página de descargas

El Futuro de las Comunicaciones

Septiembre 10, 2009 por luixal

Justamente ahora, que estoy viendo la Keynote de Motorola y Android, es cuando salen esas conversaciones trascendentales con los colegas. Las frase típica es algo así como “lo que hay que hacer es montar una operadora y sangrar a los clientes para forrarte”. La verdad es que hoy en día es lo que pasa, pero… ¿realmente las telecos tienen un futuro tan brillante?

Yo como veo el futuro es así de claro. Yo contrato una conexión y pago UNA conexión. A ver si nos entendemos, según lo veo yo, habrá unos cuantos cambios en el futuro:

  • Los teléfonos fijos, así como las conexiones de datos basadas en una línea fija dejarán de existir.
  • Pagaremos al mes una cantidad fija. Todo irá sobre una sóla conexión de datos móvil.
  • No tendremos esa conexión “capada” de ninguna forma. Y aquí incluyo el hecho de que tendremos una única conexión a cada persona. Nada de evitar el tethering, nada de cobrar más si se hacen llamadas IP.
  • Las operadoras tendrán que llevarse muy bien con los bancos. En el futuro serán la principal forma de pago para casi todo.

Vale si, parece muy… improbable (digamoslo así) pero de verdad pienso que la primera teleco que ofrezca ésto se llevará el gato al agua y tendrá una gran ventaja sobre las demás. Básicamente yo, incluso llegaría a pagar la “permanencia” para cambiarme.

Fumadas by Google

Septiembre 10, 2009 por luixal

Hoy me he encontrado una coña de los chicos de Google que todavía no había leido por ahí, aquí va el pantallazo de unos campos de la información del perfil público de las cuentas de google:

¿algo curioso? jejeje…

Algo que no encuentro con Google. Por ejemplo: Oceanic 815

Símplemente genial xDDDDD

Novedades del JDK 7

Septiembre 6, 2009 por luixal
Hoy, revisando noticias atrasadas, he visto la de Dos Ideas, sobre “Lo Nuevo en el compilador del JDK 7″ y, aunque sea una noticia que incluya “java” y “compilador” en una misma frase (xDDDD) las explica muuuuy bien.

Entre las que más me han gustado a mi hay de todo, funcionalidades nuevas y también cosillas que simplifican bastante la forma de trabajar con cosas que ya existían.

Voy a resaltar las que me han parecido más interesantes:

  • Switch sobre String
  • Gestión Automática de Recursos
  • Mejoras en los números (literales numéricos)
  • Soporte para Collections

Leer el resto de esta entrada »

¿Google funciona bien?

Septiembre 6, 2009 por luixal
La pregunta del título va más por el lado de la “integración” de sus productos. Tenemos los típicos productos que casi todo el mundo conoce y muchos usan GMail, Google Maps, Google Calendar, Google Docs, etc…

El problema que yo veo está en la integración de identidades que tiene Google entre todos sus servicios. Para empezar, la gente lo entiende mal. Por ejemplo, casi todo el mundo dice que tiene “una cuenta de GMail”. Si nos ponemos críticos sabemos que eso está mal dicho, lo que tenemos es una cuenta de Google y esa cuenta, en otras cosas, nos sirve para utilizar el servicio de correo de Google.

Ahora bien, el problema que yo veo lo está fomentando Google. Y es que no toda la información de los servicios de Google está bien organizada. Por ejemplo, hoy he estado jugueteando un poco con la API para acceder a los contactos de Google desde java. Google Contacts se llama el servicio, y yo no lo conocía, los que tengáis un teléfono con Android ya sabéis donde están todos vuestros contactos sincronizados por si le pasa algo a vuestro teléfono.

Ahora vamos con lo peliagudo… Google se hizo con Blogger, con lo que las identidades de Blogger deberían pasar a formar de parte de Google, no? Bueno, pues aquí es donde me ha dado una patada algo que yo siempre alabé de Google. “cuando google compra una empresa, la deja como está” eso dije yo siempre al comparar Google con Microsoft, como algo bueno. Ahora veo que igual no estan buena la cosa, véase mi ejemplo:

Tengo un colega, josek (no voy a dar más datos por el tema de la privacidad y tal, con lo que la explicación se puede hacer un poco más compleja :P ), supongamos que se llama jose X Y, donde X sería el primer apellido e Y el segundo. Yo en mi teléfono tenía un contacto que tenía como nombre X (más que nada porque así le llamamos siempre xDDD) con su número de teléfono y su dirección de correo (una que no es de google).

Más adelante, puso en su blog el widget de Google Friend Connect y me hice coleguilla suyo en ese servicio que también es de Google. Pues mira tú, una vez que me pillé mi teléfono con Android y se sincronizó con mis contactos y todo eso resulta que ahora lo tengo “repe”, por un lado tengo el contacto “X” que metí yo a mano en mi antiguo teléfono y luego copié a éste y tengo otro contacto que se llama “José X Y” que, supongo, proviene del Friend Connect.

Ahora estaréis pensando… “claro, porque tiene dos direcciones de correo distintas” pues nanai, la dirección de correo en ambos contactos es la mismita. Aquí es a donde voy, lo que (me supongo) el servicio de Google tuvo en cuenta para comparar mis contactos fué el nombre y… a mi me parece muy pobre. ¿qué compararíais vosotros? ¿el nombre o el mail o el número de teléfono? Cae de cajón, yo usaría la dirección de email. ¿por qué? Porque es única, dos personas pueden llamarse igual, incluso pueden tener el mismo teléfono (el fijo de casa), pero cada uno tendrá su dirección de correo electrónico (a menos que tengan una simbiosis chunga xDDD).

Me parece una soberana cagada por parte de Google. Deberían unificar todos los usuarios que tienen en sus diferentes servicios de identificación (Google Accounts, Blogger, Youtube, etc…) a través de una única identidad bajo las Google Accounts que es su servicio “nativo” para control de usuarios. Y que lo hagan a través de la dirección de correo electrónico!!

¿alguien tiene alguna idea mejor de cómo puede ir ésto? ¿o algún punto en el que yo haya entendido mal como funciona o debería funcionar ésto?

Stallman y la educación

Agosto 31, 2009 por luixal

En el blog de xoxe he encontrado algo que Richard Stallman ha dicho sobre la educación:

Pienso que la escuela debe borrar Windows de las computadoras. La presencia del software privativo en las escuelas debe estar prohibida, porque va en contra del espíritu de la educación. El software privativo es conocimiento denegado, secreto. Y la escuela es un lugar para compartir conocimientos. Tiene la misión social de educar a la próxima generación como buenos ciudadanos. Como parte de una sociedad fuerte, capaz, independiente, solidaria y libre. Esto, en la informática, requiere enseñar software libre. De lo contrario se siembra dependencia.

Me supongo que todos los que leen éste blog de vez en cuando (excepto esos miles de comentario que hay en el post sobre tuenti xDDD) saben quién es Stallman y tendrán una idea sobre él.

Yo tuve la suerte de poder verle en directo, en una charla que dió en el campus de Montepríncipe de la Universidad CEU y la verdad… éstas palabras no me sorprenden lo más mínimo :(

Pese a que también me considero un defensor (o promotor, como queráis verlo) del software libre, me parece que sus opiniones son demasiado radicales y le hacen parecer un fanático en el peor sentido de la palabra.

Ojo párrafo anti-trolls, que no estoy atacando en ningún sentido a Stallman. Cada cual es libre de expresar su opinión sea cual sea, igual que yo soy libre de expresar la mía.

Sólo tengo que comentar dos cosas sobre las palabras de Stallman:

  • No creo que en la educación deba usarse únicamente software libre. Creo que gran parte de la educación consiste en enseñar a la gente a tomar decisiones y aceptar las consecuencias (o así debería ser). Por ello, deberían conocer ambos modelos, tanto el del software libre como el del software privativo, así como las ventajas y desventajas de cada uno de ellos. Para mi educar no es decir “tienes que usar software libre, pero es lo que yo creo que es mejor”. No sé si se capta por donde van los tiros.
  • Por otro lado… estoy cansado de los ataques desmesurados de éste hombre al software privativo. El software privativo también tiene sus ventajas. Tanto para él como para la comunidad del software libre. Sip, la competencia. Querramos que no la competencia mueve el mundo. Las ideas provienen de todas partes y se pueden aprovechar (en un mundo libre de patentes claro… eso ya es otra cosa). En definitiva, que el software privativo siempre ha estado ahí y también ha ayudado a llegar donde estamos.

Y nada más, ya me he quedado agusto ;)

Redondear bordes en CSS3

Agosto 19, 2009 por luixal

Ahora que le estoy metiendo un poco más al desarrollo web estoy empezando a ver muchas cosas que antes hacía más complicadas y que pueden ser mucho más sencillas, por ejemplo la que comento aquí.

Antes, cuando quería insertar una imagen con las esquinas redondeadas, lo hacía editando la imagen y luego colgando la imagen modificada. Pues resulta que se puede hacer de una forma mucho más sencilla, con CSS3.

La idea (o eso es lo que he visto yo en mis ejemplos) es redondear el borde de la imagen, no la imagen en si y se consigue añadiendo un valor de estilo al elemento de la imagen (o directamente al CSS si queréis aplicarlo para todas). Algo tan sencillo como ésto:

<img style=”-moz-border-radius:10px” src=”miImagen.png” />

Lo que va en negrita es lo que hace que la cosa funcione y creo que se entiende bastante. Ahora, aunque border-radius debería ser una propiedad estándar de estilo en mi firefox (versión 3.0.13 sobre ubuntu) sólo me funciona con el -moz- delante. Otra de las cosas que me estoy dando cuenta, lo de hacer algo y que se vea igual en todos los navegadores es una auténtica fiesta :P

Ésto lo he visto en un post de Web Designer Depot y allí vienen explicados los campos que se pueden usar para otros navegadores (safari) y para redondear sólo ciertas esquinas y más cosillas… echádle un vistazo si os gustan éstas cosas ;)

Gestión de ficheros de tareas

Agosto 17, 2009 por luixal

Hoy me he topado con un script bastante interesante, y mira que no me suelen gustar demasiado porque creo que tampoco aportan demasiado al usuario. Normalmente un usuario prefiere un interfaz gráfico para la mayoría de éstas cosas, pero creo que éste script, con un pequeño frontend muy, muy simple (y lo tengo en mente) podría ser muy, muy productivo.

El script en cuestión se llama todo.txt y nos permitirá gestionar un fichero de texto con las tareas que tenemos pendientes. No sólo las muestra o permite añadirlas, sino que además, permite también asignarles prioridades, marcarlas como realizadas, etc…

La verdad es que merece la pena echarle un vistazo al screencast que muestran en su página principal.

Combinando éste script con conky o aplicaciones similares, se pueden conseguir cosas realmente chulas y productivas… ;)

Aplicaciones Android (I)

Agosto 10, 2009 por luixal
Al final no he puesto casi nada de Android en el blog, pero hoy me he encontrado con un par de aplicaciones interesantes, TouchPal y Glympse.

CooTek Touchpal es algo que vi en el terminal táctil de nokia y que me parecía la mejor solución para llevar el teclado a los terminales con pantallas táctiles. Estaba seguro de que llegaría a Android, pero pensé que lo haría más pronto. Básicamente se trata de un teclado que tiene 3 posibles formas: qwerty, el típico de los móviles (T+) y 12 teclas. El de 12 teclas no estoy seguro de cual es, pero me supongo que será al estilo de las blackberry. Sin duda el tener disponible el teclado T+ es un puntazo, a mi me sigue pareciendo el teclado más cómodo para introducir info en posición vertical, mientras que en posición horizontal el qwerty es mi opción preferida. Os dejo más info al final de la entrada.

Glympse es una muestra de que, donde las empresas no terminan de llegar, llegan las comunidades de desarrolladores. Ofrece un servicio prácticamente igual que latitude pero que funciona perfectamente. No estoy muy al tanto de los fallos de latitude y de si se están solucionando o no, pero al parecer se queda colgado varias veces, sin actualizar la posición hasta pasado un tiempo. Glympse simplifica Latitude y le da un enfoque distinto, te permite compartir tu posición durante un periodo programable de tiempo (entre 5mins y 4horas). Todo lo que tienes que hacer es arrancar la aplicación y enviar el link que te da a quien quieras que pueda seguir tu posición. Debido a éste enfoque no me parece un reemplazo de Latitude ya que, no soluciona el problema que tiene Latitude, más bien lo evita dándole un enfoque distinto.

De todas formas, para mi es mucho más útil glympse que Latitude, más que nada porque no es que me importe compartir mi posición (todos sabemos que a Latitude se le puede decir que mienta cual bellaco), pero lo que si me importa es no quedarme sin batería y con la duración de las baterías de hoy en día y lo que consume Android gracias a su gestión de aplicaciones (de eso ya hablaré en otro post…) para mi el uso intensivo del GPS en modo 24/7 no es para nada viable :P

TouchPal: QR para instalación, paquetes de idiomas disponibles con sus QRs, vídeo de demostración, página oficial de CooTek
Glympse: QR para instalación, Página oficial, vídeo en youtube