Programación en Internet

Blog de la asignatura de la titulación Ingeniero en Informática

13 septiembre 2019
by Sergio Luján Mora
0 comments

No es NO

En un sistema en producción, no se deben mostrar estos mensajes de error:

user warning: Table ‘drupal.semaphore’ doesn’t exist query: SELECT expire, value FROM semaphore WHERE name = ‘locale_cache_es’ in /usr/share/drupal6/includes/lock.inc on line 149.

A un posible atacante se le está ofreciendo mucha información que le puede ayudar a planificar un ataque. Y a un usuario normal, toda esa información no le ayuda para nada, al revés, le desconcierta. Y el desarrollador, si necesita tener acceso a esa información, seguramente estará registrada en un fichero de log, junto con más información necesaria para depurar el error.

Así que, no, no y no. “No es NO”.

9 septiembre 2019
by Sergio Luján Mora
1 Comment

Las tres amenazas que se ciernen sobre la web

En marzo 1989, Tim Berners-Lee le presentó a su jefe el informe Information Management: A Proposal, que fue la semilla de la Web.

Treinta años después, en marzo 2019, se celebró el 30 aniversario y Tim Berners-Lee publicó una carta con los peligros de la Web: 30 years on, what’s next #ForTheWeb?

También podemos leer la traducción al español en Las tres amenazas que se ciernen sobre la web.

Las amenazas son:

En líneas generales, considero que hay tres causas de las disfunciones que afectan a la web actual:

  1. Las intenciones deliberadas y maliciosas, como el pirateo y los ataques informáticos apoyados por los Estados, la conducta delictiva y el acoso en Internet.
  2. El diseño de un sistema que crea incentivos perversos en los que se sacrifica al usuario, como los modelos de ingresos basados en la publicidad que recompensan comercialmente el cibercebo y la difusión viral de la desinformación.
  3. Las consecuencias negativas involuntarias del diseño benevolente, como el tono enfurecido y polarizado y la calidad de las conversaciones en Internet.

2 septiembre 2019
by Sergio Luján Mora
0 comments

Cómo manipular los colores CSS con JavaScript

Un excelente artículo How to manipulate CSS colors with JavaScript:

I know you’re here to learn about manipulating colors — and we’ll get there. But before we do, we need a baseline understanding of how CSS notates colors. CSS uses two different color models: RGB and HSL.

Both the RGB and HSL color models break down a color into various attributes. To convert between the syntaxes, we first need to calculate these attributes.

With the exception of hue, each value we have discussed can be represented as a percentage. Even the RGB values are byte-sized representations of percentages. In the formulas and functions below, these percentages will be represented by decimals between 0 and 1.

I would like to note that I will not cover the math for these in depth; rather, I will briefly go over the original mathematical formula and then convert it into a JavaScript formula.

31 julio 2019
by Sergio Luján Mora
1 Comment

Tres cosas que puedes hacer para mejorar la vida de millones de personas

Muy a menudo, las personas con discapacidad no pueden usar los documentos electrónicos porque presentan barreras de accesibilidad. Las tres cosas más sencillas e importantes que puedes hacer para mejorar la accesibilidad de los documentos electrónicos son:

  1. Definir un texto alternativo para las imágenes. Pero a veces no todas las imágenes necesitan un texto alternativo y una imagen puede requerir diferentes textos alternativos según el contexto.
  2. Elegir y usar colores adecuados. Los colores no están prohibidos, se puede usar cualquier color, lo que plantea problemas son las combinaciones de colores erróneas.
  3. Definir una buena estructura del documento con los encabezados. No solo ayuda a las personas con discapacidad, ayuda a todo el mundo, te ayuda a ti mismo porque facilita los cambios, ¿por qué no usas lo encabezados siempre?

Estas tres cosas no garantiza la accesibilidad al 100%, pero sí que suelen ser barreras muy comunes y muy fáciles de evitar. Un pequeño gesto puede ayudar a millones de personas, ¿a qué estás esperando?