2015-12-07

http2 explicado

http2book.png
La especificación de la segunda versión del protocolo HTTP, fue publicada en mayo de este mismo año, 2015. El documento oficial dónde se definen la misma, es el RFC 7540. Mas información en:

RFC 7540:https://tools.ietf.org/html/rfc7540
http2 explicado: http://http2-explained.haxx.se/content/es/index.html:

Impresión ePub: https://www.gitbook.com/download/epub/book/bagder/http2-explained
Impresión PDF:  https://www.gitbook.com/download/pdf/book/bagder/http2-explained



2015-10-28

Recursos sobre criptografía y seguridad

Estar al día sobre cualquier campo dentro de la tecnología, requiere un gran esfuerzo y dedicación. En el tema de la seguridad informática y criptografía, es quizás incluso más complicado por la cantidad giros y avances que se llevan a cabo a pasos agigantados. Es por ello que el mantener organizado una buena lista de recursos esenciales, debería ser un objetivo primordial.
He aquí una web llamada RETTER en la que podemos encontrar una excelente lista de dichos recursos. Los recursos están divididos en las siguientes categorías:
El contenido del sitio está alojado en Github. La lista sigue en continuo desarrollo.
Este sitio no te debe faltar en tus favoritos.
- See more at: http://www.cyberhades.com/2015/10/26/recursos-sobre-criptografia-y-seguridad/

2015-10-10

Eones, Eras, Periodos y Épocas geológicas

El eón es la unidad más grande de tiempo geológico. Se divide en diversas eras geológicas. Cada era comprende algunos periodos, divididos en épocas.
Cuanto más reciente es un periodo geológico, más datos podemos tener y, en consecuencia, se hace necesario dividirlo en grupos más pequeños.
Edad (años)EonEraPeriodoÉpoca
4.470.000.000Precámbrico  Azoica
3.800.000.000Arcaica
2.500.000.000Proterozoica  
560.000.000FanerozoicoPaleozoicaCámbrico
510.000.000Ordovícico
438.000.000Silúrico
408.000.000Devónico
360.000.000Carbonífero  
286.000.000Pérmico
248.000.000MesozoicaTriásico
213.000.000Jurásico
144.000.000Cretáceo
65.000.000CenozoicaTerciariaPaleoceno
56.500.000Eoceno
35.400.000Oligoceno
24.000.000Mioceno
5.200.000Plioceno
1.600.000CuaternariaPleistoceno  
10.000Holoceno

Bibliografía
http://www.astromia.com/tierraluna/erasgeologicas.htm

Una de mates – El principio del palomar

Una curiosidad, El principio matemático del palomar

El principio del palomar, también llamado principio de Dirichlet o principio de las cajas, establece que si n palomas se distribuyen en m palomares, y si n > m, entonces al menos habrá un palomar con más de una paloma. Otra forma de decirlo es que m huecos pueden albergar como mucho m objetos si cada uno de los objetos está en un hueco distinto, así que el hecho de añadir otro objeto fuerza a volver a utilizar alguno de los huecos. A manera de ejemplo: si se toman trece personas, al menos dos habrán nacido el mismo mes

Mas información:

2015-10-05

Robocopy

Robocopy, como abreviatura de Robust File Copy, es como su propio nombre indica, una herramienta de copiado robusto de archivos. Desde Windows NT 4, se ofrecía gratuitamente como parte del Windows Resource Kit, pero su difusión ha ido aumentando, gracias a que desde Windows Vista, se incluye de serie con el sistema operativo, ya sea de escritorio, como de servidor.

Desde su primera versión pública de 1997, la 1.7 (Windows NT 4), lo hemos visto pasar a la 1.9 de 1999 (Windows 2000), 5.1 de 2003 (Windows Server 2003), 5.1 de 2008 (Windows Vista y Server 2008), 6.2 de 2012 (Windows 8), 6.3 de 2013 (Windows 8.1), y 10.0 de 2015 (Windows 10).

En Microsoft Technet, te ofrecen una descripción detallada de todos sus argumentos, aunque estas de suerte, porque su funcionamiento básico, es análogo al ya conocido Xcopy, que dicho sea de paso, pretende reemplazar.

Sus argumentos son serios, porque además de la robustez de su diseño, ofrece un elevado rendimiento gracias a sus capacidades multihilo, así como multitud de opciones de copiado y movido. Se pueden ajustar la cantidad de reintentos, permitir resumes, eliminar de la copia los archivos que ya no existen en el original, etc.

En mi caso, lo utilizo con frecuencia para realizar copias de seguridad de mis datos en un disco USB externo, de la forma:

robocopy.exe [Origen] [Destino] /e /dcopy:T /purge /zb /sl /xj /r:3 /w:1

Una joyita, que incluso en la versión 10.0 de Windows 10, en su variante de 64 bits, apenas requiere de 130 Kb. de espacio en disco.




Aquí esta el documento original.



2015-08-31

Links útiles para desarrollar en Windows 10

Comparto un conjunto de links a recursos para desarrollar en Windows 10
image

Las herramientas

Desde aquí se pueden descargar las herramientas de desarrollo incluidas las versiones gratuitas

Qué hay de nuevo?

En éste link encontramos qué podemos hacer con Windows 10, Universal app, Juegos.

Empezar a desarrollar

Éste link tiene recursos para empezar, qué usar, qué se puede hacer y más.

Diseñar Universal App

Para que nuestra aplicación se vea bien en todas las plataformas éste es el link.

Cómo hago para?

Un listado de artículos y referencias para aprender a usar la API de Universal Apps.

Y cómo publico las aplicaciones?

Una vez que tengamos nuestra app lista para público podemos aprender a publicar desde este link.

Y los IT pro?

También hay recursos para la gente de IT en éste link.
Videos, Channel 9: Es el recurso principal si nos interesan los webcast y video tutoriales sobre todo lo relacionado con Windows muy recomendable.

Bibliografía
Documento original en:
http://www.leomicheloni.com/post/2015/08/29/Links-utiles-para-desarrollar-en-Windows-10.aspx

2015-03-08

Las longitudes máximas de URL

Las longitudes máximas de URL

Publicado por jpluimers en 04/20/2010
Un cliente me preguntó recientemente qué espacio debe reservar para almacenar las direcciones URL en sus DBMS.
La pluralidad en el título del tema es una pista: los distintos sistemas tienen diferentes límites en longitudes de URL.
Pero en primer lugar:

No utilice las direcciones URL largas

Si utiliza mucho URL (ya decir que un coupé de 100 caracteres), entonces por lo general tiene un problema.
En primer lugar: URL corta de son más fáciles de recordar, índice y búsqueda.
Segundo: URL largo de puede plantear problemas. 
Puede ser que su navegador y soporte de servidor de ellos. 
Sin embargo, un usuario podría estar detrás de un proxy de la interceptación (a veces invisibles para usted y su usuario) que impone un límite de URL.

Las longitudes máximas de URL

Stackoverflow tiene un buen tema en longitudes de URL , algunos sitios hicieron investigaciones sobre esto hace un tiempo, y aquí es algo más de información que recogí.
Vamos a empezar con la norma oficial sobre esto:
RFC 2616 (Hypertext Transfer Protocol - HTTP / 1.1) establece en el apartado 3.2.1 que no hay límite para la longitud de un URI (URI es el término oficial para lo que la mayoría de la gente llama una URL).
Se advierte sin embargo sobre más de 255 personajes de URI, porque en aquel entonces (1999!) Algunos clientes mayores y sistemas proxy no apoyan eso.
Luego está el RFC 3986 (localizador uniforme de recursos (URI): Sintaxis genérica) que no impone un límite en la longitud total de la URL, pero indica en el apartado 2.3.3 el nombre de host se limita a 255 caracteres (debido a las limitaciones de DNS) .
Boutell hizo una investigación sobre las longitudes de URL en el 2006 . 
Su recomendación es tener cuidado con más de 2.000 personajes de URL.
ASP FAQ hizo una investigación en 2001 . 
Lo curioso en aquel entonces era que Netscape 4.3 apoyó 8k URLs, pero Netscape 6 sólo se admite 2000 caracteres.
Algunos productos específicos (en parte de Boutell y ASP FAQ, en parte, a partir de mi propia investigación):

General: no hay límite teórico de la longitud URL

Si necesita reservar espacio en su DBMS, que sea grande o ilimitado.

Navegadores

Vamos a empezar con el lado del cliente.

Internet Explorer

Internet Explorer 8.4 tiene una longitud máxima de 2.083 URL personajes, sino un límite práctico de 2.048 caracteres.
Internet Explorer 8 también es compatible con los datos URI , y aquellos se limitan a 32kb de tamaño .
No hay informe de un error en Internet Explorer 6 y 7 al exportar atajos de URL: se están truncados a cerca de 259 caracteres. 
Esto se parece demasiado a la de valor MAX_PATH 260 se describe aquí .

FireFox

FireFox parece no tener límite práctico.
Se deja de mostrar después de 64k caracteres, pero puede servidor de más de 100 mil caracteres. 
Esto vale para FireFox 1.5 hasta la versión actual de Firefox.
Danny Thorpe descubrió la manera dura que el límite interno algunas versiones de Firefox se trata de 40k. 
Ver el comentario que hizo.

WebKit: Chrome, Safari

No pude encontrar ningún límite en Chrome y Safari. Ambos están basados ​​en WebKit y parece tener límites similares como FireFox tiene.

Ópera

Aunque Opera tiene su propio código base, no tienen un límite de longitud de URL práctica, alrededor de 200 mil todavía funciona.

Servidores

Apache

En stackoverflow , la gente ha utilizado la configuración LimitRequestLine para apoyar URL de más de 128 mil caracteres.

Internet Information Server

Para la versión de IIS 6 y 7,  el límite predeterminado es de 16 kilobytes , con un máximo de 16 megabytes.

Sharepoint

SharePoint impone algunos límites adicionales en la parte fija de un URL y algunos explicación es en este hilo del foro Microsoft y éste . 
La porción de cadena de consulta puede ser más grande, pero la parte fija es dinámico.
Lo anterior ling también tiene una referencia a una longitud de dirección URL del inspector que se puede utilizar para SharePoint.

Lotus Notes

Desde la versión 6.5.3 en adelante, la longitud máxima de URL se puede establecer en kilobytes. El valor predeterminado es de 4 kilobytes.
Informa NCT Investigación que las versiones anteriores tienen un límite de 2.048 caracteres (versión 5.0.10 y superiores, incluyendo 6.x hasta 6.5.3), y las versiones siguientes tienen un límite de 1.024 caracteres.

Los motores de búsqueda

SEOmofo hizo una investigación sobre la longitud máxima URL de los motores de búsqueda .
Ambos investigaron la longitud para la indexación de URL y la longitud para la visualización de los resultados de búsqueda.
Su ganador es BING: admite hasta 2047 caracteres.
Google admite hasta 1855 caracteres.

Lenguaje Go

El lenguage Go, Es un lenguaje de programación creado por Robert Griesemer, Rob Pike, y Ken Thompson (sí, los Rob Pike y Ken Thompson creadores junto a otros de Unix, UTF-8 y mil cosas más). Es un proyecto open source desarrollado inicialmente en Google y Google sigue siendo en la actualidad su principal impulsor y contribuidor.
Go la mascota
Como lenguaje, Go prima un estilo de programación procedural. Lo podríamos considerar de nivel intermedio/bajo. Pretende ser algo así como el C del siglo XXI y su sintaxis se asemeja a la de C, aunque se ha simplificado en muchos aspectos, eliminando por ejemplo la aritmética de punteros (existen los punteros, pero no podemos operar con ellos) y en general tiene una sintaxis más limpia. Se le han añadido también características “modernas” como puede ser un sistema de build rápido, un sistema de paquetes robusto (para evitar colisión de nombres), recolector de basura, etc.
Una característica que puede resultar interesante es que los programas compilados no requieren de máquina virtual, se obtiene un binario ejecutable directamente. De hecho, por defecto dicho binario está estáticamente linkado, por lo que no tiene ninguna dependencia externa de las librerías usadas para su compilado.
Está disponible para varias plataformas oficialmente: Linux, FreeBSD, Windows y Mac OS X. Para otras plataformas se puede compilar a partir de los fuentes o se puede usar la herramienta alternativa gccgo, que es un frontend para el compilardor GCC (de tal manera que la tarea de generar el binario se deja en manos de GCC).
Una cosa interesante a la hora de empezar con el lenguaje es que existe una herramienta online que nos permite escribir programas en Go y ejecutarlo directamente: Go playground. Aunque es evidente que algunas cosas no se pueden probar aquí (es un entorno sandboxed), nos puede servir para hacernos una idea del lenguaje sin tener que instalarlo. De hecho, es una práctica de la comunidad compartir código, dudas, etc, mediante enlaces a programas en el Playground.
Lo básico para empezar con Go es hacer A tour of Go, un tutorial bastante completo que utiliza el Playground para los ejemplos de código y los ejercicios. Esto es lo que yo hice. Además, desde el propio tutorial enlazan a artículos para poder profundizar en algunos temas.
Por cierto, los creadores del lenguaje no fueron muy avispados con el nombre. Como termino de búsqueda en google, Go es demasiado genérico (aparte de que existe un juego de mesa de origen chino con el mismo nombre). De hecho, es mejor utilizar el termino Golang en lugar de Go cuando buscamos en Google.

Me ha parecido tan interesante que lo he copiado sin cambiar ni una coma de este articulo:http://www.juanjonavarro.com/2015/03/07/lenguaje-go

2015-02-02

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:
  • 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.
Los sitios de referencia más populares, serán (probablemente) IcoMoon y Fontastic, que permiten al usuario seleccionar entre cientos (sino miles) de posibles iconos y crear y descargar esa fuente en cuestión de segundos. Además, es aconsejable consultar el exhaustivo artículo de Chris Coyer (CSS Tricks)  " The Big List of Flat Icons & Icon Fonts " , donde se encuentra una lista muy extensa de enlaces y muestras de iconos listos para usarse en cualquier sitio.

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 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