Formatos de fecha, su endianness, ISO 8601 y otras reflexiones

Introducción

El propósito de esta publicación es reflexionar en los diferentes formatos de fecha, sus conceptualizaciones, sus ambigüedades, su endianness y finalmente el formato internacional de fecha ISO 8601.

El endianness se refiere al extremo por el que comienza la representación de un número. Por ejemplo, para el número 547 —y considerando que en español escribimos de izquierda a derecha— primero escribimos el 500, después el 40 y después el 7. El 5 tiene más valor relativo que el 7. Puesto que se comienza por el dígito de mayor valor, a esto se le llama big-endian y es común en protocolos de red. El contrario se denomina little-endian y es común en algunos procesadores de Intel. Cuando no se sigue un orden progresivo se le dice middle-endian.

Leer más

A veces un «if» es más barato

En una interesante discusión en el grupo de Facebook de la Comunidad .NET Tijuana surgió el tema de las microoptimizaciones, en particular el uso de evaluación en corto circuito y el ahorro de ifs «que son muy costosos al CPU».

Mi último argumento:

A lo que iba es que el short-circuit, si bien te puede ahorrar ifs, también puede darte sorpresas como brincarse validaciones de seguridad. Ha ocurrido en otros lenguajes. Yo prefiero un if explicito, que en realidad no es nada caro al CPU, a menos que no diseñes bien tus condiciones.

Entonces el autor original hace un planteamiento: ¿Cuál de los dos siguientes programas es más rápido?

Leer más

SSH inverso a través de un tercer servidor

Supón que tienes una máquina Linux con servidor SSH al que quieres llegar pero está detrás de un firewall o un NAT dinámico que no puedes modificar. Por otra parte, la máquina en la que estás también está detrás de un firewall, de modo que no puedes abrir puertos hacia adentro. Sin embargo, dispones de … Leer más