domingo, julio 22, 2018

Una planilla de cálculo no es una Base de Datos

Fruto de la enseñanza clásica en las escuelas (donde se confunde ofimática con informática) es muy común ver en oficinas de distintas organizaciones el uso de planillas de cálculo (frecuentemente el programa Excel) como si fueran base de datos.

Este es un problema que termina derivando en otros problemas aún más complicados, pero parte de falta de conocimiento y/o información sobre cual es la herramienta más adecuada para las tareas que se deben cumplir.


Origen del problema

Tal lo descripto en el enlace del inicio de este artículo muchas personas se formaron en el uso de la computación con programas ofimáticas como Word y Excel.

Estos programas terminaron siendo sus herramientas universales para casi cualquier tarea.

Pero, tal la descripción propia su función, el Word es un procesador de textos y el Excel una planilla de cálculos.

En muchos casos al ser la única herramienta accesible por las personas promedio (realizar un sistema hace tiempo solía ser ser bastante costoso y problemático), y ciertamente estas herramientas ofimáticas son bastante flexibles, muchos decidieron utilizar programas como Excel para almacenar datos.

Gracias a funciones del programa como "buscarv" o "buscarh" o en el mejor de los casos a "macros", permitía realizar búsquedas rápidas y así hacer un pseudo sistema de acceso a datos.

Este uso "rebuscado" puede darse por muchas razones, desde el desconocimiento, la falta de interés, un rechazo a el cambio de forma de trabajar o la falta de contrastar su forma de trabajo con otros pares.


Problema técnico

El problema base es que no se utiliza la herramienta adecuada para la tarea específica.

Las planillas de cálculo, como lo indica su nombre, es para hacer cálculos. Para un libro contable, para un presupuesto, etc. Pero no es para mantener información ni datos como si se tratara de un sistema informático.

Un sistema informático es un programa que se vincula con una base de datos y permite realizar entre otras cosas:
  • Validación de campos de entrada
  • Normalización de datos
  • Seguridad en la información
  • Diagramación de lógica del manejo de los datos
  • Acceso optimizado
  • Evitar duplicidad de datos
  • Permitir altas, lecturas, bajas, modificaciones de datos con controles de auditoría
  • Permitir usuarios concurrentes con distintos perfiles de acceso (restricciones de acceso)
  • Registro de las actividades de cada usuario

En general las bases de datos cuentan con un modelo entidad-relación y se realiza la normalización de los datos, permitiendo que la información este estructurada de forma tal que se optimiza el rendimiento de acceso a los mismos.

Por otro lado se puede definir una correcta asignación de responsabilidades (con los permisos en el sistema), y de esta forma distintas áreas pueden tener visibilidad de ciertos datos de otras áreas para así evitar la duplicidad de tareas (con sus consecuentes perdidas de tiempo, y mayor posibilidad de inconsistencias).


Los sistemas no son la panacea

Ahora bien como todo tiene sus problemas, es decir no puede existir ventajas sin desventajas.

Los sistemas requieren personal capacitado para poder desarrollarlos y mantenerlos. Esto implica poder realizar las adaptaciones, mejores y los requerimientos futuros de las áreas.

Esto en muchos lados no es posible o se puede realizar pero de forma parcial.

Por otro lado al ser los sistemas transversales en muchas organizaciones requiere que estén realizado por determinadas áreas y es frecuente que los tiempos y prioridades no sean los mismos entre las distintas áreas (esto puede ser algo menor cuando hay una correcta dirección).

Los sistemas pueden ser "algo oscuro" en el sentido que el usuario final no tiene ni idea como está funcionando internamente, esto puede ser contraproducente. Respecto a esto puede haber distintos metodologías de desarrollo, incluso que las áreas se involucren más en el desarrollo de la aplicación y no que sean "usuarios".

La clásica "dependencia", es muy común en cualquier área de saber no muy frecuente y específicamente en un sistema informático (que por ejemplo desarrollo una sola persona), la dependencia suele tenerse sobre un grupo reducido de personas, y en consecuencia una suerte de coacción implícita hacia la organización.

Vale aclarar que todas estas "visiones negativas" no siempre son certeras y existen vías de evitarlas o mitigarlas, lo importante es al menos conocerlas.


Para finalizar

Es importante resumir que si bien es frecuente el uso de planillas de cálculos para almacenar datos (no siendo la herramienta adecuada), es posible utilizar bases de datos para los mismos fines.

Evidentemente estos tienen ventajas y desventajas que se deben analizar en los casos concretos.

Anteriormente se comentó el framework CRUD el cual es una herramienta muy interesante para generar de forma ágil formularios y visualización de cierta información incorporada de forma estructurada.

Como siempre se comenta que no hay que apresurarse al adoptar distintas herramientas y siempre hay que buscar opciones alternativas que ayuden a mejorar el rendimiento, permitiendo utilizar el tiempo ahorrado para otras cuestiones.

miércoles, junio 27, 2018

Wi-Fi Alliance anuncia WPA3

Luego del conflicto respecto de la vulnerabilidad KRACK la Wi-Fi Allinace ha anunciado WPA3 el nuevo estándar para realizar conexiones seguras en dispositivos Wi-Fi.

Las nuevas especificaciones traen distintas mejoras tales como un cifrado de 192 bits (versus los 128 de WPA2) y el reemplazo de WPS ahora denominado Wi-Fi Easy Connect que utilizará un código QR.

domingo, junio 17, 2018

Intermediario benefactor: con recursos ajenos pero reglas propias

Con el correr del tiempo uno observa cada vez más casos en los cuales un intermediario (léase estado, gobierno, líder, empresa, organismo, ONG, etc) se auto determina "benefactor" y decide otorgar a muchas personas muchas cosas.

Claro está, por más interesante que parezca y bonito, internet nos ha dado una gran bofeteada al poder acceder a un poco de cultura y ver la serie Fullmetal Alchemist y su "Ley de la equivalencia": "Para obtener algo, es necesario sacrificar algo de un valor equivalente".


En muchas ocasiones los intermediarios, gracias a su conocimiento, persuasión o esfuerzo, nos hacen una oferta que no podemos decir que no. Pero con el correr del tiempo nos damos cuenta que esa oferta en realidad tiene algo oculto: las reglas las ponen quién ofrece.

Esto no es justo, un contrato se entiende la voluntad de las partes, y si estas no están realizadas también con discernimiento y libertad no es válido.

Muchas veces estos intermediarios juegan con estos factores, se aprovechan de la ignorancia y coartan la voluntad (con técnicas de miedo como por ejemplo el FUD), para -en última instancia- afectar la libertad de las personas.

Estamos acostumbrados a tener una sola interfaz y confiar en determinadas asociaciones (bancos, supermercados, gobiernos, partidos, instituciones educativas, etc), pero en muchas ocasiones no nos ponemos a pensar si estas asociaciones son realmente las únicas validas o no.

Nada impide compartir el auto para ir a trabajar con un compañero de trabajo, o que un vecino venda comida casera (o aveces si, ciertas regulaciones...). Pero estas relaciones peer-to-peer (entre pares) no les conviene a las asociaciones ya existentes. Que, poco a poco se van transformando en monopolios.


Existen muchos casos de gobiernos que por ejemplo no dan acceso a recursos (computadoras, electricidad, gas, luz, agua, etc) a determinadas personas y lo dan solo como condición de que hagan o no ciertas acciones. Ahí está el punto principal en aceptar inicialmente eso o no, y teniendo en cuenta que la libertad es el valor más importante... pero sobre todo que cualquier acción que hagamos (aceptar o no), genera consecuencias, como por ejemplo validar implícitamente ese accionar.

Pero ojo, esto no es una bandera diciendo que los intermediarios no deberían existir, a no confundirse. Vivir en sociedad implica aceptar reglas, y a su vez uno reconoce que hay intermediarios válidos, y que por su conocimiento pueden hacer las cosas mucho mejor y optimizando recursos. El foco es que sea realizado desde una perspectiva ética. Específicamente el foco planteado es: conocer las reglas, y elegir con libertad. En caso de que no se pueda elegir proponer cambios y alertar a otros.
Recibe las actualizaciones en tu correo