martes, 19 de mayo de 2015

Gracias a Hacienda y ese quebradero de cabeza que es el IRPF

Para empezar, la "ayuda" para tan desagradable tarea sólo tiene 528 páginas.

Luego sigo por ese gran programa al que llaman PADRE, donde a las pregunta de sí o no hay que escribir algo (lo tienes que averiguar pulsando todas las teclas porque no tiene ayuda contextual, ni tampoco se indica cuando dejas la casilla vacía) en lugar de utilizar "cajas con marcas" (checkbox en inglés).
Y sin olvidar cuando el dichoso programa dice "Estos datos no los incorporo porque no me da la gana". A joderse toca.
Le dices, sólo muéstrame estas páginas, que del resto no voy a meter datos (soy así de chulo) y cuando le das a pasar página, se queda atascado y no pasa (hay que ver todas para que eso funcione).

¿Es que nadie tiene lo que hay que tener para simplificar ese monstruo? ¿Es que nadie tiene lo que hay que tener para obligar a que los papeles informativos de empresas y bancos sean tan claros como para decir: ESTE NÚMERO HAY QUE PONERLO EN LA CASILLA XXX?

Miles de opciones con miles de excepciones por cada opción. Al más puro estilo tontolculo.


Y, recuerda, si te equivocas o entiendes mal ese galimatías, la culpa es tuya y te robarán un poco más.

Jo, qué suave he estado este año.

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, 17 de mayo de 2015

Hay que privatizar ......

Sí, hay que privatizar, los funcionarios no trabajan muy bien (aunque sean los trabajadores con más derechos)...
Pero hay que privatizarlo bien, lo ideal es que sólo se pueda privatizar a Organizaciones Sin Ánimo de Lucro (ONG). Así costará un poco más que nos roben a la cara y presten un peor servicio en aras del lucro personal del amigo de turno.


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.

sábado, 16 de mayo de 2015

La ideología de marianico

La ideología de Marianico y si equipo está muy clara:

* Quien más dinero tiene, más privilegios tiene.

Esta filosofía tiene, a todas luces, varios problemas:

No es lo mismo tenerlo (por herencia, por ejemplo) que conseguirlo ni cómo conseguirlo (trabajando o robando) y No es lo mismo tenerlo (sin provecho de nadie más) que producirlo (ayudando a los demás).

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.



webs dinámicas seguras

Por favor, si alguien conoce algún lenguaje de programación o framework o toolkit que permita especificar con nombres propios los datos que se aceptan, y que procese las llamadas como fuesen transacciones, que me lo indique (le estaré eternamente agradecido).

Mi sueño, por ejemplo, en pseudo-java:

doPost(....,.....)
{
  OnlyText  fullName = input.getParameter('fullName');
  otras instrucciones..
  OnlyNumber age = input.getParameter('age');

}

Y que las clases OnlyText y OnlyNumber sean capaces, ellas solas, de alimentar una estructura de datos si le llega un carácter inválido, tipo "<" o algo que no es un número, ignorar las otras instrucciones y al salir del método llamar a la página de error correspondiente con los datos de los errores.
Sí, como si fuese una base de datos, al entrar en el método hay un beginTransaction implícito, y si todo sale bien hay un commit implícito y si sale mal un rollback respondiendo con los datos de los errores.

Otra posibilidad es poner el tipo en la llamada al getParameter('fullName', OnlyText);

Por supuesto, estas clases se tienen que poder mejorar con tipos más concretos (rango de números, por ejemplo), con validaciones de expresiones regulares (sanas) para texto.

El problema con los esquemas donde se separa la validación del código es que no se hace la validación. La mayoría solo se centran en el código.

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.

sábado, 9 de mayo de 2015

¿imposible es una opinión?

Lamento que el señor Albert Ribera o su equipo de publicistas ya hayan olvidado las lecciones de matemáticas de la escuela.
Pero imposible no es una opinión, realmente hay cosas imposibles.

* Es imposible escribir un número irracional, como pí, como la división de dos números enteros (ahora y siempre).
* Es imposible escribir un programa de ordenador de arquitectura John von Neumann que pueda decir si cualquier programa de ordenador de la misma arquitectura parará o no en un tiempo finito (ahora y siempre).

A este paso, dentro de poco le escucharemos decir cosas del estilo: Estará permitido todo lo que no esté prohibido.

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.

lunes, 30 de marzo de 2015

Enseñar a restar de forma manipulativa.

Para enseñar a restar manipulando objetos, creo que las hojas de cuadros de los cuadernos son la mejor herramienta (no hay que pintar los cuadradillos).
Probablemente, si a una persona que no domina los sistemas de numeración (por ejemplo, los niños españoles de 7 años o menos) se le pide que marque 24 cuadradillos los marque todos seguidos. Es una opción válida.
Si le pedimos que quite 8 cuadradillos, es posible que marque los últimos 8 cuadradillos
y al borrarlos
quedarse el resultado adecuado:
Ahora bien, si le pedimos que los agrupe de 10 en 10, como le enseñan en la escuela a contar, formará una figura como la siguiente
Entonces se le muestra por qué escribimos 24 (2 bloques de 10 y 4 bloques de uno). E igual que antes, se le pide que marque 8 cuadradillos. Si elige los 8 "últimos", se le podrá explicar qué es eso de "llevar" o "pedir prestado" (a la fila de arriba).
No es fácil restar 8 a 4, pero es más fácil hacerlo de 14. El resultado es el mismo que antes, pero ahora es más fácil escribir el número del resultado:
 Una fila de 10 + una fila de 6, 16.
Y si todavía no sabe multiplicar, estamos a tiempo de decirle que puede buscar otra forma de agrupar los cuadradillos de forma que queden todos en un bloque, sin cuadradillos sueltos (es decir, todas las filas con el mismo número de cuadradillos). Si ya sabe multiplicar, le recordamos que 24 es 8*3, y que agrupe los cuadradillos en 3 bloques de 8 (u 8 bloques de 3).
Si ahora le pedimos que reste 8, marcará toda una fila (o columna).

Y habrá que hacerle ver que el resultado de restar 8 a 8*3 es 8*2.
2 filas de 8 cuadradillos o 16 cuadradillos.

Y podemos enseñarle más aun. ¿Qué son los números primos? Son los que no se pueden dibujar con bloques de cuadradillos de ninguna forma, excepto todos seguidos, de modo que no quede ningún cuadradillo suelto (es decir, que todas las filas tengan el mismo número de cuadradillos).



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, 29 de marzo de 2015

Otra forma de verificar programas

La idea general es la siguiente:

Se trata de ver, para cada función de salida, qué rango de argumentos le llegan, dependiendo del tipo, por ejemplo:

* Salida de frases, utilizando el álgebra de expresiones regulares, comprobar qué expresión regular se puede mostrar en el peor de las rutas de un grafo desde que se lee la entrada hasta esta salida. Esta expresión regular se ve afectada por comparaciones en bifurcaciones o manipulaciones de la frase.
* Uso de enteros, comprobar que el rango inicial [-inf,inf] se quede en [-inf,0)(0,inf] en una división..
* Uso de punteros, cuyos estados son: null, reservado, escrito, liberado.


NOTA: Cualquier implementación de esta idea debe ser realizada en código libre.


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.