Trazado y laberintos hexagonales
Trazado y laberintos de líneas rectas
Trazado y laberintos de bloques rectangulares
Lenguaje simbólico azul
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.
Electrical data modelling, UPM
- Speaker on «Electrical data modelling», Industrial Engineering School (Technical University of Madrid), Madrid, 2004.
- Ponente en «Modelización de la demanda eléctrica», ETSI Industriales (Universidad Politécnica de Madrid), Madrid, 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.
Level 10 of 10 in the hacking test, Instisec
Curso interesante, entretenido y, finalmente, genial organizado por Instituto para la Seguridad en Internet, Instisec. Primero recibí el curso y luego participé del primer reto de hacking boinas negras organizado por Instisec, donde obtuve un 10 de 10 y me entretuve en documentar todas las pruebas y medir su capacidad para filtrar aspirantes a superarlas.
- «Internet Application Security» and level 10 of 10 in the hacking test of the Internet Security Institute, Madrid, 2003.
- «Aplicaciones seguras en internet» y nivel 10 de 10 en el test de hacking del Instituto para la Seguridad en Internet, Madrid, 2003.
Forest - Forecast & Strategy Club
Conferenciante de la sección de reflexión estratégica, titulada «¿Estrategia o táctica en tiempos de incertidumbre?» para el Forest - Forecast & Strategy Club.
Este club fue creado por el Centro de Predicción Económica (CEPREDE) y esta reunión de octubre de 2002 tuvo lugar en los salones en la Cámara de Comercio e Industria de Madrid.
- Lecturer in «Strategic discussion», Forest - Forecast & Strategy Club (CEPREDE), Cámara de Comercio e Industria, Madrid, October of 2002.
- Conferenciante en «Reflexión estratégica», Forest - Forecast & Strategy Club (CEPREDE), Cámara de Comercio e Industria, Madrid, octubre de 2002.
Architecture for time oriented systems
Organizado por mi amigo y compañero Manuel Alonso, Doctor por la Universidad Politécnica de Madrid y, por entonces, profesor de la Universidad Antonio de Nebrija.
- Lecturer in «Architecture for time oriented systems», Antonio de Nebrija University, Madrid, 2000.
- Conferenciante en «Arquitectura de sistemas orientados al tiempo», Universidad Antonio de Nebrija, Madrid, 2000.
Dynamic modelling of markets
Participación en 2 ediciones de las jornadas organizadas por Departamento de Estadística de la Universidad de Salamanca.
- Speaker on «Dynamic modelling of markets», Salamanca University, Salamanca, 2 editions, 1999 & 2001.
- Ponente en «Modelización dinámica de los mercados», Universidad de Salamanca, Salamanca, 2 ediciones, 1999 y 2001.
MBA, IESE, Universidad de Navarra
- Master in Business Administration (Executive MBA), IESE Business School, University of Navarra, 2 years, 1995-1996.
- Máster en Administración de Negocios (Executive MBA), IESE, Universidad de Navarra, 2 años, 1995-1996.
Advanced forecasting, IIR
Ponencia para el Institute for International Research (IIR) y en calidad de Director General de Bayes Inference SA.
- Speaker on «Advanced forecasting», Institute of International Research (IIR), Madrid, 1996.
- Ponente en «Modelos avanzados de previsión», Institute of International Research (IIR), Madrid, 1996.