Actualizado

Donde comento el estado en el que se encuentra la actualización del libro

¡Termine!

Bueno, no del todo, pero ya queda mucho menos para que el libro esté publicado y lo puedas tener entre tus manos. O en tu pantalla. Quizá ambas cosas.

He terminado de actualizar los contenidos del libro. Del proceso que me ha llevado hasta aquí tengo dos comentarios que hacer:

  1. Antes todo era más fácil. Y no hablo de tecnología sino de mi situación personal. Cuando empecé a escribir no tenía más responsabilidad que estudiar. Mis primeros libros se publicaron mientras estaba en la universidad. Ahora soy padre, esposo, empleado y… mayor. Todo esto se nota. Llevo un diario de cada proyecto en el que participo. Cada entrada comienza con una descripción. Casi todas las de este proyecto cuentan la misma historia: he tenido que aprovechar todos los momentos sueltos que he podido para completarlo. Así que las correcciones y modificaciones se han hecho mientras la niña estaba en la piscina, mientras el niño estaba en alguna extraescolar, a primera hora de la mañana o a última de la noche. Siempre poquito a poco.

  2. Éste es mi mejor libro de PHP y MySQL. No EL mejor libro, porque puedes encontrar por ahí verdaderas maravillas, pero si la mejor versión de mi libro, que ya ha tenido muchas vidas. Si no me equivoco ésta sería su cuarta reencarnación. Es la que más atención se ha llevado, la que más cuidados ha recibido, creo que la más pulida. Espero que me deis la razón cuando lo veáis.

El primero completamente mío PHP 6, ¿te lo puedes creer? El primero

Porque ésa es otra historia. Una vez terminada la actualización resta un largo proceso de revisión y maquetación. No sé cuánto tiempo me llevará pero espero que sea poco.

Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Géneros

Donde hago un cambio minúsculo pero de gran importancia

Utilizar ambos géneros para referirse a posibles terceros (y terceras) sin ofender a nadie siempre me ha resultado chocante, aunque no tanto como usar la arroba o la x para incluir a tod@s y todxs.

Hace ya algunos meses escuché a una profesora aclarar por qué lo hacía: su única intención era doblar un poco el lenguaje para poner de manifiesto un problema de fondo, algo que obviamente no se iba a solucionar con unas palabras más aquí y allá. A fin de cuentas, el español utiliza el masculino para referirse a ambos géneros. Pero si así conseguía que al menos una sola persona de la clase se empezara a preocupar por las desigualdades existentes se daría por satisfecha.

¿Qué tiene que ver esto con mi libro de PHP y MySQL? Hay un detalle que puede parecer insignificante pero que quizá no lo sea. A lo largo de todo el libro me apoyo en una base de datos en la que se guarda información sobre películas. Una de las tablas se llama actor y, como imaginarás, contiene información sobre ellos. Y ellas, también ellas. Pero se llama actor, no actriz. ¿Habrá alguna lectora que se sienta desplazada por algo así? Siendo egoísta pienso sobre todo en mi hija.

En realidad no estoy cometiendo ningún error, pero existe una forma muy sencilla de contentar a todo el mundo: cambiar el nombre de esa tabla, llamarla interprete.

Esto me obliga a cambiar muchos de los ejemplos del libro, rehacer muchas de las figuras, y seguro que provoca que tenga que enviar más de una actualización menor tras la principal porque se me escapará alguna errata. Pero opino lo mismo que la profesora a la que me refería al principio: con que este cambio afecte positivamente a una sola persona me daré por satisfecho.


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Pies

Donde me deshago de uno de los lastres que vengo arrastrando desde siempre

Estoy cansado de escribir frases del estilo de “Como puede ver en la figura 7.18…”; me imagino que a ti tampoco te hará mucha gracia encontrarte una y otra vez casi con lo mismo.

En la práctica totalidad de los casos, esa imagen a la que se hace referencia está justo a continuación del texto. Y cuando no lo está es porque no cabía y se ha movido al siguiente espacio donde cupiese, quizá una página más allá.

Los libros de la editorial Wrox siempre me han gustado mucho, no sólo por el contenido, también por la forma en la que lo mostraban: sin pie.

Desde mi punto de vista la utilidad real de estos pies se da en dos casos:

  1. Cuando quiero hacer referencia a una imagen que ya apareció hace varias páginas (o que aparecerá dentro de varias páginas, aunque esto sí que es menos frecuente).
  2. Cuando quien lee el libro quiere referirse a la figura: basta con mencionar su número.

La aparición del libro electrónico pone en entredicho los dos puntos anteriores.

El primero, porque en un libro de papel no se tiene todo el espacio que se necesita (el número de páginas suele estar determinado por la editorial) y porque no se pueden crear enlaces. Estas dos limitaciones no existen en un libro electrónico.

En cuanto al segundo, si quiero charlar con otra persona sobre una parte de un libro electrónico, hacerle saber a qué parte del mismo me refiero, basta con enviarle una captura de pantalla, o incluso copiar el texto y mandárselo.

Si el libro electrónico me permite deshacerme de este lastre, ¿por qué no lo he hecho? Sencillo: hasta ahora no me lo había planteado. Éste será otro de los cambios que incorporará la nueva versión de mi libro de PHP y MySQL: las figuras no tendrán pie. Si necesito hacer referencia a una que ya apareció hace mucho incluiré un enlace o volveré a ponerla.

Espero por mi propio bien dejar de tener ocurrencias que afecten a toda la estructura del libro…


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

PHP y MySQL… y alguien más

Donde anuncio que la edición actualizada de mi libro sobre PHP y MySQL bien se podría llamar PHP y MariaDB, pero no será el caso

Cuando presenté mi libro sobre PHP y MySQL alguien me dijo que, al paso que iban las cosas, pronto tendría que retitularlo. No ha sido el caso, seguirá llamándose igual. Sin embargo, algo curioso ha pasado.

Mientras actualizaba los contenidos del libro MariaDB se ha metido en él sin previo aviso. Utilizo XAMPP para instalar Apache, PHP y MySQL. Son varias las razones:

  1. Es gratuito, los lectores de mi libro pueden usarlo sin coste adicional.
  2. Está disponible para Windows, Linux y macOS, con lo que cubre la mayoría de sistemas.
  3. El proceso de instalación es muy sencillo, adecuado para principiantes.

Cuando he instalado la última versión de XAMPP y me he encontrado con que trae MariaDB en lugar de MySQL mi sorpresa ha sido mayúscula. Primero me ha entrado el pánico, pero tras comprobar que todos los ejemplos siguen funcionando igual que con MySQL he sentido un alivio inmenso. Es más, las herramientas de MySQL (MySQL Workbench, por ejemplo) no se han enterado del cambio. ¡Es que hasta el cliente en línea de órdenes de MariaDB es mejor que el de MySQL! Al menos desde mi punto de vista.

Así que, tras mucho considerarlo, el libro se va a titular igual porque, a fin de cuentas, su contenido es aplicable tanto a MySQL como a MariaDB. Sin embargo, añadiré una nota en la reseña para que los interesados sean conscientes de ese extra adicional.

Alberto no estaba en lo cierto, pero casi…


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Números

Donde expongo mi opinión sobre el uso de números de versión en los títulos de libros (te adelanto que no me gusta ponerlos)

Si te has fijado, la edición actual de mi libro sobre PHP y MySQL no incluye ningún número de versión en el título, y no es por casualidad. Sin embargo, cuando este libro vivía en árboles muertos sí que aparecían, tanto para PHP como para MySQL.

Los números de versión suelen estar presentes en las portadas por varias razones. La primera de ellas, para que el lector sepa qué esperar del contenido, para que esté seguro de que lo que encontrará en el interior será aplicable al software con el que va a trabajar. No es frecuente que busques un libro de PHP 5 cuando necesitas trabajar con la versión 7.

Sin embargo, la mayoría de las veces no es más que una excusa para que el libro quede totalmente obsoleto en cuando aparezca una nueva versión del software sobre el que versa. Si en el mismo estante hay un libro sobre PHP 5 y otro sobre PHP 6, te compras este último, ¿no? Incluso aunque PHP 6 no exista. En realidad, si existiese, es muy posible que ambos libros tuviesen prácticamente el mismo contenido.

En cuando aparece una nueva versión de un software las editoriales necesitan actualizar también los libros, aunque sólo haya que cambiar un número por otro. Se trata de algo muy frecuente en los manuales de introducción, donde sólo se cubren las bases del software en cuestión. Raramente un cambio de versión implica uno drástico de contenidos, aunque algo es cierto: los lectores somos muy caprichosos y, obviamente, no vamos a interesarnos por un libro desfasado. Las editoriales hacen lo que necesitan para sobrevivir.

Es uno de los lastres del mundo analógico que no tiene sentido en el digital y que, aún así, se está intentando mantener de forma artificial.

La principal razón por la que mi libro sobre PHP y MySQL no incluye esos números de versión en el título es porque no te quiero vender el mismo libro una y otra vez. Éste es el que necesitas. Y cuando haya cambios lo suficientemente importantes actualizaré los contenidos en cuanto me sea posible. Y si la plataforma en la que lo publico lo permite recibirás una actualización, porque ya compraste ese libro.

Y si no lo permite tendré que pensar cómo solucionarlo…


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Hagamos un trato

Donde me replanteo la forma en la que trato a mis lectores… y a mí mismo

Leyendo la versión actual de mi libro sobre PHP y MySQL hay algo que me llama mucho la atención: trato al lector de usted. Sólo con eso ya estoy poniendo una barrera artificial entre él y yo, y no tiendo muy bien con qué objetivo.

Se trata un lastre que arrastro desde las primeras ediciones de este libro, una imposición de la editorial con la que comencé a publicar. Creo que tratar al lector de tú, trataros con un poco más de cercanía, no hace mal a nadie: todo lo contrario. La lectura del libro podría resultar mucho más sencilla y amena con un lenguaje más natural. Así que no se hable más, os voy a tratar de tú.

Por otra parte, me he fijado en otro detalle relacionado: la manera en la que me trato a mí mismo, usando el plural mayestático. No es una cuestión de falsa modestia, siempre he preferido hacerlo así porque mis libros eran el resultado de un esfuerzo de equipo, aunque yo lo escribía había editores, revisores, maquetadores y muchos más responsables de que el libro se imprimiese y llegase a las manos de los lectores.

Esto ya no es así ahora que me encargo yo de todo… bueno, de casi todo, lo que no puedo hacer lo dejo en manos de Apple y Amazon. Así que voy a dejar de repartir culpas y tomar la responsabilidad del libro, donde éramos nosotros pasaré a ser yo.

Lo sé, se trata de cambios relativamente nimios: lo que importa es actualizar el contenido para que sea totalmente vigente, pero también tengo que estar contento con el resultado final, y creo sinceramente que estos pequeños detalles cuentan.


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Actualizando PHP y MySQL

Donde empiezo a hablar sobre mis intenciones de actualizar mi libro de PHP y MySQL

A finales de 2012 publiqué mi primer libro autoeditado. Aunque ha pasado algún tiempo desde entonces, la mayoría de su contenido sigue siendo útil. Por desgracia, hay algunas partes que necesitan una revisión.

Así que voy a ponerme manos a la obra. No sólo actualizaré aquello de lo que algunos se han quejado (con o sin motivo), aprovecharé para realizar algunos cambios sobre aspectos que me incomodan enormemente. A medida que me ocupe de ellos os lo iré contando.

Además, me gustaría dejar atrás algunos lastres que venimos arrastrando, herencia de publicar en papel. A veces hacemos las cosas porque sí, porque se han hecho siempre así y “por algo será“. Quizá sea el momento de intentar cambiar algunas de ellas.

Es inevitable que, a medida que vaya trabajando en la nueva versión, surjan ideas. De hecho, ya he tenido alguna bastante descabellada. Trataré de compartirlas desde aquí.


Esta entrada forma parte de la serie Actualizando PHP y MySQL.

Las tres leyes de Lozano sobre las mudanzas

Primera ley de Lozano:
En una mudanza las cosas a empaquetar siempre superan a las cajas de cartón que has comprado. Por muchas que sean.

Segunda ley de Lozano:
En una mudanza el contenido de una habitación siempre supera a los metros cúbicos de esa habitación.

Tercera ley de Lozano:
En una mudanza, a igualdad de tamaño, el contenido de la habitación de origen no cabe en la habitación de destino.

Corolario: Incluso si la de destino es más grande que la de origen.

El color de XML

Hay quien se pregunta “¿A qué huelen las nubes?”. A mí me gustaría saber de qué color es XML.

Primero he mirado en los iconos que se suelen utilizar para representar este tipo de documentos y no he encontrado ninguna respuesta contundente. Para algunos es verde, para otros naranja, otros creen que es rojo.

Y como este camino, las búsquedas en Google, no me llevaba a ninguna parte, he tratado de ser un poco más creativo.

Seguro que ya sabrás que una de las formas de representar un color en un sistema informático consiste en descomponerlo en tres valores, uno para el rojo (red), otro para el verde (green) y un tercero para el azul (blue). En esta representación, que se conoce como RGB (de Red, Green, and Blue), cada componente puede tomar valores entre 0 (negro) y 255 (blanco).

Por otra parte, los caracteres se pueden representar utilizando el código ASCII que, casualmente, va del 0 al 255. Así, la X toma el valor 88, la M el 77 y la L el 76.

El color del XML podría ser el que se forme al combinar el valor 88 como rojo, el 77 como verde y el 76 como azul. Y el resultado es…

…bastante anodino. Está muy cerca del gris porque los tres valores (88, 77 y 76) están próximos. No me convence, pero creo que éste es el camino. Mientras no separe estos valores entre sí, cualquier alteración que haga va a dar un gris, más o menos claro. Así que voy a intentar distribuirlos entre el 0 y el 255 para que no estén tan próximos y el color resultante no sea tan monótono.

Volvamos a la tabla ASCII. De entre todos los caracteres representables vamos a centrarnos en las letras mayúsculas, que van del 65 (la A) al 90 (la Z). Quiero que la A se corresponda con el negro (0) y la Z con el blanco (255). Con estas premisas, se tiene que dar que:

  • Para la A: (65 - 65) * x = 0
  • Para la Z: (90 - 65) * x = 255

Por lo tanto:

x = 255 / (90 - 65) = 255 / 25 = 10,2

Así que:

  • X: (88 - 65) * 10,2 = 234,6
  • M: (77 - 65) * 10,2 = 122,4
  • L: (76 - 65) * 10,2 = 112,2

Aproximando a los valores enteros, el color resultante sería:

No es que sea mi favorito, pero la conclusión a la que llego es que el color del XML es el #EB7A70. Y por eso es el color de fondo de la portada de mi nuevo libro, que puedes encontrar en iBookstore y en Amazon: