Tecnología

¿Que significa/implica que una función HASH sea libre de colisiones?

Una función hash es un algoritmo matemático que para un mensaje/cadena de entrada de cualquier tamaño x, es capaz de generar (de manera eficiente) una cadena de salida de longitud fija H(x), que funciona como resumen del mensaje de entrada. Esto es debido a que el mas mínimo cambio en el conjunto de entrada, daría como resultado una hash totalmente diferente. 

Para que la premisa anterior se cumpla debemos asumir que la función (SHA-2) es libre de colisiones (collision-free). Significa que nadie e capaz de encontrar una situación donde partiendo de mensajes de entrada diferentes x!=y, al aplicar la función obtenga la misma salida  H(x)=H(y).

Pero las colisiones existen....

Manual para estructurar los contenidos usando vocabularios y términos de taxonomía en Drupal 8

A continuación veremos cómo sacar buen partido de las vistas y las taxonomías en Drupal 8. Y para que lo entiendas a la primera, te voy a explicar como he combinado estos módulo en esta misma web (re-orientation.com) para clasificar y estructurar todas las publicaciones en secciones y sub-secciones.

Este tutorial requiere un Drupal 8 instalado, conocimentos básicos de la herramienta y acceso al entorno de administración del sitio web, desde donde realizaremos las configuraciones y parametrizaciones necesarias. Como verás, no es necesario programar a nivel de código nada, lo que de paso demuestra la potencia de este CMS.

Índice:

Como saltar el theming system de Drupal fácilmente

Cuando usas un CMS, los contenidos son generados de manera dinámica y para visualizarlos se utiliza una especie de “plantilla” con el diseño/estilos asociados a éstos. En Drupal estas plantillas finales son conocidas como Temas (themes) y existe una gran variedad (por ejemplo, re-orientation usa el tema BOOTSTRAP BUSINESS).

Una vez que trabajas con un tema concreto, todos los contenidos visualizados son maquetados por el sistema de generación asociado al tema activo. El único inconveniente que tiene esta manera de operar es que a priori no es posible saltarse la plantilla del tema y hay algunos casos en los que puede ser deseable.

Caso de uso que combina páginas estáticas y dinámicas en Drupal

Por ejemplo, en re-orientation quiero que la home sea una página estática 100% a medida y fuera de la plantilla asociada al tema. Hay varias maneras de conseguirlo, os voy a contar como lo hice yo sin complicarme mucho la vida.

Como informar correctamente la contraparte en el XML del SII

Hace ya algunas semanas que entró en vigor el Suministro Inmediato de Información a la Agencia Tributaria (SII), y aún existen bastantes problemas al informar la contraparte en los ficheros XML enviados a la AEAT, ya que el nodo <Contraparte> tiene diferentes valores en función del tipo de interlocutor receptor/emisor de la factura, como se aprecia en el esquema SuministroInformacion.xsd...

Nodo Contraparte, para libro de facturas expedidas

Como informar correctamente el destinatario de la factura electrónica cuando es un organismo público

Cuando se envía una factura electrónica a la administración pública (XML Facturae 3.2.x), es obligatorio identificar el órgano administrativo destinatario de una factura informando de los datos referidos a la Oficina Contable (OC), el Órgano Gestor (OG) y la Unidad tramitadora (UT) que le corresponden. Estos tres datos son los que comúnmente se conocen como DIR3 (OC-OG-UT). Pero ¿Que significan y donde se informan los DIR3 en el XML FACTURAE 3.2.x?...

Nodo de Centro Administrativo del esquema XML Facturae

Soluciones eficientes combinando ArrayList HashSet y HashMap

Imaginaros que tenemos dos colecciones de objetos, la colección A y la colección B, donde B es un conjunto de objetos reducido de A. Si necesitáramos obtener, a partir de los datos anteriores, un contenedor C donde por cada elemento de A sepa si existe en el conjunto B o no, ¿como podríamos realizar esto de manera sencilla y sin necesidad de anidar bucles?

Hay varias formas de resolver el caso de uso anterior usando Java, en nuestro caso el objetivo es ilustrar el uso combinando de ArrayList, HashSet y HashMap, así que veremos una manera eficiente de implementar la solución.

Nos apoyaremos principalmente en la clase java.util.HashSet, que está pensada específicamente para trabajar con conjuntos y nos permite buscar de manera rápida elementos dentro de uno. Para modelar el ejemplo: A, será un HashList; B un HashSet; y el resultado del cruce, C, un HashMap...

Pasos para importar a MiniKeePass un archivo .kdbx desde Dropbox

Sincronizando KeePass mas Dropbox mas MiniKeePass

Seguramente muchos de vosotros usáis la aplicación de escritorio KeePass para mantener las contraseñas agrupadas de manera segura. Los que habitualmente utilizáis varios equipos, probablemente sincronicéis las BDDs de claves usando un almacenamiento en la nube como Dropbox.

Si estas en ese punto y tienes un iPhone, puedes dar un paso más allá y tener tus claves siempre contigo de manera segura. Para ello, a continuación veremos como sincronizar de manera sencilla la BDD de claves de KeePass (Dropbox mediante) con la App MiniKeePass.

Haciendo GTD con la aplicación Wunderlist parte 1. Gestionando las listas

Hace ya algunos años que me viene interesando mucho todo lo relacionado con las diferentes estrategias y técnicas asociadas a la gestión del tiempo, orientadas a la mejora de la productividad personal. Desde entonces, he incorporado a mi rutina de trabajo una versión simplificada de la metodología GTD (Getting Things Done). La he adaptado un poco a mis características y hábitos personales pero en general, se respeta la esencia.

Aunque GTD se puede poner en práctica incluso con una libreta y un boli, en mi caso me apoyo en una aplicación para gestionar listas llamada Wunderlist que elegí por por su simplicidad y versatilidad. También la elegí porque tiene versiones estables para todos los dispositivos importantes (incluido ahora también el Apple Watch), con lo que dispongo de las listas sincronizadas en todo momento. De hecho uso la versión gratuita de la aplicación, que es totalmente funcional.

A continuación os comentaré mi experiencia personal trabajando con Wunderlist y la metodología GTD: Principalmente cómo organizo las diferentes listas de la aplicación y la nomenclatura específica que uso en el título de los ítems de éstas para que me brinden de manera rápida información relevante a la hora de acometer las acciones en cuestión.

Así que si estás buscando una aplicación informática de apoyo para llevar GTD a la práctica, este post te puede ser de utilidad ya que aunque la operativa que se describe está orientada a funcionar con Wunderlist, es fácilmente extrapolable a otras aplicaciones similares...