Sumas y restas verticales de cuatro y cinco dígitos

Sumas y restas verticales de cuatro y cinco dígitos

Contiene sumas y restas verticales de cuatro y cinco dígitos con resultados parciales de ayuda y sumas y restas verticales de cinco dígitos sin resultados parciales.

Sumas y restas verticales de dos y tres dígitos

Sumas y restas verticales de dos y tres dígitos

Contiene sumas y restas verticales de dos y tres dígitos, con resultados parciales de ayuda y sin resultados parciales.

Sumas y restas verticales de un dígito

Sumas y restas verticales de un dígito

Cinco páginas de ejercicios para practicar sumas y restas verticales de un dígito.

Aprender a contar

Aprender a contar

Veintinueve páginas de ejercicios dedicadas a aprender a contar los primeros números.

Lectura y vocabulario en inglés

Lectura y vocabulario en inglés

Diecisiete páginas de vocabulario en inglés con texto y fotos de animales domésticos y salvajes, frutas, muebles, vehículos de transporte y utensilios caseros, con letra de "arco y vuelta" ideal para niños.

Lectura y vocabulario

Lectura y vocabulario

Diecisiete páginas de vocabulario con texto y fotos de animales domésticos y salvajes, frutas, muebles, vehículos de transporte y utensilios caseros, con letra de "arco y vuelta" ideal para niños.

Alfabeto

Alfabeto

Cinco páginas de vocabulario con texto y fotos para aprender el vocabulario, con letra de "arco y vuelta" ideal para niños.

Trazos y poliedros

Trazos y poliedros

Once páginas de ejercicios para aprender a utilizar el lápiz y trazar utilizando como motivo poliedros.

Trazos y numeración

Trazos y numeración

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar siguiendo la numeración.

Trazado y laberintos hexagonales

Trazado y laberintos hexagonales

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos hexagonales.

Trazado y laberintos de líneas rectas

Trazado y laberintos de líneas rectas

Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos formados por líneas rectas.

Trazado y laberintos de bloques rectangulares

Trazado y laberintos de bloques rectangulares

Once páginas de ejercicios para aprender a utilizar el lápiz y trazar encontrando el camino de salida en laberintos formados por bloques rectangulares.

Lenguaje simbólico azul

Plana con una cuadro de símbolos

En los setenta e inicios de los ochenta escribía en dos lenguajes, que aunque yo los consideraba hermanos, uno más de uso habitual y otro de uso más culto, tenían características y orígenes súmamente diferentes. Con el paso del tiempo y la dificultad de evolucionar, el lenguaje más culto e icónico fue desapareciendo de mi mente y el más habitual estilizándose en mi mano.

Hacia finales de los noventa e inicios del dos mil, el lenguaje icónico había desaparecido, ya no lo sabía escribir y prácticamente no lo podía leer, mientras que el otro se descompuso a su vez en dos, el que seguía escribiendo a mano ya con cierta dificultad y su evolución simbólica, curvilínea y automatizada, esto es, que yo no lo se escribir, aunque si leer, pero que se escribir programas que lo escriben.

Aunque cuando empecé a mecanizar este lenguaje simbólico ya existían tipos de letras escalables de Adobe y Apple y aunque estos símbolos están originalmente definidos como un conjunto de curvas, estas curvas se pasan a un formato gráficos que se escala ya como un mapa de bits, perdiéndose toda posibilidad vectorial. Para automatizar el manejo de estos gráficos he confiado tradicionalmente en Alchemy (alchlong.exe) de Handmade Software, invocándolo desde el lenguaje TOL que es en el lenguaje en el que se programan los algoritmos de escritura. A continuación muestro esta invocación, para dos usos diferentes de alchlong.exe desde TOL:


///////////////////////////////////////////////////////////////////
Set AlcSize(Text filPth) // File path
///////////////////////////////////////////////////////////////////
{
  If(Not(FileExist(filPth)), [[0,0]], // File doesn't exist
  {
    Text tmpDos = "tmp\\alchemy.tmp"; // Store alchemy information
    Text inpDos = "tmp\\smb.imb"; // Alchemy don't handle complex
    Real FilCopy(filPth, inpDos); // file names

    Real sysExe = System("bin\\alchlong.exe "+ // Executable
                         "-x "+                // Options
                         inpDos+" > "+         // Input file path
                         tmpDos);              // Output file path
    Text tmpTxt = ReadFile(tmpDos);
    Text sizTxt = TxtBetween2Tag(tmpTxt,
                                 "Width x Height: ","\n",TRUE);
    If(sizTxt=="", [[0,0]], // Size doesn't exist
    {
      Set  sizSet = Tokenizer(sizTxt,"x"); // width x height
      Real width  = Eval(sizSet[1]+"; ");
      Real height = Eval(sizSet[2]+"; ");
      [[width, height]]
    })
  })
};
///////////////////////////////////////////////////////////////////
PutDescription(
"Returns a set (width, height) in pixels of a image.",
AlcSize);
///////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////
Real Bmp2Pic(Text bmpDir,
             Text picDir)
///////////////////////////////////////////////////////////////////
{
  Set filSet = GetDir(bmpDir)[1];
  Set filCic = EvalSet(filSet, Real(Text filNam)
  {
    Text inpFil = bmpDir+"/"+filNam;
    Text outFil = picDir+"/"+Replace(filNam,".bmp",".gif");
    FilMake(inpFil, outFil, Real(Text inpFil, Text outFil)
    {
      Text inpDos = "tmp\\smb.bmp";
      Text outDos = "tmp\\smb.gif";

      Real FilCopy(inpFil,inpDos); // Alchemy don't handle complex
                                   // file names
      Real sysExe = System("bin\\alchlong.exe "+   // Executable
                           "-g -Xb56 -+ ---t -o "+ // Options (84) 
                           inpDos+" "+          // Input file path
                           outDos);            // Output file path

      Real FilCopy(outDos,outFil);

      sysExe
    })
  });
  Card(filCic)
};
  

En la plana de lenguaje simbólico que puede verse al final de este post, los símbolos están ajustados a un cuadrado sobre una imagen de fondo que corresponde a mi acuarela llamada «requiescant in pace». Es a la vista de la plana cuando se entiende que clasifique este post más como pintura y poesía que como pura tecnología.

Portadas de Marca y estadística predictiva

Portada del diario Marca del 5 de marzo de 2003

En Bayes, trabajábamos para Marca, el diario deportivo más vendido en España, incluso por encima de la prensa generalista. Nuestra tarea consistía en realizar previsiones de ventas de Marca quiosco a quiosco para optimizar su distribución.

Estas previsiones dependían de múltiples factores, y entre ellos el más importante era la modelización del fútbol. Desarrollamos un modelo que representaba la evolución de los equipos: los que ascendían, los que descendían, la fuerza deportiva que tenían y cómo estas dinámicas influían en la venta de periódicos. El lector no solo compraba el diario para conocer los resultados de su equipo, sino también por las expectativas sobre su evolución y sus futuros logros.

Como efecto lateral, estos modelos de fútbol generaban predicciones de resultados estadísticamente fiables. Tanto fue así que, entre 2002 y 2004, Marca publicó nuestras previsiones de resultados en sus portadas y con todo detalle en sus páginas interiores. Nuestros computadores simulaban hasta 240.000 partidos, utilizando para cada equipo la serie temporal de su fuerza deportiva, y estas predicciones acertaban más del 90% de los resultados finales.

Ver esas previsiones impresas en la portada del diario deportivo más importante de España fue un hito que demostró cómo la estadística y la tecnología podían aplicarse al mundo del deporte.

  • Collaboration as Bayes Manager with the sports newspaper Marca for football statistical modeling and result forecasting published on the cover pages and inside, Madrid, 2002-2004.
  • Colaboración como Director de Bayes con el diario deportivo Marca para la modelización estadística del fútbol y previsión de resultados publicados en portada y en el interior, Madrid, 2002-2004.

Publicity optimization, IE Business School

  • Lecturer in «Publicity optimization», IE Business School, Madrid, 2004.
  • Conferenciante en «Optimización de la publicidad», IE Business School, Madrid, 2004.