jueves, 16 de mayo de 2024

Los comentarios del código fuente

Un código bien comentado no solo te es útil a ti mismo cuando lo leas dentro de 3 meses, también para los demás.

Un código hay que comentarlo como si fuese algo nuevo o algo que no recuerdas, especialmente si al leerlo te haces alguna de las siguientes preguntas: ¿Cuando se utiliza esto? ¿Por qué se utiliza esto? ¿Cómo lo hace?

Para conseguirlo, dos opciones:

* Cuando se está empezando y se llena todo de TODO: (hay que hacer esto) y FIXME: (arréglame). Cuando se finalice cada uno de ellos, convertir el TODO o FIXME en un comentario normal.

* Cuando se ha acabado, haz como si tuvieras memoria de pez y lee el código de nuevo, o espera a que se te olvide (alrededor de 3 meses) y léelo entonces.

En cuanto te hagas a ti mismo una pregunta sobre el código, apúntala, esa pregunta necesita un comentario. O si programas con otros, que otros lean el código y si se hacen alguna pregunta, esa pregunta necesita un comentario.

Y si cuando vuelvas a leer el código con los comentario te siguen quedando dudas, mejora los comentarios.


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

martes, 16 de abril de 2024

El matar se va a acabar

Cuando una persona mata a otra la llaman asesino.

Cuando una persona mata a unas pocas la llaman terrorista.

Cuando una persona pide a otros que maten a personas de otros países, les llaman presidentes del gobierno o dictadores.

¿Algún día aprenderán a no hacer caso a un descerebrado esas personas a las que les piden que maten a otros?

Alguien me tildará de simplista, y puede que tengan razón, porque es muy simple hacer una ley que impida que esta situación se pueda dar. Y también es muy simple intentar colarla, como ya intentó la Unión Europea.


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

domingo, 24 de marzo de 2024

La mala fama de los CGI (web)

La mala fama de los programas Common Gateway Interface (CGI) como forma de procesar programáticamete las peticiones web, se debe principalmente al entorno inoperativo de cierta corporación, que al ser incapaz de mantener en memoria los ejecutables para no realizar un proceso bastante costoso cada vez que se inicia un programa (solo lo hace con las librerías dinámicas), hace que los CGI en su porquería sean muchísimo más lentos que en cualquier otro sistema operativo.

Así que se idearon otras formas de mantener los programas en memoria y aparecieron los servidores de aplicaciones, donde el servidor decide qué librería, que se mantiene siempre en memoria, debe procesar cada petición, le pasa la petición y esta devuelve la respuesta. Así se conseguía reducir la diferencia abismal de rendimiento con los otros entornos.

La versión moderna del servidor de aplicaciones es el conocido como "serverless", donde cada programa tiene su propio servidor. Ahora no se tiene un único servidor y múltiples librerías, ahora se tienen múltiples programas (lo que antes era una librería), cada uno con su servidor. Ahora es el Sistema Operativo el que gestiona las colas de las peticiones en lugar del servidor de aplicaciones.


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

La única regla para simplificar ecuaciones

La única regla válida para simplificar ecuaciones donde hay igualdades es muy sencilla:

Si las dos partes son iguales, si se hace lo mismo en las dos partes, la igualdad se mantiene.

Es decir, si A=B entonces f(A) = f(B), siempre que f no devuelva un resultando indefinido como infinito o -infinito, por ejemplo por dividir por 0.

Por ejemplo:

3(x2 + 8)=3x(x2 + 8)

Empezamos con el paso sencillo: Quitar los paréntesis

3x2 + 24=3x3 + 24x

Ahora sí, en lugar de usar reglas mnemotécnicas del estilo: la suma se pasa al otro lado restando, si queremos pasar un término al otro lado, simplemente le restamos su negativo en ambas partes, para así tener un 0 en una parte. La multiplicación se pasa al otro lado dividiendo (siempre que no sea 0), es simplemente dividir en ambas partes por lo mismo para mantener la igualdad.

3x2 + 24 - 3x3 =3x3 + 24x - 3x3

Que se transforma en:

- 3x3 + 3x2 + 24  = 24x

Lo mismo con 24x:

 - 3x3 + 3x2 + 24 -24x = 24x - 24x

 - 3x3 + 3x2 - 24x + 24 = 0

 -3(x3 - x2 - 8x + 8) = 0

-3(x-1)(x2+8)=0

Y entonces sabemos que si x-1=0 o x2+8=0 la ecuación se cumple, es decir, las soluciones son:

x=1

x=(-81/2) que tiene dos soluciones: x=2(21/2)i y x=-2(21/2)i

Esto solo sirve para la igualdad entre números complejos o reales, no para la igualdad de la aritmética de módulo, ya que cambian completamente las reglas.


sábado, 23 de marzo de 2024

Una lástima que no hagan lo mismo con el spam legalizado por un subnormal

Un juez español quiere que los proveedores de Internet españoles bloqueen Telegram a través del gran cortafuegos español, el mismo que ya utilizan para bloquear muchas páginas web, y que hace imprescindible la comunicación mediante conexiones cifradas https o vpn + https para mantener algo de privacidad.

Si son capaces de bloquear un programa de mensajería instantánea, también son capaces de saber quien está realizando llamadas SPAM y les pueden bloquear o quitar la línea telefónica.

Señores jueces, hagan algo bueno por los españoles, no solo por unas pocas empresas que ya ganan demasiado. ¡Ah!, que necesitan que alguien haga una denuncia para mover un dedo, se me olvidaba ese pequeño detalle.

Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

martes, 12 de marzo de 2024

Cómo conseguir esa ansiada igualdad entre hombres y mujeres

Los primeros que tienen que dar ejemplo son las administraciones públicas.

Si se elimina el sexo del DNI y de todos los formularios, se acabó la discriminación de las administraciones públicas por razón de sexo, que las hay, y además por ley (discriminación positiva).


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.

martes, 20 de febrero de 2024

Hay algo más complejo que los problemas No Polinómicos, los problemas creados por los Funcionarios.

Los Funcionarios de escritorio asignados a la creación de programas son especialistas en crear problemas, como:

  • Poner campos calculados en una Base de Datos, violando la 1ª forma normal y haciendo que sea casi imposible la integridad referencial, y no hay forma de bajarles de la burra (que eso es mucho peor).
  • Utilizar más de una clave para un mismo dato.
  • Crear cientos de copias de lo mismo en lugar de sustituir.
  • Utilizar programas antediluvianos de cierta corporación.
  • Cambiar de opinión cada día. Esto hace que cualquier cosa que pudiera parecer sencilla se enmarañe hasta ser incomprensible.
  • Utilizar el desarrollo por documentación (lo más importante es la documentación, no los programas obtenidos).
  • Se pierden en minucias en lugar de ver todo el conjunto.

El problema más complejo del mundo es conseguir hacer algo decente con Funcionarios. Así es normal que se tarde diez veces más de lo normal en hacer cualquier cosa.


Copyleft Ender. El presente artículo no tiene finalidad informativa, de creación de opinión pública o de entretenimiento. Tiene como finalidad principal, la enseñanza y la divulgación de experiencias, proyectos, pensamientos y conocimientos del autor. Se permite la copia textual, la traducción y la distribución de este artículo entero en cualquier medio, a condición de que este aviso sea conservado. Se permite la cita. El autor no reclamará ninguna cantidad por el ejercicio de las dos autorizaciones anteriores. No autorizo a ninguna Entidad de Derechos de Autor a reclamar cantidad alguna en mi nombre por el ejercicio de los dos derechos anteriores.