09 diciembre 2016

Errores de programación: PhP

Este error es un ejemplo de cómo unas máquinas que, aparentemente, funcionan de manera del todo lógica, no se comportan de manera lógica.

En PhP, cuando se quiere que el intérprete dé información acerca de los errores, algo que es fundamental para un programador, es necesario saltarse la configuración por omisión del servidor. Para ello, es usual, con el propósito de asegurarse de que es posible cambiar la configuración, poner al principio del archivo PhP que se desea depurar, lo siguiente:

error_reporting(E_ALL);
ini_set("display_errors", 1);

El primero define los errores que van a mostrarse (todos) y el segundo, configura la directiva que hace que se muestren por pantalla.

Bien. Muchas veces, cuando se tiene un archivo llamado, por ejemplo, archivo_con_errores.php, sigue uno las especificaciones del manual (y recordad que eso de fiarse de la documentación no es buena práctica, a menudo), pone las dos líneas de código de antes al princpio de su archivo (sí, detrás de la etiqueta de apertura del modo PhP) y se encuentra que, aún poniendo errores a conciencia, el navegador te devuelve una pantalla vacía.

Entonces se va uno a los comentarios de php.net. Se encuentra uno de hace diez años o más que comenta que cuando le pasa lo que acabo de describir a él se le soluciona creando un archivo php nuevo, que voy a llamar depurador.php, donde escribe lo siguiente:

error_reporting(E_ALL);
ini_set("display_errors", 1);
include("archivo_con_errores.php");




Lo primero que pensé al verlo fue: tiene muchos años y lo que propone es absurdo. Está haciendo lo mismo que poner esas dos líneas delante del archivo, ya que el comando "include" agrega el contenido del archivo que se le pasa como argumento al fichero actual.

Pues sí, esto sí funciona. Incomprensible.

02 diciembre 2016

Es diciembre y tocan estadísticas


Como prometía hace un mes, voy a poner el número de seguidores de cuatro cuentas que mantengo en Facebook y Twitter, para poder comparar con los números que había el 1 de noviembre. Los resultados, con el mismo orden que había a principios del mes pasado, son:

Página del Portal de Ciencia y Medio Ambiente. (página de Facebook dedicada a la ciencia y el medio ambiente). Seguidores: 818. (Aumentaron en uno con respecto al mes pasado. ¡Victoria!).

Twitter de @sinciforma (ciberocupación del Twitter con el nombre de mi empresa. Hablo de ciencia, tecnología...). Seguidores 873 (eran 866 el 1 de noviembre). Reconozco que la he tenido muy parada este mes por motivos laborales.

Twitter de @jcuquejom (mi Twitter personal, dedicado a promover las cosas que escribo y que leo. Consideradlo un Twitter de autor). Seguidores: 469 (eran 440 el 1 de noviembre). También lo he tenido un tanto parado.

Página de Sinciforma (página de Facebook dedicada a mi empresa. Prácticamente sin contenido...). Seguidores: 28. (No han cambiado desde el 1 de septiembre).

Solo suben las cuentas de Twitter, 7 la primera y 29 la segunda. Se nota que no les he podido dar la atención adecuada.


El año que viene, volveré a publicar esta información y nos volveremos a reír, o lloraremos, o lo celebraremos.

19 noviembre 2016

Errores de programación: no te fíes siempre de la documentación

Hoy vengo con algo que no es estrictamente un error de programación, sino, más bien de especificaciones.

Estoy trabajando en un código PhP que lea correos de una cuenta POP3 normal y corriente. Creo la cuenta siguiendo las instrucciones del proveedor, el cual indica que sus correos están protegidos por SSL y dice que hay que usar el puerto 993 para el protocolo IMAP y el 995 para el POP3.

Con toda inocencia, me quiero conectar al servidor de correo usando la función imap_open, utilizando como nombre del servidor:

{Servidor de correo del proveedor:993/imap/ssl}INBOX

Como ya soy programador viejo, me digo a mí mismo: "esto no va a funcionar". En efecto. Mi servidor se queda pensando y pensando y se queda la página en blanco. Después de varias ediciones del código, descubro que al poner la ruta en el navegador, en vez de, por ejemplo, email.php había puesto emaiil.php (dos "i") y el servidor en vez de tener el detalle de decirme "página no encontrada", intentaba ejecutarla y me daba una pantalla en blanco.

Cuando escribo correctamente el nombre del php, lo que me salta es "Error 500" porque el "script" estaba tardando mucho tiempo. Y yo sin saber qué pasaba, aunque sospeché que imap_open trataba de abrir el buzón y como algo lo bloqueaba, acababa excediendo el tiempo límite.

Después de muchas vueltas, decido intentar entrar por Telnet (que en los Windows nuevos ya no está instalado por omisión y hay que instalarlo). En Telnet, imap en el puerto 993 o pop3 en el 995 no entran; el servidor te echa. O es un problema con el ssl o con el certificado del servidor (o que este te rechaza si entras desde fuera, que de todo te encuentras en estas redes). Intento las opciones /notls y /novalidate-cert, lo que resulta inútil, y se me ocurre intentar la entrada por los puertos 143 y el 110, los estándar si no hay ssl.

Al final, funcionó el 110 con pop3...

Moraleja: diga lo que diga el dueño del servidor, si no puedes entrar a la primera, prueba las configuraciones por omisión, las de toda la vida y luego, si te interesa, rómpete la cabeza para que entren las que el proveedor de servicios te dice.

Moraleja 2: usar telnet te hace sentir poderoso... puedes leer un buzón de correo hablando directamente con el servidor (tú le das órdenes y el responde OK). Resulta gratificante, parece que eres un experto en ordenadores y todo.

03 noviembre 2016

Estadísticas del inicio de noviembre



Como prometía hace un mes, voy a poner el número de seguidores de cuatro cuentas que mantengo en Facebook y Twitter, para poder comparar con los números que había el 1 de octubre . Los resultados, con el mismo orden que había a principios del mes pasado, son:

Página del Portal de Ciencia y Medio Ambiente. (página de Facebook dedicada a la ciencia y el medio ambiente). Seguidores: 817. (Aunque bajaron durante octubre, al final se recuperaron y sigun siendo los mismos que el 1 de septiembre).

Twitter de @sinciforma (ciberocupación del Twitter con el nombre de mi empresa. Hablo de ciencia, tecnología...). Seguidores 866 (eran 846 el 1 de octubre).

Twitter de @jcuquejom (mi Twitter personal, dedicado a promover las cosas que escribo y que leo. Consideradlo un Twitter de autor). Seguidores: 440 (eran 379 el 1 de octubre).

Página de Sinciforma (página de Facebook dedicada a mi empresa. Prácticamente sin contenido...). Seguidores: 28. (No han cambiado desde el 1 de septiembre).

Solo suben las cuentas de Twitter, 22 la primera y 61 la segunda.


A principios de diciembre, volveré a publicar esta información y nos volveremos a reír, o lloraremos, o lo celebraremos.

24 octubre 2016

El supercomando

Colarse de madrugada en la sede de la Mauser Moriarty, Inc. en Nueva York había sido la parte fácil. Los dos "hackers", Jack y Johnny, cuya misión era destapar el plan de la empresa para conseguir el monopolio mundial de Internet y controlar el planeta, no sabían como acceder al superordenador central de la compañía. Habían conseguido "hackear" dos terminales contiguas, y en la planta número 208 del rascacielos, tecleaban furiosamente, tratando de anular las defensas que protegían el superordenador.

El tiempo se les acababa. Estimaban que dentro de veinte minutos, descubrirían la intrusión e irían a por ellos. Jack, tras secarse el sudor de la frente, dijo:

-Johnny, ya me he quedado sin ideas. Tenemos que irnos.

Johnny no le hizo caso y continuó tecleando a toda velocidad. Finalmente, dio un par de puñetazos en la mesa y dijo:

-A mí solo me queda un último recurso. Pero es peligroso.

Jack sintió curiosidad y dejó su terminal para ponerse detrás de Johnny. Su compañero tocó un control de sus gafas. Y a Jack le invadió el pánico cuando vio que Johnny escribía en una ventana de terminal:

"pk data cuestor edit"

No podía ser. Johnny se había vuelto loco. ¿Cómo podía utilizar el supercomando? Jack gritó:

-¿Te has vuelto loco?

Johnny se volvió, abrió mucho los ojos y exclamó:

-¡Ponte las gafas, insensato!

Fue demasiado tarde. La pantalla del terminal inundó la sala de una luz que abrasó los ojos y el rostro de Jack, quien cayó al suelo gimiendo. Johnny le sacudió unos momentos y dejó de hacerlo para decirle:

-¡Oh, no, no! ¡El comando se ha descontrolado!

Jack le oyó alejarse corriendo, pero no tenía salvación. El supercomando destrozó los sistemas lógicos del superordenador y éste, situado en el sótano, explotó con la fuerza de varias toneladas de TNT.

Destruidos los cimientos del rascacielos, el edificio al completo se vino abajo.

02 octubre 2016

La resurrección de la bitácora y la entrada prometida


La resurrección de la bitácora ha sido un éxito. He publicado en agosto y septiembre un total de 12 entradas, que son bastantes más que las publicadas en los peores años: 10 en 2014 y 4 en 2015. No sé si podré superar las 60 entradas y hacer del 2016 uno de los mejores años de esta bitácora, pero lo intentaré. El caso es que esta bitácora está de nuevo en activo.

Como prometí hace un mes, voy a poner el número de seguidores de cuatro cuentas que mantengo en Facebook y Twitter, para poder comparar con los números que había el 1 de septiembre. Los resultados, con el mismo orden que había a principios del mes pasado, son:

Página del Portal de Ciencia y Medio Ambiente. (página de Facebook dedicada a la ciencia y el medio ambiente). Seguidores: 817. (No han cambiado desde el 1 de septiembre).

Twitter de @sinciforma (ciberocupación del Twitter con el nombre de mi empresa. Hablo de ciencia, tecnología...). Seguidores 846 (eran 796 el 1 de septiembre).

Twitter de @jcuquejom (mi Twitter personal, dedicado a promover las cosas que escribo y que leo. Consideradlo un Twitter de autor). Seguidores: 379 (eran 341 el 1 de septiembre).

Página de Sinciforma (página de Facebook dedicada a mi empresa. Prácticamente sin contenido...). Seguidores: 28. (No han cambiado desde el 1 de septiembre).


Como véis, parece que gestiono mejor Twitter que Facebook, aunque los aumentos (50 en la primera cuenta y 38 en la segunda), son modestos.

A principios de noviembre, volveré a publicar esta información y nos volveremos a reír, o lloraremos, según.

24 septiembre 2016

Feliz cumpleaños, Jessica Lucas

Hoy cumple 31 años Jessica Lucas y le quiero desear desde aquí feliz cumpleaños. No lo voy a negar y, si a alguien le parece mal, tiene bastante con dejar de leerme. Me parece una de las actrices más guapas en activo actualmente. Creo que ahora está trabajando en la serie Gotham, que no tengo el placer de seguir.

Aquí una foto de esta actriz. Guapísima, ¿verdad?



(Fuente de la imagen: Bleedingcool)

16 septiembre 2016

Una salsa de cumpleaños, porque hoy los cumplo

Cuando un salsero cumple años, sus amigos le rodean formando una rueda. Y el homenajeado baila con todas las chicas que la forman. Cuando quien cumple años es una chica, sus amigos y amigas forman la rueda, pero baila con todos los chicos. Y hay una salsa específica para este baile de cumpleaños.

Y como hoy es mi cumpleaños, aquí tenéis la salsa de cumpleaños:


10 septiembre 2016

La versión de código abierto de Age of Empires II: 0.A.D.

Ayer hablaba de la Batalla por Wesnoth. Hoy comentaré brevemente otro juego de código abierto que no conocía y que tampoco he probado. Se trata de una versión mejorada de Age of Empires II cuya web oficial es:

Web de 0 A.D.

La mayor diferencia es que la versión que uno puede descargarse es una "Versión Alpha", esto es una versión funcional, que se puede probar y depurar, pero que aún no está completa. De todos modos, según he leído, esta versión "alpha" es jugable y le queda muy poco para estar completa.

Está desarrollado, también, en C++. Para entornos Windows, es posible descargarse el código fuente para Visual Studio 2013, de manera que se puede usar el entorno de desarrollo de Microsoft para compilar el código.

¿Lo conocíais? ¿Lo habéis jugado?

09 septiembre 2016

Battle for Wesnoth o Batalla por Wesnoth

Leí hace unos días un artículo sobre los cinco mejores juegos "open source" que se pueden descargar gratuitamente. El artículo en concreto es el siguiente:

Los cinco mejores juegos de código abierto

De ellos me han gustado especialmente dos. Hoy hablaré de uno de ellos y otro día del otro. El primero es uno que ya conocía, pero al que perdí la pista hace varios años. Se trata de Battle of Wesnoth cuya web (en inglés) es:

Battle for Wesnoth

Lo más interesante de este tipo de juegos es que, aparte de binarios precompilados, es posible bajarse el código fuente del juego. Si te gusta la programación es algo que disfrutas. En el caso de Battle for Wesnoth, para compilar en entornos Windows puede hacerse son el Visual C a partir de la versión de Visual Studio 2008.

El juego, como podéis imaginaros, está programado en C++. ¿Conocéis el juego? ¿Habéis jugado?

06 septiembre 2016

I need to know (un cha cha cha de Marc Anthony)

Hacía tiempo que no compartía una canción en la bitácora. Habrá que retomar la costumbre.

Este es el primer cha cha cha que pongo, si no recuerdo mal. Este es, en mi opinión, el más elegante de los bailes latinos, lo que pasa es que es complicado bailarlo por ahí. Este es en inglés. Creo que tiene una versión en español, pero no la encuentro.

Como curiosidad, Bruce Lee (sí, el maestro de las artes marciales) bailaba cha cha cha.

Disfrutadlo, pero no le peguéis a nadie.



05 septiembre 2016

A las mujeres no hay quien las entienda

La manera en que aquel hombre se sentó en la barra me indicó que algún problema lo consumía. Que pidiera un whisky triple y se lo bebiera de dos tragos me lo confirmó. Mientras se tomaba el tercero, di un sorbo a mi absenta y le dije:

—¿Un mal día?

Me miró con ojos vidriosos.

—Sí.

—¿Mujeres?

—¿Qué si no? —añadió y se terminó la copa.

Pedimos nuevas bebidas y pregunté:

—¿Qué ha sido?

—No lo sé. Todo iba muy bien. Tras diez meses de estar conociéndonos me lancé y...

—¿Y...?

—Le dije que la quería y que íbamos a tener una relación de cuento de hadas: "el bello y la bestia".

—Y se enfadó.

—¡Se puso hecha una fiera! ¿Cómo lo ha sabido?

—Intuición. Las mujeres son incomprensibles, amigo mío —concluí tras terminar mi absenta.

—Sí, es verdad.

Y los dos continuamos bebiendo en silencio.

04 septiembre 2016

Código Javascript para generar números aleatorios

Hoy publico un "script" en Javascript muy sencillo que permitirá mostrar en la pantalla del navegador un número aleatorio entre una cantidad máxima y otra mínima. En este caso concreto, el máximo será 100 y el mínimo 1, y marcaré en negrita donde están tales valores, de manera que el lector pueda cambiar el rango de valores.

El código javascript es el siguiente:

var num_aleatorio;

//Números de 1 a 100
num_aleatorio= 1+Math.round(Math.random()*(100-1));
document.write(num_aleatorio);


Como puede verse, este código suma a 1 un número aleatorio entre 0 y 99, dado que Math.random() va a devolver un número aleatorio decimal entre 0 y 1, y Math.round() redondeará el valor obtenido.

Una forma de utilizarlo es encerrarlo entre <script type="text/javascript"> y <script> y grabar el texto en un archivo .htm. De esa forma, se abre el archivo con el navegador y mostrará el primer número. Al recargar la página con el navegador, el "script" devolverá un nuevo número.

Si se desea una lista de números, separados con espacio, el código, para obtener 31 números, sería;

var num_aleatorio;
for (i=0;i<=30;i++)
{
//Números de 1 a 100
num_aleatorio= 1+Math.round(Math.random()*(100-1));
document.write(num_aleatorio+" ");
}


Y habría que tener en cuenta lo comentado anteriormente.





02 septiembre 2016

Nostalgia de los tiempos del Instituto

Hace una semana, más o menos, vi en la televisión una entrevista a Rick Astley. Para los lectores jóvenes ese nombre no significará nada. Es un cantante que se hizo muy famoso a finales de la década de 1980. En esa época esta yo cursando la educación secundaria, más lo menos lo que hoy son los dos últimos cursos de la ESO y el Bachillerato. Entonces se llamaban B.U.P. y C.O.U. Así que aquella entrevista me trajo muchos recuerdos.

La cuestión es que la entrevista se la hacían porque, con 50 años cumplidos, Rick Astley ha sacado un nuevo disco, tras cerca de 15 años de haber dejado la música, al menos de manera profesional, porque él ha seguido tocando con amigos.

Y claro, verle en la televisión, recordar sus canciones... todo eso me hizo recordar aquellos buenos tiempos del Instituto de secundaria. Así que os voy a compartir este vídeo clásico de él:


La verdad es que este vídeo me inspira ternura, inocencia. El vídeo es simpático, con un humor muy limpio que ya no se ve. El sonido es muy "ochentero" y ya está prácticamente desaparecido.

He cambiado mucho desde esos tiempos. Antes no tenía ni idea de lo que decía la canción. Ahora, no me hacen falta ni siquiera subtítulos, porque como Rick canta con un acento británico neutro, y no lo hace con excesiva rapidez, entiendo casi todo lo que dice.

A veces, me gustaría volver a vivir aquella época. Pero lo único que puedo hacer ahora es oír esta música.

01 septiembre 2016

Mi presencia en las redes sociales

Desde bastante tiempo antes de dejar en suspenso esta bitácora, entré por curiosidad en otras redes sociales. Digo otras porque considero que la "blogesfera" ha sido, y sigue siendo, una red social, con la salvedad de que es abierta y está formada por varias aplicaciones de software web. A diferencia de Facebook o Twitter, donde todo el mundo se abre sus cuentas en un mismo sitio, para crear un blog hay muchas opciones: wordpress, blogger, livejournal e, incluso, wordpress es una aplicación de descarga gratuita que puedes montar en tu propio servidor.

En esta entrada, voy a poner cuatro cuentas que mantengo en Facebook y Twitter junto con el número de seguidores que tengo en cada una. Cuando termine septiembre, volveré a poner los números y nos reíremos, o lloraremos, según cómo se hayan modificado. De mayor a menor número de seguidores:

Página del Portal de Ciencia y Medio Ambiente. (página de Facebook dedicada a la ciencia y el medio ambiente). Seguidores: 817

Twitter de @sinciforma (ciberocupación del Twitter con el nombre de mi empresa. Hablo de ciencia, tecnología...). Seguidores 796.

Twitter de @jcuquejom (mi Twitter personal, dedicado a promover las cosas que escribo y que leo. Consideradlo un Twitter de autor). Seguidores: 341.

Página de Sinciforma (página de Facebook dedicada a mi empresa. Prácticamente sin contenido...). Seguidores: 28.

Si tenéis Twitter o Facebook, dejadlos en comentarios y los veo y sigo.

31 agosto 2016

Woodland Creatures. Almas salvajes de Cristina Roswell gratis

Hoy traigo una recomendación. Hoy puedes descargarte gratis el libro Woodland Creatures. Almas Salvajes de la autora Cristina Roswell gratis. Además de conseguirlo a coste cero, le echarías una mano en el concurso de Amazon, en el que participa.

El vínculo al libro en amazon es: Woodland Creatures

Es un libro que he leído y me gustó. Lo reseñaré cuando tenga un rato, pero ahora tocaba correr la voz.

Y es que...

"Hay fuego en ella...

Si la amas bien, dará calor a tu hogar

Si la maltratas, lo hará arder"


30 agosto 2016

Portal de Ciencia y Medio Ambiente



Bueno... Llevaba mucho tiempo sin actualizar mi vieja y querida bitácora. Voy a intentar devolverle la vida, que me dio muy buenos ratos y conocí a mucha gente interesante.

Para empezar, hay un proyecto en el que me embarqué hace muchos años, diez concretamente, y que quiero modificar y relanzar. Os iré hablando de él en esta bitácora y trataré de recuperar algunos de los recursos que antiguamente tenía (una web, una bitácora, foros...).

Por el momento, la parte más activa y que no va a sufrir cambios es la página de Facebook del proyecto, que es esta:

Portal de Ciencia y Medio Ambiente en Facebook

Si os interesan los temas científicos y medioambientales, me encantaría que, si usais Facebook, le dieras un "Me gusta". Ya hay 814 personas y mientras más seamos, más nos divertiremos.

Saludos.