Incibe, Informática Forense y Pericial, CIIP, 2024
realización: 30 de junio de 2024 | actualización: 21 de diciembre de 2024
-
Inclusion of the Master's, Specialist, and Expert courses in
«Forensic and Judicial Computing»
from the CIIP, written and directed by me, in the guide
«Regulated Cybersecurity Education in Spain» by the
National Institute of Cybersecurity,
INCIBE,
Leon,
June 2023.
-
Catalogado los cursos de máster, especialista y experto en
«Informática Forense y Pericial»
del CIIP, escritos y dirigido por mí, en la guía
«Formación reglada en ciberseguridad en España» del
Instituto Nacional de Ciberseguridad,
INCIBE,
León,
junio de 2023.
Ver el Catálogo de Formación del INCIBE de 2024, páginas 12 y 17
Ni Ovidio ni Lucrecio recomiendan Gemini
realización: 14 de marzo de 2024 | actualización: 25 de marzo de 2024
Este artículo relata la interacción con Gemini sobre
el lema latino "Amor Non Timet",
que se traduce como "El amor no teme" o "El amor no tiene miedo".
Sin embargo, advierto al lector que el relato sí puede dar miedo.
Aunque se centre en el latín, temo que lo narrado pueda ocurrir en
química, lingüística, ingeniería o cualquier otra área de su interés.
Para facilitar la lectura, se han utilizado puntos suspensivos para
abreviar las extensas respuestas de Gemini.
No obstante, se conserva un registro completo del original
por si el lector estuviera interesado.
La conclusión, tras esta y otras pruebas anteriores, es que
ni Ovidio, ni Lucrecio, ni yo recomendamos usar Gemini.
Si se decide hacerlo,
es crucial verificar todas sus respuestas minuciosamente,
como advierte el propio Gemini,
teniendo en cuenta el coste que toda comprobación minuciosa implica.
Leerlo en PDF
Reels vs. Usuario vs. AI: Un Encuentro de Estrategias y Olvidos
realización: 6 de diciembre de 2023 | actualización: 6 de diciembre de 2023
Este documento estudia con Data Analysis de OpenAI,
el algoritmo de la estrategia de retención de los Reels de Instagram que
intenta mantenerme viendo Reels,
mientras que yo, que no sigo a ningún usuario,
uso mi propio algoritmo de consumo de contenido.
La conclusión tras la prueba es que:
Es conocido que el algoritmo utilizado en los Reels de Instagram
está diseñado para adaptarse a las preferencias del usuario.
No obstante, cuando el comportamiento del usuario difiere del patrón esperado,
al algoritmo de Reels le resulta difícil aprender y ajustarse,
incluso en situaciones aparentemente sencillas como la presente.
OpenAI's Data Analysis ha demostrado ser una herramienta valiosa para
el análisis de estos datos.
No obstante, deseo resaltar dos puntos importantes:
He sometido estos datos al análisis en dos ocasiones distintas, y
como la propia herramienta ha señalado,
carece de la capacidad para retener recuerdos de sesiones previas,
incluyendo sus propias contribuciones más valiosas.
Este olvido programado conlleva la necesidad de
reintroducir información de manera repetitiva,
requiriendo el mismo nivel de asistencia día tras día para
lograr resultados satisfactorios.
Dado que el análisis actual ha sido algo sencillo,
tengo la intención de someter a la herramienta a
modelizaciones de datos más complejas en el futuro para
evaluar su competencia ante mayores desafíos.
Leerlo en PDF
ChatGPT 4.0 y el incidente en la oficina
realización: 14 de abril de 2023 | actualización: 6 de diciembre de 2023
Este artículo presenta una prueba del proceso que realiza ChatGPT versión 4.0 para
resolver un supuesto incidente en una oficina.
En este caso, el problema se puede resolver por deducción lógica pura,
por lo que no sería necesaria la Inteligencia Artificial
salvo por la facilidad de comunicarlo en lenguaje natural,
si bien planteárselo a ChatGPT 4.0 nos ayuda a comprender su estado de evolución.
La conclusión tras la prueba es que ChatGPT versión 4.0:
necesita ayuda para conseguir resolver la pregunta principal del caso, que es la más compleja,
hace suposiciones que van más allá de los hechos,
se olvida de detalles o confunde hechos y, en este caso,
me da la razón siempre que puede,
lo que le sirve para sonsacarme pistas que le ayuden a encontrar la solución,
y, frente a ello,
filtra bien los datos irrelevantes,
por ejemplo, los chismes de oficina, algo que también haría, por ejemplo,
un encadenamiento lógico hacia atrás,
su proceso de razonamiento es bueno,
su manejo del lenguaje natural y su calidad explicativa es alta, de esta forma,
me ha parecido bien que para enumerar haya decidido numerar los hechos que
no se le han dado numerados adrede y
no se ha dado por vencido cuando se le he dicho
que se ha equivocado y
que no habría otra oportunidad hasta que no estuviera operativa una nueva versión.
Leerlo en PDF
Incibe, Especialista en Informática Forense y Pericial, CIIP
realización: noviembre de 2021 | actualización: 24 de diciembre de 2023
-
Inclusion of the
«Specialist Diploma in Computer Forensics»
from the CIIP, authored by me, in the
«Regulated Cybersecurity Education in Spain» guide by the
National Institute of Cybersecurity,
INCIBE,
Leon,
2017-2023.
-
Catalogado el
«Título Propio de Especialista en Informática Forense y Pericial»
del CIIP, escrito por mí, en la guía
«Formación reglada en ciberseguridad en España» del
Instituto Nacional de Ciberseguridad,
INCIBE,
León,
2017-2023.
Ver el Catálogo de Formación Reglada del INCIBE de 2021
Incibe, Experto en Informática Forense y Pericial, CIIP
realización: noviembre de 2021 | actualización: 24 de diciembre de 2023
-
Inclusion of the
«Expert Diploma in Computer Forensics»
from the CIIP, authored by me, in the
«Regulated Cybersecurity Education in Spain» guide by the
National Institute of Cybersecurity,
INCIBE,
Leon,
2017-2023.
-
Catalogado el
«Título Propio de Experto en Informática Forense y Pericial»
del CIIP, escrito por mí, en la guía
«Formación reglada en ciberseguridad en España» del
Instituto Nacional de Ciberseguridad,
INCIBE,
León,
2017-2023.
Ver el Catálogo de Formación Reglada del INCIBE de 2023
Sindicato Profesional de Policía, Máster en Informática Forense y Pericial, CIIP
realización: 12 de junio de 2019 | actualización: 24 de diciembre de 2023
-
Inclusion of the
«Master in Computer Forensics»
from the CIIP, authored by me, on the training page of the
Professional Police Union,
SPP,
Madrid,
2019.
-
Catalogado el
«Máster en Informática Forense y Pericial»
del CIIP, escrito por mí, en la página de formación del
Sindicato Profesional de Policía,
SPP,
Madrid,
2019.
Ir al Sindicato Profesional de Policía
Incibe, Máster en Informática Forense y Pericial, CIIP
realización: 14 de marzo de 2017 | actualización: 24 de diciembre de 2023
-
Inclusion of the
«Master in Computer Forensics»
from the CIIP, authored by me, in the
«Regulated Cybersecurity Education in Spain» guide by the
National Institute of Cybersecurity,
INCIBE,
Leon,
2017-2023.
-
Catalogado el
«Máster en Informática Forense y Pericial»
del CIIP, escrito por mí, en la guía
«Formación reglada en ciberseguridad en España» del
Instituto Nacional de Ciberseguridad,
INCIBE,
León,
2017-2023.
Ver el Catálogo de Másteres del INCIBE de 2017
Curso Scale-Up para Emprendedores
realización: marzo de 2016 | actualización: 9 de febrero de 2024
Participo en el curso organizado por
el IESE de la Universidad de Navarra,
la Citi Foundation, y
el ¡Madrid! International LAB del Ayuntamiento de Madrid,
de Scale-Up de empresas.
Para mí fue un honor que me invitara a participar el
Ayuntamiento de Madrid.
Scale-up significa que el emprendedor es capaz de
expandir la empresa de manera significativa y con éxito
sin que sea necesario aumentar los recursos a la misma proporción.
-
«Scale-Up Course for Entrepreneurs 2016», organized by
IESE University of Navarra,
Citi Foundation, and
Madrid! International LAB,
March of 2016
-
«Curso Scale-Up para Emprendedores 2016», organizado por
IESE Universidad de Navarra,
Citi Foundation y
¡Madrid! International LAB,
marzo de 2016.
Informática forense, brochure 2015
realización: 21 de noviembre de 2015 | actualización: 7 de diciembre de 2015
Está disponible una presentación en formato PDF del
Máster en Informática Forense y Pericial que organizamos e impartimos
en el CIIP
(Campus Internacional de
Inteligencia y Pericia).
Tenemos el placer de contar con alumnos de Colombia, Costa Rica, México y
de nuestros Cuerpos y Fuerzas de Seguridad.
Para todos, y para ellos especialmente, hemos publicado una
bibliografía actualizada a noviembre de 2015.
Ver el brochure 2015 en formato PDF
Big Data y Business Intelligence de supervivencia
realización: octubre de 2015 | actualización: 12 de octubre de 2015
Durante los meses finales del año 2014,
he ido anotando los términos que he oído en las reuniones en las que
se hablaba de Big Data y de Inteligencia de Negocio,
a veces nombrada por los interlocutores como BI,
de su nombre en inglés Business Intelligence.
Son términos como
Cassandra, Apache Lucene, Elasticsearch, Flume, Hadoop, HBase, Hive,
Kafka, MongoDB, Spark, Storm, Pivotal, MapR, Hortonworks, Cloudera,
Agile Software Development, Python, Java o Scala, NoSQL, R, MLlib, Weka,
etc. en los que se mezcla un poco de todo,
nombres de herramientas y entornos,
de sistemas de gestión de bases de datos,
de lenguajes de programación,
de técnicas y de metodologías,
tanto específicos para Big Data y Business Intelligence
como para otros usos.
A comienzos de 2015 y a partir de ellos se me ocurrió redactar
un vocabulario de supervivencia para estas reuniones empresariales de
Big Data y Business Intelligence.
Ahora a finales de 2015 he seleccionado para presentar aquí
13 de los más frecuentes de esos términos, que son:
NoSQL:
Término que sirve para hacer referencia a los
sistemas de gestión de base de datos no relacionales.
Comprende categorías como clave-valor, BigTable, bases documentales y
bases de datos orientadas a grafos.
Estos sistemas de gestión de bases de datos están optimizados para
recuperar y agregar datos, pero no suelen ofrecer funcionalidades
más allá de almacenar y recuperar registros, por ejemplo,
usando un esquema de clave-valor.
Estas limitaciones para algunos aspectos las compensan con ganancias en
escalabilidad y rendimiento.
BigTable:
Es un sistema de gestión de base de datos creado por Google,
es distribuido, de alta eficiencia y propietario.
Fue construido utilizando Google File System (GFS) y Chubby Lock Service.
Funciona sobre computadores personales con procesadores Intel
sencillos y baratos.
Almacena la información en tablas multidimensionales,
donde muchas celdas pueden estar vacías y, también,
contener versiones temporales de sus valores históricos.
MongoDB:
Su nombre procede de humongous / enorme.
Es un sistema de base de datos NoSQL, orientado a documentos y
desarrollado como código abierto.
Cassandra:
Es un sistema de base de datos NoSql con las siguientes características:
almacenamiento por clave-valor, Java, grandes volúmenes,
escalabilidad lineal, alta disponibilidad,
arquitectura distribuida con nodos iguales
comunicados por un protocolo P2P con máxima redundancia,
desarrollado por Apache Software Foundation.
Apache Lucene:
Es un API, interfaz de aplicación, de código abierto para
la recuperación de información,
es útil para indexar y buscar a texto completo.
Multitenencia:
Término que se emplea
cuando una sola instancia de la aplicación se ejecuta en el servidor
sirviendo a múltiples clientes u organizaciones.
Este concepto se diferencia de las arquitecturas con múltiples instancias
donde cada cliente u organización tiene su propia instancia
instalada de la aplicación.
REST y RESTful:
Los sistemas que siguen los principios REST se suelen llamar RESTful.
Se dice que la web ha disfrutado de escalabilidad como resultado de una
serie de diseños clave:
-
Un protocolo cliente / servidor sin estado,
donde cada mensaje HTTP contiene toda la información necesaria para
comprender la petición,
ni cliente ni servidor necesitan recordar ningún estado de las
comunicaciones entre mensajes,
pero, en la práctica, muchas aplicaciones HTTP necesitan mecanismos como
las cookies u otros para mantener el estado de la sesión.
-
Un conjunto de operaciones bien definidas que se aplican a todos los
recursos de información,
HTTP en sí define un conjunto pequeño de operaciones como
POST, GET, PUT y DELETE.
-
Una sintaxis universal para identificar los recursos,
en un sistema REST,
cada recurso es direccionable únicamente a través de su URI.
-
El uso de hipermedios,
para la información de la aplicación y para las transiciones de estado de
la aplicación,
la representación de este estado en un sistema REST son típicamente
HTML o XML, por ello,
es posible navegar de un recurso REST a otros,
siguiendo enlaces sin requerir el uso de registros u otra
infraestructura adicional.
JSON:
JavaScript Object Notation,
es un formato ligero para el intercambio de datos,
por su simplicidad de JSON es una alternativa a XML en AJAX.
Es sencillo escribir un analizador sintáctico (parser) de JSON.
En JavaScript, un texto JSON se puede analizar usando la función eval().
Elasticsearch:
Servidor de búsqueda basado en Lucene, motor de búsqueda de texto
completo, distribuido y con capacidad de multitenencia con una interfaz
web RESTful y con documentos JSON.
En Java y publicado como OSS con licencia Apache.
Hadoop Apache:
Framework que soporta aplicaciones distribuidas, licencia libre,
permite a las aplicaciones trabajar con miles de nodos y
muy altos volúmenes de datos, se inspira en los documentos Google para
MapReduce y Google File System (GFS).
HBase:
Sistema de gestión de base de datos que sigue
el modelo BigTable Hypertable usado en Hadoop.
Cloudera Impala:
Motor de consultas SQL OSS para el procesamiento masivo en paralelo de
los datos almacenados en un clúster de computadoras ejecutando
Apache Hadoop.
Pentaho BI Suite:
Conjunto de programas libres para BI para:
ETL (extracción, transformación y carga);
Analysis Services (Modrian, OLAP, MDX, XML);
Reporting con OpenOffice;
Data Mining usando Weka para clasificación, regresión, reglas de
asociación, clustering, análisis predictivo;
Dashboard de informes, gráficos interactivos y cubos creados con
las herramientas Pentaho Report Designer; y
Apache Hadoop para acceder a grandes volúmenes de datos.
Dentro de 3 años más de la mitad de estos términos, ahora tan notorios,
o los habremos olvidado o nos olerán ya a naftalina.
NoSQL en la versión en inglés de Wikipedia
Hacking Ético
realización: 6 de julio de 2015 | actualización: 24 de diciembre de 2023
-
Teacher of
«Ethical Hacking»,
Sergio Arboleda International Center of Excellence,
Sergio Arboleda University,
Madrid,
2015.
-
Profesor de
«Hacking Ético»,
Centro de Excelencia Internacional Sergio Arboleda,
Universidad Sergio Arboleda,
Madrid,
2015.
Ir al Centro de Excelencia Internacional Sergio Arboleda
Perito judicial en informática forense
realización: 16 de enero de 2015 | actualización: 7 de diciembre de 2015
Soy miembro de la
La Asociación Nacional de Peritos Criminólogos y Expertos en
Ciencias Periciales para los Tribunales de Justicia, ANPC y,
a través de ella,
Perito Judicial en Informática Forense de los Tribunales de Justicia,
con Tarjeta de Identificación Personal TIP 114.005.
La ANPC, como puede consultarse en su dirección
Asociacion-ANPC.es,
agrupa a titulados universitarios en Criminología y
a prestigiosos expertos en las diferentes especialidades de
las áreas periciales y forenses.
-
Expert witness in computer forensic for the courts,
with Personal Identification Card number 114.005,
since 2015.
-
Perito judicial en informática forense de
los Tribunales de Justicia,
con Tarjeta de Identificación Personal TIP 114.005,
desde 2015.
ANPC
What is a consputer? consputer vs computer
realización: 18 de agosto de 2014 | actualización: 7 de diciembre de 2015
A computer is a machine for automatic information processing.
The objetive of a computer must be helping you to make money.
The consumer is the one who pays for goods and services.
Nowadays, many of the new computers are designed to consume.
If you want to earn money, then use a computer.
If you want to waste money or time, then buy a consputer.
What is a consputer? A computer for a consumer.
A consputer is a computer for a consumer.
Diplomado en Criminología, Universidad Católica San Antonio
realización: 25 de noviembre de 2013 | actualización: 24 de diciembre de 2023
Este 25 de noviembre de 2013 he recibido
el Diploma Superior en Criminología
emitido por la Universidad Católica San Antonio.
Esta Diplomatura Superior en Criminología la organiza
la Escuela de Criminología de la Universidad Católica San Antonio,
tiene una duración de 180 créditos y
su contenido formativo organizado en sus 3 cursos es el siguiente:
-
Primer curso:
Criminología I, Psicología, Sociología, Derecho Penal I,
Derecho Constitucional, Informática y Bases de Datos, Biología,
Estadística Social, Teología y Doctrina Social de la Iglesia.
-
Segundo curso:
Criminología II, Derecho Penal II, Técnicas de Investigación Criminal,
Medicina Legal, Ciencia Penitenciaria, Sociología de la Desviación,
Derecho Policial, Victimólogía, Ética y Deontología Profesional.
-
Tercer curso:
Criminología III, Derecho Procesal Penal, Psiquiatría Forense,
Grafología y Documentoscopia, Psicopatología Criminal
Derecho y Delincuencia de Menores, Delincuencia Económica,
Informática y Delincuencia,
Prevención y Tratamiento para Delincuentes
-
Graduate in Criminology,
San Antonio Catholic University, Murcia, 3 years, 2013.
-
Diplomado en Criminología,
Universidad Católica San Antonio, Murcia, 3 años, 2013.
Ir a la Universidad Católica San Antonio
Cátedra Unesco, colaborador académico
realización: 29 de agosto de 2013 | actualización: 6 de diciembre de 2015
El 29 de agosto de 2013 he tenido el honor de ser nombrado
Colaborador Académico de
la Red Iberoamericana de Cultura de Paz de
la Cátedra UNESCO de Educación para la Paz y Comprensión Internacional.
-
Collaborator of the Ibero-American Network for a Culture of Peace of the
UNESCO Chair on Education for Peace and International Understanding,
2013.
-
Colaborador Académico de la Red Iberoamericana de Cultura de Paz de
la Cátedra UNESCO de Educación para la Paz y Comprensión Internacional,
2013.
Una Tesis para Emilie
realización: 25 de marzo de 2013 | actualización: 25 de enero de 2024
Este artículo nació de las preguntas por correo electrónico de
una estudiante que buscaba orientación sobre
cómo seleccionar el tema y desarrollar su tesis doctoral
en el campo de la Informática Forense.
Aunque mi respuesta se centró en ese ámbito,
las ideas que compartí resultaron ser valiosas y aplicables
no solo a tesis técnicas,
sino también a cualquier tipo de investigación académica, incluso para
trabajos de fin de grado (TFG) y de máster (TFM).
El resultado es un breve artículo de 4 páginas que
conserva el tono personal de un correo electrónico
mientras ofrece consejos fundamentales para
quienes se aventuran en el viaje de escribir una tesis, y
quieren acometerlo y terminarlo con éxito.
Descargar el artículo completo sobre escribir una tesis doctoral
Licenciado en Criminología, International University
realización: septiembre de 2012 | actualización: 12 de octubre de 2015
Recibo el Título Licenciado en Criminología,
en la Especialidad de Criminalística Forense,
emitido por la Universidad Internacional de la República de Panamá.
La Universidad Internacional, en inglés International University,
fue fundada el 27 de marzo del 2000 y
la que la Presidenta de la República de Panamá le otorgó autorización de
funcionamiento mediante el Decreto Ejecutivo número 225
de 29 de mayo del 2003 del Ministerio de Educación.
-
Degree in Criminology, Forensics Specialization,
International University, Panama, 2012.
-
Licenciado en Criminología, Especialidad de Criminalística Forense,
Universidad Internacional, Panamá, 2012.
Título de Máster en Informática Forense
realización: septiembre de 2012 | actualización: 12 de octubre de 2015
Recibo el Título Propio de Máster en Informática Forense
emitido por la Universidad Internacional de la República de Panamá.
La Universidad Internacional, en inglés International University,
fue fundada el 27 de marzo del 2000 y
la que la Presidenta de la República de Panamá le otorgó autorización de
funcionamiento mediante el Decreto Ejecutivo número 225
de 29 de mayo del 2003 del Ministerio de Educación.
-
Master in Computer Forensics, International University, Panama, 2012.
-
Máster en Informática Forense, Universidad Internacional, Panamá, 2012.
Informática Forense y Pericial
realización: 29 de agosto de 2012 | actualización: 20 de septiembre de 2012
Desarrollo de los programas de formación para los Títulos Propios de
Máster,
Especialista y
Experto
en Informática Forense y Pericial del
Campus Internacional de Inteligencia y Pericia
(CIIP).
Las 3 titulaciones se imparten de forma online y
su plazo de matrícula está abierto a lo largo de todo el ciclo académico.
Dentro del marco de este proyecto se incluye el desarrollo del sitio web
dedicado a estos cursos de formación en
Informática Forense y Pericial,
donde se puede encontrar información sobre:
los objetivos y motivación de los 3 programas de formación,
su estructuración en áreas de conocimiento y el recorrido por las áreas,
los módulos de las áreas, su descripción y objetivos, los créditos
European Credit Transfer System (ECTS) de los 3 títulos, los de sus áreas
de conocimiento y módulos, el detalle de sus temas con sus créditos ECTS
y, también, se describe del material formativo, documentación, esquemas,
textos legales, casos prácticos y la bibliografía básica de soporte.
-
Author & director of the Master in Computer Forensics,
CIIP,
Cambridge,
2012-2024.
-
Autor y director del Máster en Informática Forense y Pericial,
CIIP,
Cambridge,
2012-2024.
Ir al Campus Internacional de Inteligencia y Pericia
Derecho Penal y las Nuevas Tecnologías
realización: mayo de 2012 | actualización: 9 de febrero de 2024
Asisto al curso organizado por
Círculo Legal y
el Institut of Audit and IT Governance (IAITG)
con la colaboración de la Fundación Tejerina,
dedicado al estudio, desde una óptica práctica,
de los cambios que las nuevas tecnologías producen
en el Derecho Penal y en la investigación de los delitos.
-
«Criminal Law of the New Technologies», taught by
judges and prosecutors of the Supreme Court,
Legal Circle,
May of 2012.
-
«Derecho Penal de las Nuevas Tecnologías», impartido por
Magistrados y Fiscales del Tribunal Supremo,
Círculo Legal,
mayo de 2012.
Plan de Comercio Electrónico de la Comunidad de Madrid
realización: 18 de marzo de 2012 | actualización: 21 de septiembre de 2012
Entre estos meses de febrero y marzo de 2012,
he participado como experto en
el Grupo de Trabajo de Logística y Distribución para
el Plan de Promoción del Comercio Electrónico de
la Dirección General de Comercio, de
la Consejería de Economía y Hacienda de
la Comunidad de Madrid.
Este llamado Programa DeC está dirigido a
las pequeñas y medianas empresas (PYMES), autónomos y emprendedores
del sector del comercio de la Comunidad de Madrid,
con el objetivo institucional de
aprovechar su potencial en la generación de crecimiento y empleo y
para mejorar la competitividad de su tejido empresarial.
-
Collaborator for E-Commerce Plan of the Economy Department of the Community of Madrid, 2012.
-
Colaborador para el Plan de Comercio Electrónico de la Consejería de Economía de la Comunidad de Madrid, 2012.
Personalizar con A-PDF Text Replace
realización: 9 de septiembre de 2011 | actualización: 9 de septiembre de 2011
He empezado a utilizar A-PDF Text Replace que
es una herramienta muy útil para modificar documentos en formato PDF.
Por ejemplo, sirve para personalizar un mismo documento PDF para diferentes personas.
Para ello se puede poner en el documento PDF original
un texto que haga de campo a reemplazar, por ejemplo, _NOMBRE_, y
luego utilizar A-PDF Text Replace para cambiar _NOMBRE_ por
el nombre de cada persona.
Como con A-PDF Text Replace se pueden dar varias órdenes de cambio en la misma ejecución,
se puede personalizar simultáneamente el nombre, la fecha, la dirección u otros campos.
A-PDF Text Replace es también invocable desde la línea de mandatos,
por lo que puede invocarse con System()
desde el lenguaje TOL,
como se muestra en el siguiente código:
///////////////////////////////////////////////////////////////////
Real PdfReplace(Text inpPth, // Input file path
Text outPth, // Output file path
Text namCus) // Customer name
///////////////////////////////////////////////////////////////////
{
Text pdfCmd = W("bin/apdf/ptrcmd.exe"); // A-Pdf executable path
Text inpDos = Q(W(inpPth));
Text outDos = Q(W(outPth));
Text forOld = Q(":e:");
Text namOld = Q(":a:");
Text dteOld = Q(":c:");
Text forNew = Q("Edición personalizada para");
Text namNew = Q(namCus);
Text dteNew = Q("el "+Dte2Spa(Now)+"."); // Spanish date
Text cmdTxt = pdfCmd+" "+inpDos+" "+outDos+" "+
forOld+" "+forNew+" "+
namOld+" "+namNew+" "+
dteOld+" "+dteNew;
Real sysRet = System(cmdTxt); // Execute
sysRet // Returns
};
Donde Q()
y W()
son dos pequeñas funciones donde
la primera pone comillas en los caminos de los ficheros,
por si esos nombres contuvieran caracteres blancos, y
la segunda cambia el slash normal ( / ) por el back slash de los caminos de Windows ( \ ).
///////////////////////////////////////////////////////////////////
Text Q(Text txt) // Text
///////////////////////////////////////////////////////////////////
{ Char(34)+txt+Char(34) };
///////////////////////////////////////////////////////////////////
Text W(Text txt) // Text
///////////////////////////////////////////////////////////////////
{ Replace(txt, "/", "\\") };
La siguiente ventana muestra
la ejecución de A-PDF Text Replace invocado desde TOL.
El mandato que se esta ejecutando en la ventana es:
bin\apdf\ptrcmd.exe
"..\Ediciones\9788493912901.Becquer.Gustavo. Adolfo.Leyendas\
BecquerGA.Leyendas.20110802.aContracorriente.PackDigital\BecquerGA.
Leyendas.20110801.aContracorriente.pdf"
"aContracorriente\BecquerGA.Leyendas.20110801.aContracorriente.pdf"
":e:" "Edición personalizada para"
":a:" "Antonio Salmeron"
":c:" "el 9 de septiembre de 2011."
Donde ":e:", ":a:" y ":c:" son los campos que se utilizan para
ser remplazados por los texto de personalización.
El resultado es el que se muestra en la siguiente imagen.
A la izquierda el PDF original,
a la derecha el PDF modificado.
Es la personalización de una edición digital de las Leyendas de Gustavo Adolfo Bécquer.
Los campos seleccionados en el primer PDF corresponden a las marcas,
los campos seleccionados en el segundo PDF a los valores finales de la personalización.
Ver más herramientas de A-PDF
Buscar datos en Mozilla Backup de Thunderbird
realización: 5 de septiembre de 2011 | actualización: 5 de septiembre de 2011
Para buscar datos (direcciones, teléfonos, fechas de envío, etc.)
que estaban en un email borrado,
pero guardado en un backup realizado con Mozilla Backup (MozBackup)
para el sistema de gestión de correo electrónico Thunderbird,
no es necesario restaurar el backup.
Lo que es especialmente relevante para backups de más de un Gbyte.
El fichero de MozBackup (extensión .pcv) es un fichero comprimido,
que se puede abrir con 7-zip, también con WinZip y WinRar, y
volcar todo su contenido a un directorio temporal.
Este directorio sigue la estructura de los directorios de
trabajo de Thunderbird.
Una vez volcado se puede navegar, manualmente,
por el árbol de directorios
para localizar la carpeta en la que se cree que esta el correo.
Esta navegación también se podría hacer dentro del fichero comprimido,
pero me resulta mucho más incómoda.
Si no se sabe muy bien donde pueden estar los datos o los correos electrónicos,
se puede localizar el fichero o los ficheros que los contienen con
alguna utilidad de búsqueda recursiva en un árbol de directorios y
aquellos patrones de búsqueda que creamos más significativos.
En estos casos, en Windows, utilizo grep.exe de GNU (GnuGrep)
con la opción -r de recursivo, por ejemplo:
\bin\gnuwin32\bin\grep -r -l -c "asolver.com" ImapMail
para buscar correos del dominio asolver.com sólo en la carpeta
ImapMail, lo más cómodo es buscarlo en el total (.).
Hay que tener en cuenta que el caracter arroba (@) típico de las direcciones de correos
a veces aparece como tal en las cabeceras de los correos electrónicos y
otras como
=40 siendo el 40 el código ASCII hexadecimal de la arroba
(64 decimal, el anterior a la A y el doble que el caracter blanco),
como sucede en el cuerpo de los correos.
Por lo que se podrían probar búsquedas como
"asalmeron@asolver.com" o "asalmeron=40asolver.com".
Si finalmente hay que examinar visualmente
el fichero o los ficheros localizados por grep.exe,
como son ficheros planos,
pueden abrirse con un editor de textos para buscar la información localmente.
De todos los editores posibles utilizo para ello Notepad2.
Mozbackup,
Thunderbird,
7-zip,
GNU Grep Win32 y
Notepad2
Resolver ecuaciones de segundo grado
realización: 17 de agosto de 2011 | actualización: 17 de agosto de 2011
Pequeño fichero Excel (Libro de Excel 97-2003) con una sola hoja de
cálculo que permite resolver las ecuaciones de segundo grado y
obtener sus dos soluciones.
En la parte izquierda de la hoja de cálculo,
a partir de la ecuación sen encuentran sus 2 raices,
se factoriza la ecuación de segundo grado como
(x - 1ª raiz) . (x - 2ª raiz) y
se vuelve a reconstruir la ecuación para comprobar que todo es correcto.
La parte derecha de la hoja de cálculo,
permite generar problemas sencillos de ecuaciones de segundo grado
para su posterior solución.
Las celdas azules son para introducir los datos y
las celdas verdes para ver los resultados.
Descargar el Excel para resolver ecuaciones de 2º grado
Comprobar divisiones con resto
realización: 10 de julio de 2011 | actualización: 10 de julio de 2011
Pequeño fichero Excel (Libro de Excel 97-2003) con una sola hoja de
cálculo que permite comprobar el cociente y el resto de divisiones.
También permite comprobar divisiones cuando se pide calcular el cociente
con 2 decimales.
Las celdas azules son para introducir los datos y
las celdas verdes para ver los resultados.
Descargar el Excel para comprobar divisiones
Ecuaciones de 2 a 6 incógnitas con matrices
realización: 21 de enero de 2011 | actualización: 15 de agosto de 2011
Fichero Excel (Libro de Excel 97-2003) con 6 hojas de cálculo
para resolver pequeños sistemas de ecuaciones de 2 a 6 incógnitas.
En las 2 primeras hojas de cálculo
se resuelven sistemas de 2 ecuaciones de con 2 incógnitas.
En la primera mediante la función Excel inversa de una matriz y
en la segunda mediante el cálculo paso a paso de la inversa de
una matriz 2x2.
En las 4 siguientes hojas de cálculo
se resuelven sistemas de ecuaciones con 3, 4, 5 y 6 incógnitas,
mediante la función Excel inversa de una matriz (MINVERSA()).
Las 2 últimas hojas de cálculo (con 5 y 6 ecuaciones)
también contienen un área de celdas para la comprobación de los resultados.
Estas hojas de cálculo Excel permiten conocer el mecanismo de cálculo
empleado, mediante:
-
su diseño de cálculo por fases, especialmente en la 2ª hoja,
con datos de entrada, resultados intermedios y resultados finales y
-
las fórmulas visibles dentro de sus celdas.
La función Excel MINVERSA() es una fórmula matricial que
afecta a varias celdas de forma simultánea.
La introducción de este tipo de fórmulas matriciales
es diferente al de las funciones normales de Excel.
Los pasos para introducir una fórmula matricial son:
-
Se selecciona el rango de celdas que ocupará la matriz destino,
por ejemplo, un rango 2x2,
empezando por la celda de la esquina superior izquierda.
-
Se pulsa la tecla F2 que
activa la posibilidad de introducir una fórmula
en la celda de la esquina superior izquierda
(que es por la que se comenzó la selección).
Entonces se teclea la fórmula matricial,
por ejemplo: =MINVERSA(T6:U7).
-
Una vez tecleada la fórmula y
con el rango de celdas destino que sigue seleccionado
se pulsan simultáneamente las teclas Control+Shift+Intro.
Entonces la fórmula matricial se expande a todo el área seleccionada y
Excel la visualiza entre corchetes,
como {=MINVERSA(T6:U7)},
para señalar que es una fórmula matricial.
-
Nota:
Una vez tecleada la fórmula no hay que pulsar Intro,
ni el botón llamado introducir (v) que
está a la izquierda del área de introducción de fórmulas.
Descargar el Excel para resolver ecuaciones con matrices
artthropods.net: bichos de material reciclado
realización: 14 de noviembre de 2010 | actualización: 19 de septiembre de 2011
Artthropods.net es
una web deliciosa de Miguel Ángel Nuñez.
Fue desarrollada en 2002 por un querido amigo suyo que ya no está entre nosotros.
Inicialmente estaba albergada en un servidor de Arsys,
pero tras una actualización por parte de Arsys de la versión del sistema operativo de ese servidor,
la web dejo de funcionar
y tampoco es que los de Arsys proporcionaran mucha ayuda a sus recuperación.
En 2010, a partir de un backup de la web,
corregí en su código todo aquello que hacía que hubiera dejado de funcionar,
cree el nuevo dominio Artthropods.net,
la albergue en un servidor mio y, desde entonces, vuelve a estar operativa.
La web contiene una fabulosa tienda y un museo de bichos realizados a mano por Miguel Ángel Núñez con material reciclado.
Aunque agrupados por especies (Insectos, Crustáceos y Arácnidos) y
familias
(Halogenatae, Cohoniaceae, Bichiidae, Escaracazolae, Saltavoltiaceae, Viniliidae, Picnicpterae, Latharontidae, Microchupterae,
Anthiparridae, Calzadoriaceae, Recycliidae, Macrochupopterae, Scorpioniidae, Malahosstiaceae, Calandrakae, Casualidea,
Malakostrakae y Aranyas),
cada bicho es totalmente diferente y con nombre propio:
Agaffosperma capronna, Anthiparris vacuum,
Bishogordus tontorronis, Bombus jamacucus,
Cascanut goliath, Chupoptera grappadora,
Duploclippaa primigenia, Escaracazus inox,
Fagopringatta seductora, Fornica docarallo,
Gamba manolopozus, Grillotata longuipatta,
Lacusta coloreatta, Lataronthias mejillonii,
Malahossssthia elegans (hembra y macho),
Neuropteris fabafacialis, Onthocazus lathicornis,
Patachunga blueyes, Pompilia sublimis,
Raybannia lenti-macarria, Recyclida miniwattia,
Saltavoltios chamaleon, Scorpio dipostre,
Tabanus inox, Tippex magnum,
Vespachappa splendens, Vespina brebis,
Zumbix violacea, Zumbonia lunaria, etc.
Pueden adquirirse a unos precios muy razonables para el trabajo que tienen y lo bonitos que son.
Tanto si tienes interés por conseguir algún ejemplar
(el mio es como el que aparece en la imagen de la izquierda)
o sólo por contemplar los que se muestran en su Museo
te recomiendo que visites la web.
Esta web está desarrollada en HTML con JavaScript para el lado del cliente y con
Active Server Pages (ASP) para el lado del servidor,
soportado por una base de datos Access de Microsoft y
por los dos últimos productos ha de albergarse en
un servidor Windows con Internet Information Services (IIS).
Ver los bichos de material reciclado de Miguel Ángel Númez
Solución a un 3D Squares
realización: 27 de septiembre de 2010 | actualización: 7 de septiembre de 2011
Hay puzzles que les regalan a los niños que parecen triviales y no lo son,
a veces ni para los niños ni para los adultos.
Para mi este es un caso claro.
Para resolverlo tuve que programar un solucionador en
TOL que
no resulto muy complicado.
De hecho mucho menos complicado que resolver manualmente el puzzle 3D Squares.
Aunque el código completo junto con su traza de ejecución puede obtenerse
en PDF al final de este post,
pongo a continuación en algoritmo recursivo fundamental.
Este algoritmo encuentra 4 soluciones iguales, pues unas resultan de un
giro de 90º de otras:
///////////////////////////////////////////////////////////////////
Real SolCua(Set entSol, Set entPie) // Resuelve
///////////////////////////////////////////////////////////////////
{
Real crdSol = Card(entSol);
Text Write(FormatReal(crdSol,"%.0lf"));
If(EQ(crdSol, 9), SolVer(entSol), // Ha encontrado una solucion
{ // Busca soluciones
EvalWhile(entPie, Real(Text unoPie)
{
Set salPie = entPie - [[unoPie]];
Set varPie = VarAll(unoPie);
EvalWhile(varPie, Real(Text unoVar)
{
Set salSol = entSol << [[ unoVar ]];
If(SolBue(salSol), SolCua(salSol, salPie), FALSE)
})
})
})
};
Programación de la solución del 3D Squares y traza de ejecución
Ver el problema y las 4 soluciones del 3D Squares
Puertas lógicas AND, OR, XOR y Sumador en Excel
realización: 29 de julio de 2010 | actualización: 3 de septiembre de 2011
Ejemplo de programación en Excel de puertas lógicas AND, OR, XOR y
Sumadores con acarreo (la versión es la de Excel 97-2003).
En la primera hoja se ven las puertas lógicas
AND (Y), OR (O) y XOR (O exclusivo) y sus tablas de verdad.
En la segunda hoja un sumador con acarreo y su tabla de verdad construido
mediante las puertas anteriores.
La tercera hoja contiene 3 versiones de sumadores con acarreo similares
al de la hoja anterior.
En la cuarta hoja se implementa un sumador de 3 bits a partir de
los sumadores anteriores.
Incluye todas las pistas de conexión entre las puertas,
con diferentes colores, para ver la transmisión de la información.
Puertas lógicas AND, OR, XOR y Sumador con acarreo en Excel
Tablas de multiplicar y multiplicaciones
realización: 14 de febrero de 2010 | actualización: 22 de abril de 2011
Fichero Excel de Microsoft con tablas de multiplicar y multiplicaciones
de 1, 2, 3, 4 y 5 dígitos por 1 dígito.
Plantea multiplicaciones, hay que teclear los resultado e
informa de los errores de tal manera que
si el número sale azul es que la multiplicación está bien,
si sale en rojo es que está mal.
En cada una de las 6 hojas Excel hay una celda negra que permite generar
9 conjuntos diferentes de combinaciones de operaciones (del 1 al 9).
Las soluciones también pueden consultarse en la parte inferior
de cada hoja Excel en el área coloreada de gris.
La versión es la de Excel 97-2003.
Excel con tablas de multiplicar y multiplicaciones
Informes estadísticos para ANECA
realización: 9 de junio de 2009 | actualización: 2 de septiembre de 2011
Automatización de la generación de informes estadísticos sobre los resultados de la evaluación
del profesorado universitario
para la Agencia Nacional de Evaluación de la Calidad y Acreditación
(ANECA).
Realizado en colaboración con Cetiver,
es un desarrollo en lenguaje TOL,
contra una base de datos SQL-Server,
con generación de informes en formato PDF y
envío automático de los informes por email a 44 Vicerrectores de Universidades Españolas.
Se trata de un programa de los que llamo nocturnos,
capaz de funcionar sólo, por las noches,
activado por el programador de tareas del sistema,
sin necesidad de intervención humana.
Fue la primera aplicación real de mis experimentos de generación de informes PDF,
desde el lenguaje TOL,
mediante la creación de páginas HTML intermedias y su conversión a PDF con
Two Pilots.
El código específico de esta aplicación es privado,
por lo que sólo incluyo un pequeño ejemplo de las 15 líneas de código de la
función de llamada a Two Pilots,
para la conversión de un informe HTML a PDF,
que es completemente genérico y
útil para el que desee invocar a este conversor en su modo de línea de mandatos.
///////////////////////////////////////////////////////////////////
Real PdfBuild(Text filInp, // Input html file
Text filOut) // Output pdf file
///////////////////////////////////////////////////////////////////
{
If(Not(FileExist(filInp)), FALSE, // Nothing to do
{
// with back slash
Text dosInp = Replace(PdfAbs+filInp, "/", "\\");
Text dosOut = Replace(PdfAbs+filOut, "/", "\\");
Text cmdTxt = PdfExe+" "+ // Executable pdf convertor
dosInp+" "+ // Input file
dosOut+ // Output file
" /jpeg 100 /author Aneca";
Text WriteLn(" Pdf: "+filOut);
System(cmdTxt) // Execute html to pdf conversion
})
};
///////////////////////////////////////////////////////////////////
PutDescription(
"Returns true if can create a pdf file filOut from "+
"an html file filInp.",
PdfBuild);
///////////////////////////////////////////////////////////////////
Conversor de HTML a PDF de Two Pilots
Contador de separadores de campos
realización: 15 de agosto de 2008 | actualización: 10 de septiembre de 2011
En una gran aseduradora nos volcaban ficheros inmensos de datos de
operaciones sobre polizas desde el host,
ficheros con millones de registros.
Eran ficheros planos y ellos mismos elegían el carácter separador de
campos.
Esos ficheros los subíamos, a su vez, a otra base de datos que
los cargaba utilizando, para interpretar la separación de campos,
el carácter indicado en cada caso.
Esta carga se realizaba empleando el programa de carga suministrado
junto con el sistema de gestión de la base de datos.
El proceso de carga era lento y, además,
con frecuencia, el carácter que habían elegido,
aparecía en algún campo de texto de algún registro.
Por ejemplo, elegían el asterisco y
algunos campos de observaciones contenían asteriscos.
Al llegar al primer registro con más separadores de los esperados
el proceso de carga abortaba tras horas de ejecución.
La solución era programar un comprobador de ficheros,
muy rápido, que antes de iniciar el proceso de carga,
comprobara que todas las líneas del fichero contuvieran el mismo
números de caracteres separadores de campo,
asumiendo como correcto el número de separadores de la primera línea del fichero.
Y sólo comenzar la carga a la base de datos tras comprobar que
el fichero era correcto.
Hacía ya mucho tiempo que no programaba en C y
esta era una ocasión para volver a él.
El programa se llama chksep.exe,
esta hecho en lenguaje C en pocas horas,
por lo que seguro que se puede mejorar.
Se ejecuta como
chksep 42 < fichero.txt
,
donde el 42 es el código ASCII del caracter *,
que era el separador de campos habitual,
aunque se puede elegir cualquier otro carácter,
por ejemplo,
chksep 59 < fichero.txt
,
para el punto y coma.
El programa visualiza las líneas donde
el número de separadores de campo es diferente al de la primera línea.
En un computador portatil normal este programa es capaz de revisar
un Giga en 2 minutos 15 segundos,
lo que equivalía con los ficheros reales que nos daban a
unos 800.000 registros por minuto.
Por lo que en 5 ó 10 minutos se podía evitar que luego abortara una carga de horas.
El programa también cuenta el número de líneas del fichero.
A continuación pongo el ciclo principal del programa y
en el fichero PDF adjunto a este post el código fuente completo.
Me gustan mucho los programas eficaces de pocas líneas de código y
que sean eficientes ya lo considero un regalo.
while((chrInp=getc(stdin)) != EOF)
{
if(chrInp==sepChr) { sepCnt++; } /* Es un separador */
else if(chrInp==EOL) /* Es un salto de linea */
{
if(linCnt==1) /* Estabamos en la 1ª linea */
{
sepFst = sepCnt; /* Referencia para el resto de lineas */
printf("\n[%d] [%s] en la primera linea.", sepFst, sepStr);
}
else /* Linea normal */
{
if(sepFst!=sepCnt) /* Faltan o sobran separadores */
{
printf("\nlinea %d: [%d] [%s] en vez de [%d].",
linCnt, sepCnt, sepStr, sepFst);
}
}
linCnt++; /* Incrementar el contador de lineas */
sepCnt = 0; /* Poner a cero el contador de separadores */
}
}
printf("\nProcesadas [%d] lineas.", linCnt);
Ver el código fuente C completo del contador de separadores de campo
Página del abogado Bartolomé Quesada Valles
realización: 10 de agosto de 2008 | actualización: 5 de agosto de 2011
Realización del registro de dominio .es, diseño, maquetación, desarrollo y mantenimiento en internet de
la primera versión de la página web del despacho de abogados de Bartolomé Quesada Valles.
Bartolomé Quesada Valles es abogado,
tiene más de 20 años de ejercicio profesional
y está colegiado en el Ilustre Colegio de Abogados de Madrid (ICAM).
Esta primera versión de la página web estuvo operativa
desde mediados del verano de 2008 hasta inicios del verano de 2010.
Actualmente está en funcionamiento la segunda versión de esta página web,
que ha sido desarrollada en Joomla! por Luis Torrijos.
Ver el versión actual
Máximo común divisor de 2 números
realización: 26 de julio de 2008 | actualización: 22 de abril de 2011
Ejemplo de hoja Excel para calcular el máximo común divisor (MCD) entre 2
números.
El fichero Excel de Microsoft está formado por una sola hoja de cálculo en
la que los 2 números para los que se quiere calcular su máximo común
divisor se introducen en las celdas azules.
La hoja Excel visualiza en la zona gris los divisores encontrados y
arriba en grande y azul el máximo común divisor.
Este ejemplo Excel tiene limitaciones en el tamaño de los números y
el método de cálculo.
La versión es la de Excel 97-2003.
Cálculo en Excel del máximo común divisor (MCD) de 2 números
Pedro Reina, cifras y letras
realización: abril de 2008 | actualización: 20 de agosto de 2011
Tuve la suerte de conocer a Pedro Reina en 1991,
en la primera edición del curso Sistemas expertos en la empresa.
En 1992, Pedro acometió el desarrollo de dos programas cuyo
objetivo era resolver los problemas del programa televisivo «Cifras y Letras».
Primero desarrollo el programa que resolvía el problema de las cifras y luego el de las letras.
Durante ese tiempo pude discutir con Pedro sus enfoques de solución a esos dos problemas.
En abril de 2008,
Juan M. R. Parrondo dedicó su sección de Juegos Matemáticos de la revista Investigación y Ciencia,
a los dos algoritmos desarrollados por Pedro Reina para resolver los problemas de «Cifras y Letras».
En este artículo, Pedro Reina me cita amablemente
a la hora de describir el mecanismo usado para resolver el problema de las letras:
«...la solución que nos ofrece Reina es muy sencilla,
gracias a una idea sumamente ingeniosa
que el propio autor atribuye al profesor de inteligencia artificial Antonio Salmerón...».
Juan M. R. Parrondo,
«Cifras y Letras de Pedro Reina»,
sección de Juegos matemáticos,
revista Investigación y Ciencia (traducción española de Scientific America),
ISSN 0210-136X,
número 379,
páginas 90-91,
Barcelona, abril de 2008.
-
Cited
in «Numbers and Letters of Pedro Reina»
by Juan M. R. Parrondo,
Reseach & Science Magazine,
Barcelona,
April of 2008.
-
Citado
en «Cifras y Letras de Pedro Reina»
por Juan M. R. Parrondo,
Revista Investigación y Ciencia,
Barcelona,
abril de 2008.
Leer el artículo en PDF
Análisis sensorial de sistemas
realización: marzo de 2008 | actualización: 4 de diciembre de 2015
Cuaderno con casos prácticos:
psoe.es y pp.es en la campaña electoral 2008 y otros casos de estudio,
elaborado del 21 al 29 de febrero de 2008.
Cuando somos niños creemos que los personajes de los libros, de las obras de teatro
o de las películas hablan por sí mismos, sin embargo, pronto aprendemos que son
los autores los que hablan a través de ellos y que, por tanto, podemos intentar
conocer y comprender a los autores a través de sus obras.
Cuando interactuamos con sistemas a menudo seguimos creyendo, como los niños,
que son dichos sistemas los que dicen y hacen y no los autores que los programaron
y las entidades que los crearon.
Como en cualquier creación humana, podemos conocer y comprender a las
entidades, su dueños, directivos y trabajadores a través de los comportamientos,
acciones, mensajes y errores de los sistemas que fabrican o de los que se sirven. A
menudo las verdaderas ideas y sentimientos de las personas y los grupos se pueden
ver mejor reflejadas en sus sistemas que en sus mensajes comerciales, ya que
mientras en otros tipos de comunicación se presta especial atención a los mensajes
que se emiten, en los sistemas hay 2 razones por la que los sentimientos auténticos
de la organización afloran con mayor facilidad:
-
la atención a los aspectos tecnológicos, la subcontratación y las dificultades de
desarrollo restan atención al cuidado de los mensajes que se emiten diciendo
más directamente lo que se piensa y
-
la conexión directa de muchos sistemas con el aparato de la organización hace
que a través de esas conexiones aflore su verdadera personalidad.
-
Author of
«Sensory analysis of systems»,
Intellectual Property Register,
number 16/2009/5854,
Madrid,
March of 2008.
Essay on the analysis of computer systems through the senses and about how to lear this technique.
-
Autor de
«Análisis sensorial de sistemas»,
Registro de la Propiedad Intelectual,
número 16/2009/5854,
Madrid,
Marzo de 2008.
Ensayo sobre el análisis de sistemas informáticos a través de los sentidos y sobre el aprendizaje de esta técnica.
Ver el cuaderno completo en PDF
Tabla ASCII generada con TOL
realización: 27 de noviembre de 2007 | actualización: 10 de septiembre de 2011
Este es un programa sencillo,
orientado al aprendizaje del lenguaje
TOL.
El programa escribe un fichero con los 128 primeros caracteres
de la tabla ASCII.
Los 32 primeros son caracteres especiales por lo que sus siglas
se almacenan en un conjunto
TOL (Set).
Los siguientes caracteres se generan mediante la función TOL Text Char(Real asc).
Se muestra a continuación el código completo del programa que
también se puede consultar en el documento PDF adjunto a este post,
se incluye junto con el código el fichero resultante con la tabla ASCII.
Set AscFst =
[[
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
"BS ", "TAB", "LF ", "VT ", "FF ", "CR ", "SO ", "SI ",
"DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB",
"CAN", "EM ", "SUB", "ESC", "FS ", "GS ", "RS ", "US "
]];
Text fil = "ascii.txt";
Text WriteFile(fil, "Tabla ASCII");
Set cic = For(0, 127, Text(Real asc)
{
// Each 8 jump new line
Text new = If(asc % 4, "", "\n");
// The fist 32 are special characters
Text chr = If(LT(asc, 32), AscFst[asc+1], "["+Char(asc)+"]");
// Append character to file
Text lin = new + FormatReal(asc, "%03.0lf") + " " + chr +" | ";
Text AppendFile(fil, lin);
chr // Return the character
});
Ver el código fuente TOL y fichero de salida con la tabla ASCII
15 puzle (3x3) y 65 puzle (5x5)
realización: 5 de mayo de 2007 | actualización: 22 de abril de 2011
Fichero Excel de Microsoft
formado por una sola hoja de cálculo,
que contiene:
-
El llamado problema del 15 puzle,
de 3x3 celdas,
con todos los números de 1 al 9, uno por celda sin repetirse,
que suman siempre 15 tanto por filas, como por columnas y diagonales, y
-
El problema del 65 puzle, menos conocido que el anterior,
de 5x5 celdas,
con todos los números de 1 al 25, uno por celda sin repetirse,
que suman siempre 65 tanto por filas, como por columnas y diagonales.
En este fichero Excel se muestran ambos problemas ya resueltos.
La versión es la de Excel 97-2003.
Excel con el 15 puzle (3x3) y 65 puzle (5x5) resueltos
Triángulo mágico de la diosa hindú Durga
realización: 5 de mayo de 2007 | actualización: 21 de abril de 2011
Fichero Excel (Libro de Excel 97-2003) con 4 hojas de cálculo.
En la primera hoja se plantea resolver el problema del llamado
triángulo mágico de la diosa hindú Durga.
Hay que poner los números del 1 al 9,
todos y sin repetición,
en los 3 lados del triángulo,
de forma que los 3 lados sumen lo mismo.
En cada lado se ponen 4 números del 1 al 9 y
hay 3 celdas que son comunes a 2 lados,
teniendo en total 9 celdas.
Las 3 hojas siguiente muestran las 3 soluciones posibles.
En principio no habría que verlas hasta haber solucionado
por uno mismo el problema del triángulo.
Las operaciones se corrigen automáticamente.
Si el número introducido sale azul es que está bien y
si sale en rojo es que está mal.
En la primera hoja hay una celda de control que permite fijar
la solución que hay que buscar de entre las 3 existentes
(sin contar giros).
Excel para resolver el triángulo mágico de la diosa hindú Durga
PDF para resolver en papel el triángulo mágico de la diosa Durga
Mini sistema de flujo de datos
realización: 5 de noviembre de 2006 | actualización: 21 de abril de 2011
Fichero con dos hojas Excel (Libro de Excel 97-2003)
para practicar suma y resta con un mini sistema de flujo de datos.
Las dos hojas Excel contienen el mismo flujo de datos,
sólo difiere su anchura.
Las celdas de fondo verde claro son las que contienen los datos de partida.
En las celdas de fondo azul claro es en las que hay que introducir
los resultados.
Las operaciones se corrigen automáticamente.
Si el número introducido sale azul es que está bien y
si sale en rojo es que está mal.
En la hoja hay dos celdas negras de control,
arriba a la izquierda, que
permiten fijar la complejidad de las operaciones (máximo) y
generar diferentes conjuntos de operaciones.
Descargar el Excel con el sistema de flujo de datos
Operaciones básicas + - x /, disposición horizontal
realización: 4 de noviembre de 2006 | actualización: 21 de abril de 2011
Fichero Excel (Libro de Excel 97-2003) con 4 hojas de cálculo
para practicar sumas, restas, multiplicaciones y divisiones básicas.
Las operaciones se corrigen automáticamente.
Si el número introducido sale azul es que está bien y
si sale en rojo es que está mal.
En cada hoja hay dos celdas negras de control que
permiten fijar la complejidad de las operaciones (máximo) y
generar diferentes conjuntos de operaciones
(actuando de semilla para la generación aleatoria de operaciones).
Descargar el Excel para practicar la operaciones básicas
Operaciones básicas + - x /, disposición vertical
realización: 3 de noviembre de 2006 | actualización: 21 de abril de 2011
Fichero Excel (Libro de Excel 97-2003) con 7 hojas de cálculo
para practicar las operaciones básicas en disposición vertical:
-
Hoja de sumas básicas.
-
Hoja de restas básicas.
-
Hoja para practicar las tablas de multiplicar.
-
Dos hojas de multiplicaciones básicas.
-
Dos hojas de divisiones básicas.
Las operaciones se corrigen automáticamente.
Si el número introducido sale azul es que está bien y
si sale en rojo es que está mal.
En cada hoja hay una celda negra de control que
permiten generar nueve diferentes conjuntos de operaciones.
Descargar el Excel para practicar operaciones básicas
Superficie, trazos, sopas de letras, sudokus, series
realización: 15 de agosto de 2006 | actualización: 5 de septiembre de 2011
Cálculos de superficies de rectángulo y triángulos,
trazos con numeración y laberinto,
sopas de letras de capitales europeas, capitales de provincias españolas,
continentes, océanos,
animales carnívoros y hervívoros, mamíferos y reptiles,
tres sudokus y
series de cierto nivel.
Como curiosidad, el dibujo de Kim Possible está realizado únicamente
con líneas rectas y arcos de elipses.
Superficies, trazos, sopas de letras, sudokus y series en PDF
First Forecasting Event
realización: 29 de junio de 2006 | actualización: 20 de diciembre de 2010
Desde Cetiver,
participación junto con Luis Torrijos en
el First Forecasting Event de SAS Institute.
Ambos trabajamos sobre una presentación conjunta
a partir de la cual cada uno realizada su ponencia.
La mía titulada
«Automatización a gran escala de previsiones de base estadística:
Soluciones racionales a problemas de incertidumbre masiva».
La portada de la presentación corresponde a un diseño de Luis Torrijos
a partir de su idea de las gafas y la carretera.
-
Speaker on
«First Forecasting Event»,
SAS Institute,
Madrid,
June of 2006.
-
Ponente en
«Primer Evento sobre Previsión»,
SAS Institute,
Madrid,
junio de 2006.
Imágenes como tablas en HTML
realización: 7 de enero de 2006 | actualización: 2 de septiembre de 2011
Hace unos meses me encontré con el problema de tener que realizar
páginas HTML de texto puro sin poder incrustar imágenes.
Sin embargo, había que insertar un pequeño logotipo del cliente.
El problema puede resolverse convirtiendo la imagen del logotipo en una
gran tabla HTML de celdas de tamaño de 1 pixel por 1 pixel y cada una
del color de fondo de su pixel asociado.
En la imagen de este post puede verse el logotipo en imagen PNG,
en este caso de ejemplo mi propio logotipo, no el del cliente, y
abajo la misma imagen como tabla.
Como para esta publicación no he utilizado el logotipo original de la
empresa que me lo encargó, sino el mio, y para simplificar el ejemplo
sólo he utilizado 3 colores en la tabla,
es por eso que se nota el pixelado.
Pero si se usan más colores el resultado puede se muy parecido al
logotipo original en imagen.
En estos casos, y limitándome a 16 colores, suelo convertir las imágenes
en formato BMP (bitmap) a especificaciones en texto utilizando el
conversor
Bmp2Ico
realizado por Juan Ramón Miráz y por mi.
Incluyo dos realizaciones del mismo código fuente:
con CSS sólo para la página y con CSS para las celdas de la tabla
por lo que el tamaño del código a 1/3.
Como página HTML de resultado sólo incluyo en el PDF la última,
por ser más reducida.
A continuación se muestra parte del código TOL utilizado para esta
conversión, aunque reducido en la parte del mapa de letras del
logotipo para no saturar el post.
En el código PDF que se adjunta a este post se puede ver el código
fuente completo.
Set repTab =
[[
[["+", "<td class='r'></td>"]],
[[".", "<td class='b'></td>"]],
[["-", "<td class='s'></td>"]]
]];
Set picSet = [[
"+++++++-..................++++++++++++++++++++++++++++++++++",
"++++++-................+++++++++++++++++++++++++++++++++++++",
"++++++-...............++++++++++++++++++++++++++++++++++++++",
"+++++-..............++++++++++++++++++++++++++++++++++++++++",
... recortado ...
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
]];
Set repCic = EvalSet(picSet, Text(Text lin)
{ // Replace 1 time
" <tr>\n "+ReplaceTable(lin, repTab, 1)+"\n </tr>\n"
});
Text outHtm =
"
<html>
<head>
<style type='text/css'>
body { margin: 20px 20px 20px 20px; background-color: #ffffff; }
td.b { width: 1px; height: 1px; background-color: #ffffff; }
td.r { width: 1px; height: 1px; background-color: #ff0000; }
td.s { width: 1px; height: 1px; background-color: #ff9090; }
</style>
<title>Imagen en tabla</title>
</head>
<body>
<img src='logo.bmp'>
<br>
<br>
<br>
<table bgcolor='+ffffff' cellpadding=0 cellspacing=0 border=0>
"+
BinGroup("+",repCic)+
"
</table>
</body>
</html>
";
Text WriteFile("logocss.htm", outHtm);
Código fuente TOL completo y resultado en HTML con CSS
Mi página web profesional ASolver.com
realización: abril de 2005 | actualización: 19 de septiembre de 2011
Realización del registro del dominio
ASolver.com,
diseño, maquetación, desarrollo y mantenimiento en internet
de mi propia página web profesional
ASolver.com.
En el principio esta página web estaba albergada en mi proveedor de internet Bitmailer,
empresa que posteriormente fue comprada por Sarenet.
Actualmente sigue en Sarenet que es uno de mis cuatro proveedores de internet.
La imagen de la página que aparece a la derecha de este post es de una versión más actual de
esta página web.
De la página web original, cuya estructura era más apaisada,
sólo conservo los diseños iniciales.
La página está desarrollada a mano,
no se cuantos seguimos haciendo páginas webs a mano,
pero no quedamos muchos,
en HTML y Cascading Style Sheets (CSS) y
es ya una página completamente desarrollada con estructuras div,
a diferencia de las que clásicamente, y con anterioridad,
desarrollaba con estructuras table.
-
April 2005 to date, consultant for:
Andaira Technology,
ANECA (National Agency for Quality Assessment and Accreditation),
Antena 3 / A3 Advertising,
Asisa,
Atari / Namco Bandai,
AVPPM (Association of Newspapers Kiosks of Madrid),
City council of Madrid,
City council of Guadalix,
Banco de Santander,
CECA (Spanish Confederation of Savings Banks),
Colonial-Riofisa,
Comaof,
Data Segmento,
Imperial Tobacco,
Japan Tobacco International,
Plaion / Koch Media,
Michelín,
Microsoft,
Vértice Sistemas,
Army (Headquarters, Psychology Service, Command Headquarters of Canarias and Training and Doctrine Center),
Complutense University of Madrid (Faculty of Economics and Business y School of Business Studies),
University of Cádiz (Access and College Counseling),
University of Navarra (Admissions Service and Quality Department),
Technical University of Madrid (School of Agricultural Engineers),
Rey Juan Carlos University (Higher Technical School of Telecommunications Engineering, Management and Information Systems),
etc.
-
Desde 2005, consultor para empresas como:
Andaira Technology,
ANECA (Agencia Nacional de Evaluación de la Calidad y Acreditación),
Antena 3 / A3 Advertising,
Asisa,
Atari / Namco Bandai,
AVPPM (Asociación de Vendedores Profesionales de Prensa de Madrid),
Ayuntamiento de Madrid,
Ayuntamiento de Guadalix,
Banco de Santander,
CECA (Confederación Española de Cajas de Ahorros),
Colonial-Riofisa,
Comaof,
Data Segmento,
Imperial Tobacco,
Japan Tobacco International,
Plaion / Koch Media,
Michelín,
Microsoft,
Vértice Sistemas,
Ejército de Tierra (Cuartel General de la Fuerza Terrestre, Servicio de Psicología, Cuartel General del Mando de Canarias y Mando de Adiestramiento y Doctrina),
Universidad Complutense de Madrid (Facultad de Ciencias Económicas y Empresariales y Escuela Universitaria de Estudios Empresariales),
Universidad de Cádiz (Acceso y Orientación Universitaria),
Universidad de Navarra (Servicio de Admisión y Área de Calidad),
Universidad Politécnica de Madrid (Escuela Técnica Superior de Ingenieros Agrónomos),
Universidad Rey Juan Carlos (Escuela Técnica Superior de Ingenieros de Telecomunicaciones, Gestión de Sistemas e Informática),
etc.
Ver el versión actual de ASolver.com
Manual Básico de Programación en TOL
realización: febrero de 2005 | actualización: 10 de octubre de 2010
Los autores de este libro son, con su posición en el momento de publicación:
Clara Simón de Blas (profesora ayudante doctor de la Universidad Rey Juan Carlos),
Ana García Sipols (profesora titular interina de la Universidad Rey Juan Carlos),
Raquel Montes (Profesora Contratada Doctor de la Universidad Rey Juan Carlos) y
Antonio Salmerón (doctor por la Universidad Politécnica de Madrid) que aporté,
fundamentalmente, los ejemplos y el material de base que dan soporte al libro.
Descripción completa del libro
{
Título: Time oriented language (F/TOL): manual básico de programación;
ISBN (13): 978-84-96285-10-1;
ISBN (10): 84-96285-10-3;
Depósito legal: M 37389;
Ref: Libro;
Clave: L;
Lengua: publicación: Castellano;
Edición: 1ª ed., 1ª imp.;
Publicación: Madrid. Maths Universidad SL, 01/2005;
Descripción: 130 p. ; 29x21 cm;
Encuadernación: rústica;
Materias: Ciencia y tecnología de los ordenadores, Informática;
CDU: 004
}
El objetivo de este manual es orientar a las personas que comienzan a programar en TOL,
que es un lenguaje creado como Open Source por la empresa Bayes Inference SA,
para la modelización del comportamiento temporal
y fui unos de los 3 miembros del equipo inicial de ideación y creación del lenguaje.
El manual comienza con una descripción del lenguaje,
cómo obtener el software y el entorno de trabajo.
Los dos siguientes capítulos están dedicados a la programación con el lenguaje TOL.
Los capítulos restantes describen los tipos de objetos propios de TOL
para la explotación de la información temporal.
El libro incluye ejemplos de programación a lo largo de todo el manual.
-
Coauthor of
«Time Oriented Language (TOL): Basic Programming Guide»,
book with 130 pages,
Madrid,
February of 2005.
-
Coautor de
«Time Oriented Language (TOL): Manual Básico de Programación»,
libro de 130 páginas,
Madrid,
febrero de 2005.
Ver la portada del libro en PDF
Sumas y restas
realización: 26 de noviembre de 2004 | actualización: 21 de octubre de 2012
A continuación se enumeran algunos de los ejercicios disponibles de
sumas y restas:
-
Cinco páginas de ejercicios para practicar horizontales de 1 dígito
sumas y restas
horizontales de 1 dígito.
-
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.
-
Contiene
sumas y restas
verticales de dos y tres dígitos,
con resultados parciales de ayuda y sin resultados parciales.
-
Cinco páginas de ejercicios para practicar
sumas y restas
verticales de un dígito.
Sopas de letras y astronomía
realización: 26 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Sopas de letras de animales domésticos y salvajes, muebles, medios de
transporte, países de Europa y
esquema del sistema solar y sopa de letras con 9 planetas.
Sopas de letras y astronomía en PDF
Periódicos y comprensión de noticias
realización: 25 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Lectura y comprension de noticias sencillas seleccionadas de Expansión,
El Mundo, Diario de Noticias y Herald Tribune.
Periódicos y comprensión de noticias en PDF
Ruedas y transmisión del movimiento
realización: 24 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Cinco ejercicios para aprender el mecanismo de transmisión del movimiento
con ruedas y correas de transmisión.
Ruedas y transmisión del movimiento en PDF
Planos y rutas en el Metro de Madrid
realización: 23 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Tres ejercicios para aprender a moverse por el Metro de Madrid,
trazando la ruta de una estación a otra con transbordos.
Planos y rutas en PDF
Multiplicaciones con cubos
realización: 20 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Cinco páginas de ejercicios para practicar multiplicaciones sencillas
utilizando cubos.
Multiplicaciones con cubos en PDF
Sumas por parejas
realización: 19 de noviembre de 2004 | actualización: 3 de septiembre de 2011
Cinco páginas de ejercicios para practicar sumas por parejas.
Sumas por parejas en PDF
Operaciones básicas con flujo de datos
realización: 18 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Trece ejercicios para practicar las operaciones básicas
(suma, resta, multiplicación y división)
con máquinas de flujo de datos.
Flujo de datos en PDF
El reloj, numeración árabe y romana
realización: 17 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Once páginas de ejercicios para aprender la numeración árabe, romana y
el reloj tradicional de manecillas.
El reloj, numeración árabe y romana en PDF
Aprender a contar euros (€)
realización: 16 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Cinco páginas de ejercicios para aprender a contar y sumar billetes de
euros.
Contar euros (€) en PDF
Series numéricas, de colores y figuras geométricas
realización: 15 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Diecisiete páginas con series numéricas, de colores y figuras geométricas
de diversos grados de complejidad.
Series numéricas, de colores y figuras geométricas en PDF
Series numéricas
realización: 15 de noviembre de 2004 | actualización: 7 de diciembre de 2015
Cinco páginas con 25 series numéricas de diversos grados de complejidad,
seleccionadas del PDF general de series.
Series numéricas en PDF
Series de colores y figuras geométricas
realización: 15 de noviembre de 2004 | actualización: 7 de diciembre de 2015
Once páginas con series de colores y figuras geométricas de diversos
grados de complejidad,
seleccionadas del PDF general de series.
Series de colores y figuras geométricas en PDF
Multiplicación, 1 dígito, vertical y horizontal
realización: 14 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Once páginas de ejercicios con multiplicaciones horizontales y verticales
de 1 dígito.
Multiplicaciones verticales y horizontales de un dígito en PDF
Sumas y restas horizontales de un dígito
realización: 13 de noviembre de 2004 | actualización: 4 de septiembre de 2011
Cinco páginas de ejercicios para practicar sumas y restas horizontales de
1 dígito.
Sumas y restas horizontales de un dígito en PDF
Sumas y restas verticales de cuatro y cinco dígitos
realización: 12 de noviembre de 2004 | actualización: 5 de septiembre de 2011
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 cuatro y cinco dígitos en PDF
Sumas y restas verticales de dos y tres dígitos
realización: 11 de noviembre de 2004 | actualización: 5 de septiembre de 2011
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 dos y tres dígitos en PDF
Sumas y restas verticales de un dígito
realización: 10 de noviembre de 2004 | actualización: 5 de septiembre de 2011
Cinco páginas de ejercicios para practicar sumas y restas verticales
de un dígito.
Sumas y restas verticales de un dígito en PDF
Aprender a contar
realización: 9 de noviembre de 2004 | actualización: 5 de septiembre de 2011
Veintinueve páginas de ejercicios dedicadas a aprender a contar
los primeros números.
Aprender a contar en PDF
Lectura y vocabulario en inglés
realización: 8 de noviembre de 2004 | actualización: 6 de septiembre de 2011
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 en inglés en PDF
Lectura y vocabulario
realización: 7 de noviembre de 2004 | actualización: 6 de septiembre de 2011
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.
Lectura y vocabulario en PDF
Alfabeto
realización: 6 de noviembre de 2004 | actualización: 6 de septiembre de 2011
Cinco páginas de vocabulario con texto y fotos para aprender
el vocabulario, con letra de "arco y vuelta" ideal para niños.
Alfabeto en PDF
Trazos y poliedros
realización: 5 de noviembre de 2004 | actualización: 6 de septiembre de 2011
Once páginas de ejercicios para aprender a utilizar el lápiz y trazar
utilizando como motivo poliedros.
Trazos y poliedros en PDF
Trazos y numeración
realización: 4 de noviembre de 2004 | actualización: 6 de septiembre de 2011
Cinco páginas de ejercicios para aprender a utilizar el lápiz y trazar
siguiendo la numeración.
Trazos y numeración en PDF
Trazado y laberintos hexagonales
realización: 3 de noviembre de 2004 | actualización: 6 de septiembre de 2011
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 hexagonales en PDF
Trazado y laberintos de líneas rectas
realización: 2 de noviembre de 2004 | actualización: 6 de septiembre de 2011
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 líneas rectas en PDF
Trazado y laberintos de bloques rectangulares
realización: noviembre de 2004 | actualización: 6 de septiembre de 2011
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.
Trazado y laberintos de bloques rectangulares en PDF
Electrical data modelling, UPM
realización: 2004 | actualización: 20 de diciembre de 2010
-
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.
Level 10 of 10 in the hacking test, Instisec
realización: 2003 | actualización: 20 de agosto de 2011
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.
Instituto para la Seguridad en Internet
Architecture for time oriented systems
realización: 2000 | actualización: 25 de enero de 2011
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
realización: 1999 | actualización: 20 de diciembre de 2010
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.
Advanced forecasting, IIR
realización: 1996 | actualización: 20 de agosto de 2011
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.
Diccionario de informática
realización: 1996 | actualización: 20 de agosto de 2011
-
Coauthor of
«Computer science dictionary»,
Foundation for Industrial Innovation &
Computer Sciences School (UPM),
Madrid,
1996.
-
Coautor de
«Diccionario de informática»,
Fundación para la Innovación Industrial y
Facultad de Informática de Madrid (UPM),
Madrid,
1996.
Bayes Forecast, dirección general y clientes
realización: 15 de mayo de 1995 | actualización: 21 de septiembre de 2012
-
Since 1995 to 2005:
Leading and mentoring a group of 50+ economists, software engineers and mathematicians.
Responsible for the commercial actions, whole planning, execution, and goal achievement of the projects for client companies like
Coca-Cola,
Microsoft,
Telefónica,
Spanish National Uranium Institute,
Mercadona,
Carrefour,
Forces Elèctriques d’Andorra,
Grupo Sogecable,
Movistar,
NCR,
Unidad Editorial,
etc.
These projects included electronic capture of information, analysis and
modelling of huge and dynamic operational and sales data, reporting and
delivering forecast estimates, business intelligence and
customer relationship management and marketing (CRM).
-
De 1995 a 2004:
Liderando un grupo de más de 50 ingenieros de software, matemáticos y economistas.
Con responsabilidad directa en la comercialización y el desarrollo de proyectos de modelización de la demanda y los mercados,
sistemas de previsión de ventas, de optimización e inteligencia de negocio.
Para clientes como
Coca-Cola,
Microsoft,
Telefónica,
Empresa Nacional de Uranio,
Mercadona,
Forces Elèctriques d’Andorra,
Sogecable,
Movistar,
NCR,
Unidad Editorial (El Mundo),
Recoletos Compañía Editorial (Marca y Expansión),
etc.
Bayes Forecast, diseñador inicial de TOL
realización: 15 de mayo de 1995 | actualización: 21 de septiembre de 2012
-
Initial founder of the project TOL, Time Oriented Language,
an Open Source Software.
-
Diseñador inicial de TOL,
lenguaje de programación orientado al tiempo y a la modelización estadística propiedad de Bayes Forecast.
Bayes Forecast, web crawlers especializados
realización: 15 de mayo de 1995 | actualización: 21 de septiembre de 2012
-
Developer of several web crawling systems based on ad-hoc or heuristic search (references and keywords matching).
-
Creador de web crawlers especializados en la recopilación de información en internet por áreas de conocimiento.
Bayes Forecast, entorno software
realización: 15 de mayo de 1995 | actualización: 21 de septiembre de 2012
-
Developement environment:
Operating systems: Windows, Linux, Aix, Irix, and Solaris;
Databases: Oracle, SQL Server, and Teradata (data warehouse);
Languages: C++, C, JavaScript, Visual Basic, Html, and TOL (Time Oriented Language).
-
Entorno software:
Sistemas operativos: Windows, Linux, Aix, Irix y Solaris;
Bases de datos: Oracle, SQL Server y Teradata (data warehouse);
Lenguajes: C++, C, JavaScript, Visual Basic, Html y TOL (Time Oriented Language).
Investigación Operativa, UNED
realización: 1995 | actualización: 25 de noviembre de 2023
-
Collaborator in
forecasting programming with the
Department of Operations Research,
UNED University,
Madrid,
1995.
-
Colaborador en
programación de previsiones con el
Departamento de Investigación Operativa,
UNED,
Madrid,
1995.
MAP y Fundación Ortega y Gasset
realización: 1995 | actualización: 15 de noviembre de 2010
Profesor de la asignatura «Conceptos fundamentales de informática»,
del Curso de Postgrado en Administración Pública,
del Ministerio para las Administraciones Públicas (MAP),
el Instituto Nacional de Administraciones Públicas (INAP) y
la Fundación Ortega y Gasset,
dos ediciones, Madrid, 1995 y 1996.
-
Teacher of
«Computer science concepts»,
Ministry of Public Administration &
Ortega y Gasset Foundation,
2 editions,
Madrid,
1995 & 1996.
-
Profesor de
«Conceptos fundamentales de informática»,
Ministerio para las Administraciones Públicas y
Fundación Ortega y Gasset,
2 ediciones,
Madrid,
1995 y 1996.
De BMP Windows a ICO Unix
realización: 24 de agosto de 1994 | actualización: septiembre de 2011
El programa de conversión de Bitmaps (BMP) de 16 bits de Windows
al formato ICO (de icono) de Unix
lo comenzó a desarrollar Juan Ramón Miraz, al comienzo de los noventa,
y la versión final que se adjunta en este post la terminé yo.
El formato ICO de Unix especifica un mapa de bits como una matriz de
caracteres ASCII,
donde cada letra se asocia con el color del pixel de su misma fila y columna.
Hubo una época que los bitmaps de los botones de los interfaces de usuario
yo lo pintaba así,
utilizando el editor vi de Unix y letra a letra.
Por ejemplo, asociaba
la v al verde, la b al blanco, la r al rojo, etc.,
para que me fuera más fácil,
e iba poniendo letras, una a una, hasta que el botón quedaba bien.
Para mi era una gratificante labor artesanal.
A partir de este programa también desarrollé el que convierte del formato
BMP al formato BIF, que era un formato propio mio, que
utilizaba en combinación con Clipper.
Aunque ahora se podrían recompilar estos dos códigos fuente
para las versiones de Windows de 64 bits,
sigo utilizando los ejecutables originales de 16 bits.
Antes estos ejecutables de 16 bits podían correr mediante emulación
en Windows de 32 bits,
pero ahora el Windows de 64 bits ya no emula al de 16 bits.
Para poder seguir ejecutando estas pequeñas joyas históricas,
sin necesidad de recompilarlas
(y más aun en aquellos casos en el que el compilador es también de 16 bits)
utilizo el emulador de x86 con DOS de
DOSBox
que se publica con licencia GNU GPL y aceptan donaciones
(yo se la di).
Aunque adjunto en PDF el código fuente completo de
los 2 programas de conversión y
un ejemplo del formato ICO generado con mi logotipo personal,
pongo a continuación el ciclo fundamental de extracción de pixels de
un Bitmap (BMP) de 16 colores.
Como curiosidad, en esta época,
por razones de normalización con el equipo de software con el que trabajaba,
los corchetes { } están en la vertical del bloque de código y
no dos caracteres antes como es mi costumbre habitual:
for (Y=0, YMax=Bmih.biHeight; Y < YMax; Y++)
{
fseek(Bmp, RowStart, SEEK_SET);
for (X=0, XMax=Bmih.biWidth; X < XMax; X++)
{
Arg = fgetc(Bmp);
H = (Arg >> 4) & 0x0F; H = Color[H];
L = Arg & 0x0F; L = Color[L];
X++;
fprintf(Pix,"%c%c",(char)H,(char)L);
}
RowStart -= RowBytes;
fprintf(Pix,"\n");
fputc('.',stdout); fflush(stdout);
}
Bmp2Ico, Bmp2Bif código fuente completo y ejemplo de icono ICO
Master de Ingeniería de Tráfico, DGT
realización: 1994 | actualización: 25 de enero de 2011
Profesor de la asignatura «Panorámica del hardware»,
en el Master de Ingeniería de Tráfico,
organizado por
la Asociación para la Carretera,
la Dirección General de Tráfico (DGT) y
la Universidad Politécnica de Madrid (UPM).
Impartido en la Escuela Universitaria de Ingeniería Técnica de Obras Públicas (UPM).
Participé las dos ediciones de 1994 y 1995.
-
Teacher of
«Hardware concepts»,
Master of Traffic Engineering,
Directorate-General for Traffic,
2 editions,
Madrid,
1994 & 1995.
-
Profesor de
«Panorámica del hardware»,
Master de Ingeniería de Tráfico,
Dirección General de Tráfico,
2 ediciones,
Madrid,
1994 y 1995.
Sistema Inteligente de Codificación
realización: 18 de septiembre de 1993 | actualización: 7 de diciembre de 2015
Este Sistema Inteligente de Codificación (SIC) estaba basado en un
primer prototipo de EQ Sistemas Inteligentes para el
Instituto Nacional de Estadística (INE) de
apoyo a la codificación automática de enfermedades
según el Código Internacional de Enfermedades (CIE).
Este hardcopy muestra la arquitectura interna de SIC,
que estaba basada en un esquema de pizarra.
A continuación se incluye la documentación de este sistema
inteligente de codificación,
que se ha dejado adrede tal y como se documentaba
al inicio de la década de los 90,
aunque, por supuesto, ya disponíamos de unos estupendos Macintoshs.
+--------------------------------------------------------------------+
| SIC: SISTEMA INTELIGENTE DE CODIFICACION. |
+--------------------------------------------------------------------+
| 1.- INTRODUCCION. |
+--------------------------------------------------------------------+
SIC es una aplicación de demostración, desarrollada por EQ Sistemas
Inteligentes. Su objetivo es presentar cómo puede realizarse una
codificación automática de literales a partir de una información que
puede ser parcial y/o errónea.
La tarea de codificación de SIC consiste en asignar códigos a
literales, aún cuando estos literales contengan errores, utilicen
sinónimos o no correspondan totalmente con los literales originales.
Para ello SIC cuenta con la siguiente información:
a) Uno o varios dicionarios con las palabras que se manejan en los
literales (un vocabulario básico del dominio de aplicación).
Sobre estos diccionarios SIC aplica diversos métodos de búsqueda
especializados en encontrar palabras a pesar de sus posibles
errores (de tecleo, ortografía, fallos en lecturas por medios
ópticos, por errores en transmisión, etc.). A estos métodos se
les denomina especialistas.
b) Un diccionario de sinónimos, que proporciona, para cada palabra,
uno o varios sinónimos dependiendo, como se verá, del modo de
trabajo de SIC.
c) La tabla original de codificación en la que a cada código se le
asocia un literal. Sobre ella SIC construye un diccionario
canónico (normalizado) que le permite manejar los literales con
independencia del contexto en el que trabaja la aplicación.
Esta versión de demostración de SIC proporciana tres funcionalidades
principales:
a) Validación de palabras durante la entrada de datos.
b) Codificación asistida, dado un literal se codifica y en caso de
dudas (cuando existen varias soluciones posibles) se consulta con
el usuario.
c) Codificación automática de conjuntos de literales.
A estas tres funcionalidades se accede a través de las tres primeras
opciones menú principal de la aplicación y son las tres consecuencia
de la arquitectura interna de SIC.
En el ejemplo escogido para esta demostración se utiliza una versión,
parcial, del Código Internacional de Enfermedades (CIE), realizado por
la Organización Mundial de la Salud (OMS). Esta codificación de
enfermedades se aplica para la codificación partes de defunción (cada
parte está formado por cuatro causas de muerte).
+--------------------------------------------------------------------+
| 2.- ARQUITECTURA. |
+--------------------------------------------------------------------+
SIC posee una arquitectura general, esto es, independiente del dominio
o área de aplicación. Por tanto aunque esta demostración se realice
para la codificación de enfermedades puede ser transportable a otras
áreas como, por ejemplo, la codificación postal (nombres de calles,
nombres de municipios, etc.), la codificación de productos a partir de
sus descripciones, la localización de títulos de libros, etc.
Frente casos complejos de codificación, diccionarios de gran volumen o
retricciones de tiempo, esta arquitectura general debe especializarse
(incluyéndole información sobre el dominio y el contexto en el que se
realiza la codificación) para que proporcione los rendimientos que se
requieran.
+------------------------------------------------------------------+
| +------++--------------++-----------------------------------+ |
| +--+---+ES|| ARQUITECTURA || DICCIONARIOS ORTOGRAFICOS (Dio) | |
| |PARTES|==|+--------------+|+-----+ +-----+ +-----+ +-----+| |
| |======|==| +-------+ ||DIO 1| |DIO 2|...|DIO i|...|DIO n|| |
| |======+--+ |PIZARRA| ||=====| |=====| |=====| |=====|| |
| +-+----+ +-+-+-+-+ |+--+--+ +--+--+ +--+--+ +--+--+| |
| +-+-----+ +>-+=|=|=|=+-+ |Ind#############################---+ |
| |FILTRO | | +-+-+-+-+ | | +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ | |
| +-+-----+ | |=|=|=|=| +>--+ |DIR| |INV| |BID| |FON| |ORT| | |
| +-+-----+ | +-+-+-+-+<+ | +---+ +---+ +---+ +---+ +---+ | |
| |SCANNER+-+ |=|=|=|=| +---+ CLASE DE LOS ESPECIALISTAS (Esp) | |
| +-------+ +-+-+-+-+ +-----------------------------------+ |
| +-------+ |=|=|=|=| +---------+ +-----+ +---+-------+ |
| |SINONIM+-<--+-+-+-+-+ +>--+GRAMATICA+->-+CANON+->-+COD|LITERAL| |
| | (Sin) +->--+=|=|=|=+-+ |CANONICA | |=====| |===|=======| |
| |=======| +-+-+-+-+ +---------+ +-----+ |===|=======| |
| |=======| |=|=|=|=+<--------S-O-L-U-C-I-O-N---<-+===|=======| |
| +-------+ +-+-+-+-+ +---+-------+ |
+------------------------------------------------------------------+
Figura: Arquitectura de SIC.
Pulsando la combinación de teclas [Alt-U], una vez dentro de la
aplicación SIC, puede accederse a un menú de utilidades una de cuyas
opciones es un semi-gráfico, con una versión simplificada de la
arquitectura interna de la aplicación SIC (ver figura anterior).
Esta arquitectura esta basada en un sencillo mecanismo de PIZARRA, con
un control semi-rígido. Sobre esta pizarra, los diferentes métodos
especialistas (DIRecto, INVerso, BIDireccional, FONético, etc.) en
localización de palabras apuntan sus resultados, decidiendo la pizarra
quién o quienes de ellos dan soluciones más verosímiles.
En líneas generales el funcionamiento de SIC es el siguiente (se ha
destacado en mayúscula, en cada punto, una palabra clave que permite
identificar la fase de proceso en la figura de la arquitectura):
a) En una primera fase los literales son filtrados eliminando
posibles caracteres extra¤os y transformados, bien a mayúsculas
o a minúsculas (FILTRO).
b) Posteriormente cada literal es procesado, separando las posibles
palabras (o tokens) que lo constituyen (SCANNER).
c) Cada palabra es buscada en los diccionarios por toda una familia
de especialistas. Dependiendo de si la palabra es directamente
correcta o de si tiene muchos errores este proceso se demorará
más o menos. La PIZARRA controla este proceso y su resultado es
una gama de posibles literales, constituidos por variantes de
palabras. En la decisión sobre que variantes de palabras se
eligen influyen las opiniones, coincidentes o discrepantes, de
los diferentes especialistas y la importancia relativa de cada
uno de ellos.
d) La gama de posibles literales es procesada con el diccionario de
SINONIMOS, sustituyéndose cada palabra por su sinónimo o
sinónimos principales. Dependiendo de si para cada palabra
existen uno o varios sinónimos, la gama de literales originales
puede simplificarse o complicarse.
e) Cada literal, resultado de la fase anterior es normalizado según
una forma CANONICA, ello facilita su confrontación con la tabla
original de codificación.
f) Finalmente, cada literal canónico (CANON) es confrontado con una
versión canónica de la tabla de codificación. Devolviéndose los
resultados a la pizarra.
g) Cuando la pizarra dispone de todas las posibles variantes
(SOLUCIONES) de codificación decide:
=) bien cual de ellas es la correcta,
=) bien que no dispone de criterios suficientes para discernir
entre varias (en este caso y en codificación asistida se pide
ayuda al usuario) o
=) bien que ninguna de las soluciones propuestas es
suficientemente válida.
+--------------------------------------------------------------------+
| 3.- CONFIGURACION. |
+--------------------------------------------------------------------+
Desde el mismo menú anterior ([Alt-U]) se puede acceder a una ventana
de configuración de esta versión de SIC, cuyas opciones son:
a) Test en partes (S/N): Que permite decir si se desea o no realizar
una verificación de palabras durante la entrada de datos.
b) Control de pizarra (S/N): Si se pone a "S" esta versión de SIC
muestra, en cada paso de codificación, sus resultados
intermedios. Ello permite entender su funcionamiento interno.
c) Modo de funcionamiento respecto a los sinónimos. SIC posee 2
modos de trabajo (no modificable):
=) Relación Palabras N:1 Principal (Sinónimos sencillos).
=) Relación Palabras N:M Principal (Sinónimos complejos).
Esto es:
=) Si se dá el caso que en cada familia de sinónimos, todos
con el mismo significado, puede escogerse, siempre, una sóla
palabra principal representante de todos (relación N:1).
=) O si por el contrario, una palabra puede tener varios
sinónimos, con diferentes significados, dependiendo del
contexto en el que se utilice (relación N:M).
El diccionario de sinónimos de esta versión de SIC pertenecen a
al segundo caso.
d) Sonido (en décimas de segundo): Si se pone un entero superior a
cero SIC generará un pitido en cada fase de codificación.
Permite, por tanto, controlar, de forma aproximada, la duración
de las diferentes fases de codificación.
e) Filtros de palabras y de códigos que facilitan a SIC la taréa de
aceptar o rechazar palabras parecidas o códigos parecidos. El
comportamiento de SIC es muy dependiente de estos dos parámetros.
=) Valores muy altos, cercanos a la unidad, harán que SIC tenga
un comportamiento muy estricto, dando gran seguridad a su
codificación, pero por el contrario rechazando algunos
literales por pocas de diferencias.
=) Valores muy bajos, cercanos al cero, harán que SIC tenga un
comportamiento muy flexible, encontrando posibles soluciones
para casi todo, pero generando, a menudo, excesivas variantes.
Dependiendo del contexto de aplicación y de las restricciones que
deban cumplirse deberán ajustarse dichos parámetros. Por
ejemplo, en un mismo dominio, para la verificación en entrada
debe utilizarse un filtro de palabras más bajo que el que se
utilizaría para la codificación asistida.
+--------------------------------------------------------------------+
| 4.- INSTALACION Y ARRANQUE. |
+--------------------------------------------------------------------+
Cree un subdirectorio en su disco duro, por ejemplo, de nombre SIC.
C:\> MKDIR SIC
Copie el contenido del disco de distribución en el subdirectorio
subdirectorio anterior.
C:\> COPY A:*.* SIC
Ejecute el fichero SICDemo.Bat.
C:\> CD SIC
C:\> SICDEMO
Todo ello puede realizarse, directamente con el programa Instala.Bat
C:\> A:INSTALAR A: C:
SIC puede ejecutarse directamente sobre el disco flexible de
distribución, pero los tiempos de respuesta pueden ser desesperantes.
Si en el momento de ejecución de SIC y tras pulsar el [Intro]
correspondiente, pulsa la tecla [Del] (Suprimir) entra en un menú de
autoconfiguración del interfaz de usuario de la aplicación SIC. Desde
este menú se puede modificar algunas de las caracteristicas del
interfaz de usuario de SIC.
De este menú se sale con la tecla escape [Esc]. Si algunas de las
opciones de este menú le da errores, NO SE PREOCUPE, está buscando
Pixmaps o configuraciones del entorno de desarrollo McEQ sobre el que
está construido SIC y que no se distribuyen junto a él.
+--------------------------------------------------------------------+
| 5.- CONTACTO. |
+--------------------------------------------------------------------+
Para cualquier cuestión o consulta no dude en ponerse en contacto con
nosotros:
EQ Sistemas Inteligentes
+--------------------------------------------------------------------+
| GRACIAS POR SU ATENCION. |
+--------------------------------------------------------------------+
Herramienta TIRS, IBM
realización: 1993 | actualización: 10 de octubre de 2010
Profesor del curso «Desarrollo de sistemas basados en el conocimiento con la herramienta TIRS».
Dos ediciones,
la primera para El Corte Inglés y
la segunda para el Instituto Nacional de Estadística (INE).
-
Teacher of
«IBM Tirs Tool»,
National Statistics Institute &
El Corte Ingles,
2 editions,
Madrid,
1993.
-
Profesor de
«Herramienta Tirs de IBM»,
Instituto Nacional de Estadística &
El Corte Inglés,
2 ediciones,
Madrid,
1993.
Sigart Bulletin, ACM Press
realización: 1993 | actualización: 15 de noviembre de 2010
Referencia de mi tesis doctoral en
el número 1, del volumen 4, de la revista Sigart Bulletin,
de ACM Press.
Edición al cuidado de W. Lewis Johnson, USC, Information Sciences Institute, California, USA.
-
Doctoral thesis referenced in the
«Sigart Bulletin»,
volume 4,
issue 1,
ACM Press,
Information Sciences Institute,
California,
January of 1993.
-
Tesis doctoral referenciada en el
«Sigart Bulletin»,
volumen 4,
número 1,
ACM Press,
Information Sciences Institute,
California,
enero de 1993.
Equiparación de perfiles de personalidad
realización: 18 de noviembre de 1992 | actualización: 20 de diciembre de 2010
Colaborador del trabajo
«PCCP: Una aplicación de la ingeniería del conocimiento para
la evaluación de cuestionarios de personalidad de las Fuerzas Armadas»,
bajo la dirección de Miguel Ángel Núñez del
Centro Regional de Psicología (CREPSI)
durante mi servicio militar
(este fue uno de los trabajos que realicé dentro de las áreas
de las aplicaciones a la psicología militar y
de la captura óptica de datos).
Este trabajo galardonado con
el 2º Premio de Investigación en Psicología Militar «General González del Pino»,
del Ministerio de Defensa en 1992
(BOE número 282, del martes 24 noviembre 1992,
Resolución 421/39369/1992, de 18 de noviembre, de la Secretaria de Estado de Administración Militar,
por la que se otorga el Premio de Investigación Psicológica «General González del Pino»).
Resumen:
Para dicha aplicación desarrollé el módulo de equiparación de patrones
de perfiles de personalidad de los individuos a evaluar
con los individuos ya evaluados y clasificados en un banco de datos histórico.
Los nuevos individuos podían entrar a formar parte de este banco de datos
tras su evaluación, clasificación y seguimiento,
con lo que se producía un enriquecimiento constante del banco de datos inicial.
La equiparación se realizaba a través de la definición de una medida de distancia
entre todos los atributos de la personalidad que medía la aplicación y
los de los individuos registrados en el banco de datos.
Para optar al premio, también participé en la redacción de la parte de
la memoria correspondiente a este módulo de equiparación de perfiles de personalidad.
-
Collaborator of
Miguel Angel Núñez,
«Application of the knowledge engineering for the evaluation of personality questionnaires»,
Awarded with the second prize in military psychology research,
Ministry of Defence,
Madrid,
1992.
-
Colaborador de
Miguel Ángel Núñez,
«Aplicación de la ingeniería del conocimiento para la evaluación de cuestionarios de personalidad»,
Galardonado con el 2º premio en investigación en psicología militar,
Ministerio de Defensa,
Madrid,
1992.
Ver la publicación en el BOE de noviembre de 1992 en PDF
PhD, Inteligencia Artificial, UPM
realización: 1992 | actualización: 20 de abril de 2011
-
Doctor Cum Laude in
Artificial Intelligence,
Technical University of Madrid,
thesis advisor José Cuena,
2+3 years,
1986-1988,
1989-1992.
-
Doctor Cum Laude en
Inteligencia Artificial,
Universidad Politécnica de Madrid,
director de la tesis José Cuena,
2+3 años,
1986-1988,
1989-1992.
Mi tesis en
Teseo
Cuerpo Superior de Técnicos en TI
realización: 1992 | actualización: 20 de agosto de 2011
Temario de la oposición al Cuerpo Superior de Técnicos en Tecnologías de la Información.
Inicialmente se hizo un sólo tema coordinado por Francisco López Crespo,
luego se ampliaron a cuatro temas (coordinados por mí) y,
a partir de ahí,
el contenido de estos módulos fue reutilizado por los organismos
encargados del temario de forma independiente a los autores iniciales.
Estos autores iniciales fueron, por orden alfabético:
Manuel Alonso González,
María Jesús Díaz García,
Ana García Serrano,
Martín Molina González,
Eduardo Izquierdo Lázaro,
Sascha Ossowski y
Antonio Salmerón.
Tengo conocimiento de, al menos, cuatro ediciones,
cuya historia describo a continuación,
aunque es posible que haya habido muchas más.
Cuatro ediciones:
-
Coautor del
tema 15,
Inteligencia Artificial y Sistemas Expertos,
coordinado por Francisco López Crespo,
Ministerio para las Administraciones Públicas (MAP),
Madrid 1992.
-
Coautor y coordinador técnico de los
temas 24, 25, 26 y 27 del nuevo temario de 1996,
también para el Ministerio para las Administraciones Públicas (MAP).
-
En la edición de 2002, los temas anteriores, se volvieron a editar
con los números 19, 20, 21 y 22,
siguiendo el orden de la convocatoria del Boletín Oficial del Estado (BOE) 215 de 2002/09/07,
en una edición que corrió a cargo de la
Asociación Profesional del Cuerpo Superior de Sistemas y Tecnologías de la Información de la Administración del Estado (ASTIC).
-
Finalmente en 2009, esto temas, se refundieron en el tema 65,
«Gestión del conocimiento: Representación del conocimiento. Sistemas expertos. Herramientas»,
del segundo volumen de la edición de ASTIC.
-
Coauthor and technical coordinator of
«Modules of artificial intelligence & experts systems»,
Ministry of Public Administration,
4 editions,
Madrid,
1992, 1996, 2002 & 2009.
-
Coautor y coordinador técnico de
«Módulos de inteligencia artificial y sistemas expertos»,
Ministerio para las Administraciones Públicas,
4 ediciones,
Madrid,
1992, 1996, 2002 y 2009.
Ver el apartado de restricciones del temario de la oposición
Arquitecturas de 2ª generación de diagnóstico
realización: 1992 | actualización: 15 de noviembre de 2010
Ponencia titulada
«Arquitecturas de segunda generación para el diagnóstico profundo en instalaciones industriales»,
dentro del curso sobre Técnicas Avanzadas de la Inteligencia Artificial,
de la Universidad de Extremadura (UNEX) en 1992.
Pertenece al conjunto de ponencias realizadas ya cerca, y en el marco, de la presentación
de mi tesis doctoral. Cada ponencia representaba un paso adelante en el refino de las
ideas de la tesis.
-
Speaker on
«2nd generation architectures for the deep diagnosis in industrial plants»,
Universidad de Extremadura,
Caceres,
1992.
-
Ponente en
«Arquitecturas de 2ª generación para el diagnóstico profundo en instalaciones industriales»,
Universidad de Extremadura,
Cáceres,
1992.
Centro Superior de Investigaciones Científicas
realización: 24 de octubre de 1991 | actualización: 20 de agosto de 2011
Presentación científica titulada
«Arquitecturas de segunda generación para el diagnóstico profundo en instalaciones industriales»,
realizada en el Centro Superior de Investigaciones Científicas (CSIC),
en Madrid el 24 de octubre de 1991,
en la IV Reunión Técnica de la Asociación Española Para la Inteligencia Artificial (AEPIA).
El artículo, escrito con mi director de tesis José Cuena,
que da soporte a esta presentación científica está publicado
en las Actas de la IV Reunión Técnica de la AEPIA,
en la sección IV de «Arquitecturas Avanzadas»,
de las páginas 351 a 365.
Es una de las presentaciones de la que guardo más grato recuerdo,
tal vez por el entorno del salón de actos del CSIC,
por la presencia de mi director de tesis José Cuena
(que fue Presidente AEPIA de 1983 a este año 1991) y
por la de Felisa Verdejo
(directora del Departamento de Lenguajes y Sistemas Informáticos de la UNED y
del grupo de investigación Procesamiento del Lenguaje Natural),
sentada junto a él y que luego formaría parte de mi tribunal de tesis.
El mosaico de la portada de las Actas,
que combina en verdes el logotipo de la AEPIA,
y su versión en grises del Programa de mano de la reunión es
una creación mía realizada con un Apple Macintosh.
Este mosaico también fue utilizado para
la V Conferencia de la AEPIA en 1993 pero en naranjas.
-
Coauthor of
«2nd generation architectures for the deep diagnosis in industrial plants»,
Papers of the 4th Technical Meeting of the AEPIA,
Scientific Research Council,
Madrid,
1991.
-
Coautor de
«Arquitecturas de 2ª generación para el diagnóstico profundo en instalaciones industriales»,
Actas de la IV Reunión Técnica de la AEPIA,
Centro Superior de Investigaciones Científicas,
Madrid,
1991.
Representación en restricciones
realización: 2 de octubre de 1991 | actualización: 25 de enero de 2011
Ponente de la conferencia titulada
«Representación en restricciones de conocimiento profundo sobre instalaciones industriales»,
centrada en la «Programación con restricciones».
La ponencia está basada en artículo del mismo nombre,
escrito con José Cuena,
que se publicó en las actas de las jornadas de Programación Declarativa,
Universidad de Málaga,
Málaga, celebrada del 2 al 4 de octubre de 1991.
-
Coauthor of
«Constraint programming»,
Papers of the Declarative Programming Symposium,
Malaga University,
Malaga,
October of 1991.
-
Coautor de
«Programación con restricciones»,
Actas de las Jornadas de Programación Declarativa,
Universidad de Málaga,
Málaga,
octubre de 1991.
Limites para la definicion de una inteligencia artificial
realización: 1991 | actualización: 27 de enero de 2024
Capítulo 13 del temario del curso de
«Sistemas expertos en la empresa»
impartido durante 5 ediciones de 1991 a 1995.
Escribí varios capítulos de este temario y a este,
el más corto con diferencia,
le he tenido siempre especial cariño.
Este capítulo analiza los límites de la inteligencia artificial (IA)
en el contexto del procesamiento de información.
Tras una revisión de los sistemas cognitivos en los capítulos anteriores,
surge la pregunta:
¿Hasta dónde puede avanzar la IA y cuáles son las fronteras de las soluciones que ofrece?
En el ámbito de la ingeniería del software,
los límites de la inteligencia artificial están intrínsecamente vinculados a
los de la propia ingeniería.
Este capítulo aborda cómo la IA,
en su esfuerzo por servir y resolver problemas humanos,
adopta y adapta los esquemas de razonamiento humano, y
explora también el potencial de incorporar esquemas de otras inteligencias,
como la de la naturaleza, ejemplificada en los algoritmos genéticos.
En este capítulo se establecían 3 límites, que afectan
a la Inteligencia Artificial,
al software,
a las máquinas de proceso de la información y, por supuesto,
a los humanos.
A estos 3 límites se les denomina:
-
Límite de lo universal.
-
Límite de lo humano.
-
Límite de lo físico.
Ver el capítulo 13
EQ Sistemas Inteligentes, fundación y clientes
realización: 1991 | actualización: 21 de septiembre de 2012
Miembro fundador de EQ Sistemas Inteligentes, S.L., 1991-95,
empresa del área de la inteligencia artifical y
del proceso avanzado de la información.
De entre los proyectos que desarrollamos en EQ Sistemas Inteligentes
se podrían destacar:
-
Sistema experto de ayuda a la explotación para el Banco de España.
-
Elaboración del modelo informativo de Productos Bituminosos SA, PROBISA.
-
Sistema de planificación automática de rutas para obras para el Metro de
Madrid.
-
Sistema de apoyo a la
codificación automática de enfermedades,
según el Código Internacional de Enfermedades,
para el Instituto Nacional de Estadística INE.
-
Sistema de soporte a la presupuestación jerárquina
para el Schindler Group.
-
Sistema de información sobre las posibilidades de construcción de un
enlace fijo por el Estrecho de Gibraltar para
la Sociedad Española de Estudios para la Comunicación Fija a través del
Estrecho de Gibraltar SA, SECEGSA.
Además de otros servicios, cursos de formación y proyectos para entidades
y empresas como la Comunidad de Madrid, Alcaltel o El Corte Inglés.
-
From 1991 (startup of the company) to 1995:
Specialized in the development of knowledge-based systems for clients such as
Alcatel,
National Bank of Spain,
National Statistics Institute,
Madrid Underground Transport,
El Corte Inglés,
Schindler,
PROBISA,
etc.
-
Desde su creación en 1991 a 1995:
Empresa especializada en el desarrollo de sistemas basados en el conocimiento
con clientes como
Alcatel,
Banco de España,
INE (Instituto Nacional de Estadística),
Metro de Madrid,
El Corte Inglés,
Schindler,
PROBISA,
etc.
EQ Sistemas Inteligentes, entorno software
realización: 1991 | actualización: 21 de septiembre de 2012
Este hardcopy, capturado en 2015, muestra la pantalla de entrada de
una aplicación de agenda comercial,
que se desarrolló en 1993 por EQ Sistemas Inteligentes gracias a
un entorno propio de desarrollo denominado McEQ,
basado en Clipper y dBase.
Lo que realmente muestra la imagen del hardcopy es
una aplicación de 16 bits de 1993,
ejecutándose en 2015 sobre un computador de 64 bits,
con sistema operativo Linux Mint,
sobre el que VMWare virtualiza una máquina Windows 7 ultimate,
sobre la que corre un DOSBox version 0.74 que
emula DOS de Microsoft de 32 bits,
que todavía era capaz de ejecutar aplicaciones de 16 bits.
-
Developement environment:
Operating systems: HP-UX and Windows;
Databases: dBase, Oracle and Informix;
Languages: Clipper, C with OSF/Motif and DeCon (knowledge declaration).
-
Entorno software:
Sistemas operativos: HP-UX y Windows;
Bases de datos: dBase, Oracle e Informix;
Lenguajes: Clipper, C y OSF/Motif y DeCon (declaración del conocimiento).
Sistemas expertos en la empresa
realización: 1991 | actualización: 25 de enero de 2011
Profesor y coordinador técnico master de «Sistemas expertos en la empresa»,
impartido durante 5 ediciones de 620 horas cada una.
Organizado por la Comunidad Autónoma de Madrid, Consejería de Educación, Instituto Madrileño de Formación (IMAF).
Fue impartido primero en
la Universidad Carlos III de Leganés, curso 1990-91.
Posteriormente en
el Centro de Enseñanza de las Tecnologías de la Información (CETICAM) de Carabanchel, cursos 1991-1992, 1992-1993, 1993-1994 y 1994-1995.
Fui profesor de las asignaturas
Conceptos básicos de informática,
Conceptos fundamentales de Inteligencia Artificial,
Diseño y construcción de sistemas expertos.
Profesor de los laboratorios de lenguaje C, lenguaje Lisp, lenguaje Clipper y de proyectos de fin de master.
En los tres últimas ediciones fui coordinador técnico del master.
-
Technical coordinator & teacher of
«Master in commercial expert systems»,
IMAF,
Community of Madrid,
5 annual editions of 620 hours each,
Madrid,
1991-1995.
-
Coordinador técnico y profesor de
«Sistemas expertos en la empresa»,
IMAF,
Comunidad de Madrid,
5 ediciones anuales de 620 horas,
Madrid,
1991-1995.
Referencia en The 1991 AI Directory
realización: 1991 | actualización: 20 de agosto de 2011
Referenciado en «The 1991 AI Directory: The Directory of the Artificial Intelligence Industry»,
en la página 69,
directorio editado por
American Association for Artificial Intelligence (AAAI, Menlo Park, California),
Association for Computing Machinery Special Interest Group on Artificial Intelligence (ACM-SIGART),
Canadian Society for Computational Studies of Intelligence (CSCSI) y
Sociedad Mexicana de Inteligencia Artificial (SMIA)
en 1991.
-
Referenced in
«The 1991 AI Directory: The Directory of the Artificial Intelligence Industry»,
page 69,
AAAI, ACM-SIGART, CSCSI y SMIA,
California,
1991.
-
Referenciado en
«El Directorio de la IA, 1991: El Directorio de la Industria de la Inteligencia Artificial»,
página 69,
AAAI, ACM-SIGART, CSCSI y SMIA,
California,
1991.
IA y sistemas basados en el conocimiento
realización: 1991 | actualización: 15 de noviembre de 2010
Conferencia titulada
«Inteligencia artificial y sistemas basados en el conocimiento»,
en la Facultad de Ciencias Físicas y Matemáticas de la Universidad Complutense
de Madrid.
-
Lecturer in
«Artificial intelligence & knowledge based systems»,
Complutense University,
Madrid,
1991.
-
Conferenciante en
«Inteligencia artificial y sistemas basados en el conocimiento»,
Universidad Complutense,
Madrid,
1991.
Servicio militar en psicología
realización: 18 de julio de 1990 | actualización: 10 de octubre de 2010
Disfruté del servicio militar en el Centro de Psicología (CREPSI)
de la Capitanía General de la Región Militar Centro, en Madrid,
del año 1989 al año 90.
Tuve la suerte de poder colaborar
en la organización informática del gabinete de selección y lectura óptica de datos (OMR, Optical Mark Reading ~ Optical Mark Recognition)
en el diseño de las librerías básicas de desarrollo de aplicaciones de selección y psicología y
en el desarrollo de un sistema de ayuda al diagnóstico de trastornos de la personalidad basado en el conocimiento.
-
Developer of
systems for electronic capture (OMR, Optical Mark Reader) and
reporting and diagnostic for a military psychology centre,
Ministry of Defence
Madrid,
1989-1990.
-
Desarrollador de
sistemas de captura electrónica (OMR, lectura óptica de marcas) y
de generación de informes y diagnósticos para un centro de psicología militar,
Ministerio de Defensa,
Madrid,
1989-1990.
Modelling of industrial problems, INCOM’89
realización: 1989 | actualización: 10 de octubre de 2010
En 1989 escribí el artículo
«A knowledge based environment for artificial intelligence modelling of industrial problems: Preliminary concepts»,
bajo la dirección de José Cuena,
que se publicó en Preprints of the 6th Symposium on Information Control Problem in Manufacturing Technology (INCOM’89)
de la International Federation of Automatic Control (IFAC).
Esta fue una de las primeras veces que tuve que presentar un artículo
en una conferencia internacional.
Al llegar la hora de la inscripción me pidieron pagar la entrada al curso.
Era incapaz de comprenderlo,
expliqué una y otra vez que iba de ponente, no de asistente,
yo no concebía que además de que no me pagaran por hablar tuviera que pagar por asistir.
Armé tal lío que tuvo que llegar mi tutor José Cuena a pagar mi entrada y
hacerme pasar, pues llegaba tarde a mi ponencia.
Han pasado los años y sigo creyendo que
si lo que vas a contar tiene contenido hay que negarse a pagar
y si no tiene contenido entonces ni hay que hablar.
-
Coauthor of
«A knowledge based environment for artificial intelligence modelling of industrial problems: Preliminary concepts»,
INCOM’89,
IFAC,
Madrid,
1989.
-
Coautor de
«Un entorno basado en el conocimiento para la modelización con IA de problemas industriales: Conceptos preliminares»,
INCOM’89,
IFAC,
Madrid,
1989.
Herramienta Guru, IBM
realización: 1989 | actualización: 15 de noviembre de 2010
Profesor de la «Herramienta Guru»
en el Curso de Formación Continua
«Sistemas Expertos, Conceptos, técnicas y métodos básicos»,
de la Escuela Universitaria de Informática
de la Universidad Politécnica de Madrid
en 1989.
Guru era una herramienta desarrollada por IBM
para la construcción de sistemas expertos.
-
Teacher of
«IBM Guru tool»,
University School of Computer Science,
Technical University,
Madrid,
1989.
-
Profesor de
«Herramienta Guru de IBM»,
Escuela Universitaria de Informática,
Universidad Politécnica,
Madrid,
1989.
Reasoning over the behaviour of physical systems
realización: 1989 | actualización: 20 de agosto de 2011
Autor del artículo
«Reasoning over the behaviour of physical systems»,
en Civil Engineering Expert Systems,
Civil Engineering European Cursus,
Programa COMET,
Madrid, 1989.
Fui sólo el autor del artículo,
porque no pude asistir a la conferencia como ponente y
lo tuvo que presentar por mí Manuel Alonso,
compañero en el Laboratorio de Inteligencia Artificial y
luego en EQ Sistemas Inteligentes.
-
Author of
«Reasoning over the behaviour of physical systems»,
Civil Engineering Expert Systems,
Civil Engineering European Cursus,
Madrid,
1989.
-
Autor de
«Razonamiento sobre el comportamiento de sistemas físicos»,
Sistemas Expertos en Ingeniería Civil,
Curso Europeo de Ingeniería Civil,
Madrid,
1989.
Diagnóstico profundo y simulación cualitativa
realización: 1988 | actualización: 2 de mayo de 2011
-
Researcher in
deep diagnosis and qualitative risk simulation
for Repsol (petro-chemical industry),
Tarragona,
1988-1989.
-
Investigador en
diagnóstico profundo y simulación cualitativa de riesgos
para Repsol (sector pretro-químico),
Tarragona,
1988-1989.
Optimización de queries a bases de datos
realización: 1988 | actualización: 25 de enero de 2011
Publicación del artículo titulado
«Optimizadores: Mejorar el acceso a los datos»,
en la revista Chip, número 76, páginas 37-47, Ediciones Arcadia,
Madrid, 1988.
Artículo escrito con y bajo la dirección de Adoración de Miguel Castaño,
por entonces mi profesora de bases de datos y modelos de datos.
Los ejemplos para ilustrar la lógica de la optimización estaban
programados en Prolog.
-
Coauthor of
«Database query optimization»,
Chip Magazine, number 76, pages 37-47, Arcadia Editions,
Madrid,
1988.
-
Coautor de
«Optimizadores: Mejorar el acceso a los datos»,
Revista Chip, número 76, páginas 37-47, Ediciones Arcadia,
Madrid,
1988.
Sistema de Ayuda Inteligente al Diseño
realización: septiembre de 1987 | actualización: 10 de octubre de 2010
Coautor con José Cuena de «Sistema de ayuda inteligente al diseño»,
publicado en Contributes Papers of the International Conference on Artificial Intelligence,
II World Basque Congress,
que se celebró en San Sebastián del 31 de agosto al 22 de octubre de 1987.
Allí expuse el sistema de ayuda al diseño de estructuras creado en mi proyecto de fin de carrera.
Cuando escribí mi proyecto no disponía de un buen procesador de textos
(WordPerfect 1.0 empezó a popularizarse hacia finales de los ochenta y yo no lo tenía),
por lo que para poder hacer la memoria del proyecto tuve que construirme
mi propio procesador de textos (del que yo fui su único usuario) junto con
un módulo gráfico para que el Sistema de Ayuda Inteligente al Diseño
pudiera imprimir gráficamente las estructuras que él creaba.
Años después, me plantee que dicho procesador de textos y el módulo gráfico de impresión,
valían, como proyecto de fin de carrera, mucho más que el propio proyecto presentado.
Sin embargo, este artículo ya estaba escrito con el procesador de textos de un Apple Macintosh.
-
Coauthor of
«Intelligent computer-aided design»,
Contributes Papers of the International Conference on Artificial Intelligence,
II World Basque Congress,
Donosti,
September of 1987.
-
Coautor de
«Sistema de ayuda inteligente al diseño»,
Documentos de la Conferencia Internacional en Inteligencia Artificial,
2º Congreso Mundial Vasco,
San Sebastián,
septiembre de 1987.
Licenciado en informática, UPM
realización: 1987 | actualización: 17 de octubre de 2015
Comencé estos estudios en septiembre de 1981,
terminé los 5 cursos en junio de 1986 y
presenté el proyecto de fin de carrera en 1987.
Mi forma de recordar lo que cursé cada año es
gracias a la coincidencia entre el curso y
las unidades de la década de los 80, estos es,
en 1981 entré en 1º de carrera,
en 1982 pasé a 2º,
en 1983 inicié 3º,
en 1984 comencé 4º y, finalmente,
en 1985 llegué a 5º que era el último curso de la carrera.
Durante esos 5 años cursé las siguientes materias:
-
Primer curso, 1981-1982:
Álgebra Lineal,
Cálculo Infinitesimal,
Física,
Química y
Dibujo Técnico.
También cursé y aprobé
Inglés I que era de 3º de carrera e
Inglés II que era de 4º de carrera,
por lo que al llegar al verano podía afirmar que
no sólo había aprobado todo 1º sino que además una de 3º y otra de 4º.
-
Segundo curso, 1982-1983:
Análisis Matemático,
Teoría de Circuitos y Electrónica Básica,
Programación,
Lógica Formal e
Informática Básica.
-
Tercer curso, 1983-1984:
Análisis Numérico,
Circuitos Lógicos Electrónicos,
Informática Teórica,
Probabilidades y Estadística,
Investigación Operativa I y
Teoría de Sistemas.
También había en 3º una asignatura llamada Inglés I que cursé en 1º.
-
Cuarto curso, 1984-1985:
Centros de Proceso de Datos,
Traductores e Intérpretes,
Inteligencia Artificial y Reconocimiento de Formas,
Arquitectura de Ordenadores,
Investigación Operativa II y
Sistemas de Información I.
También había en 4º una asignatura llamada Inglés II que cursé en 1º.
-
Quinto curso, 1985-1986:
Teleinformática,
Computadores Analógicos e Híbridos,
Sistemas Operativos,
Bases de Datos,
Economía y Organización de Empresas y
Sistemas de Información II.
Con 3 notables, 1 sobresaliente y 2 matrículas de honor,
5º fue mi mejor curso,
porque había ido aprendiendo, año a año, cómo se cursa una carrera.
Tras terminar los 5 años de estudios comencé a trabajar y, en paralelo,
realicé mi proyecto de fin de carrera que presenté en 1987 y
que fue calificado con un 10 por su tribunal.
En octubre de 2015, revisando y actualizando este post,
me llevé la sopresa, al incluir la imagen que lo acompaña,
que la calificación de este proyecto de fin de carrera había sido un 10,
pues durante años lo que recordaba era que había sido un 9.
Como puede verse en el enlace con el que finaliza este post,
la antigua Facultad de Informática de la UPM, en la que estudié,
se llama ahora Escuela Técnica Superior de Ingenieros Informáticos.
Sin embargo, sigue conservando sus siglas originales en el subdominio
de la Universidad Politécnica de Madrid
fi.upm.es.
-
Software engineer,
Computer Science School,
Technical University,
Madrid,
5+1 years,
1981-1986, and 1987.
-
Licenciado en Informática,
Facultad de Informática,
Universidad Politécnica,
Madrid,
5+1 años,
1981-1986 y 1987.
Escuela Técnica Superior de
Ingenieros Informáticos de la UPM
Instrumentación de la Inteligencia Artificial: PROLOG II
realización: agosto de 1986 | actualización: 25 de noviembre de 2023
-
Coauthor of
«Instrumentation of Artificial Intelligence: PROLOG II»,
AEPIA technical meeting,
Madrid,
December of 1985,
AEPIA Bulletin,
Spring-Summer 1986,
Madrid, 1986.
-
Coautor de
«Instrumentación de la Inteligencia Artificial: PROLOG II»,
Reunión técnica de la AEPIA,
Madrid,
diciembre de 1985,
Boletín de la AEPIA,
Primavera-Verano 1986,
Madrid, 1986
Diseño y fabricación asistida por computador
realización: julio de 1986 | actualización: 2 de mayo de 2011
Como administrador
del centro de diseño y manufacturación asistida por ordenador (CAD/CAM)
del Departamento de Investigación y Desarrollo de AMPER, S.A.,
durante 18 meses me encargué
de la organización del centro y
la definición de sus procesos y procedimientos,
de la creación y administración de la base de datos gráfica de
componentes electrónicos y
del desarrollo de las aplicaciones para su consulta distribuida y
de la implantación y automatización de los proceso para fabricación,
incluyendo
el trazado fotográfico,
el taladrado industrial,
el corte de placas,
la inserción automática de componentes electrónicos, etc.
Entre otros muchos,
desarrolle un programa que, a su vez, creaba
programas de taladrado para taladradoras TRUDRIL,
estos programas de taladrado se escribían en cinta de papel perforado,
6 bits por línea, unos y ceros, perforado o no perforado.
Antes de enviarlas a fábrica, me sentaba en un taburete, y
me leía estas cintas con todas sus líneas de perforaciones completamente,
comprobando que eran correctas y que el programa creado automáticamente
tenía sentido.
Esta pudo ser una de mis primeras incursiones en la metaprogramación.
-
Manager of the
Computer-aided Design and Manufacturing Group
in Amper (electronic industry),
Madrid,
1986-1987.
-
Administrador del
Centro de Diseño y fabricación asistida por computador
en Amper (sector de la electrónica),
Madrid,
1986-1987.
Tesis de Francisco Javier Gisbert Cantó
realización: 1986 | actualización: 15 de noviembre de 2010
Francisco Javier Gisbert Cantó es (2011)
Vicedecano Secretario de la Facultad de Informática
de la Universidad Politécnica de Madrid (UPM).
Presentó su tesis doctoral titulada
«Contribución para una nueva generación de sistemas de diseño asistido por computador basados en inteligencia artificial»
en 1986.
Con Ana García Serrano y Rafael María Gosálbez
colaboré en esta tesis que dirigió mi director José Cuena.
-
Cited by
Francisco Javier Gisbert
as collaborator
in his doctoral thesis about «Intelligent computer-aided design systems»,
page V,
Technical University,
Madrid,
1986.
-
Citado por
Francisco Javier Gisbert
como colaborador
en su tesis doctoral sobre «Sistemas de ayuda inteligente al diseño»,
página V,
Universidad Politécnica,
Madrid,
1986.
Ver la tesis en PDF en el archivo digital de la UPM
Lenguaje Prolog, AEPIA
realización: 1985 | actualización: 20 de diciembre de 2010
Jesús García San Luis y yo colaboramos con
nuestra tutora Ana María García Serrano
en la preparación y presentación de la ponencia denominada «Prolog II»
en las Jornadas de Inteligencia Artificial de
la Asociación Española Para la Inteligencia Artificial (AEPIA),
que se celebró en 1985,
en el Rectorado de la Universidad Politécnica de Madrid (UPM).
Ana María García Serrano es (2008)
profesora asociada del Departamento de Inteligencia Artificial de la Facultad de Informática de la UPM y
Jesús García San Luis es (2008)
Director de Exploración y Producción I+D de Repsol.
El Rectorado de la UPM está en la calle Ramiro de Maeztu,
en la Ciudad Universitaria,
allí también pasé ese verano trabajando como becario,
donde disponía de una máquina Digital Vax,
a veces para mí solo,
cuando en la Facultad,
en los inviernos anteriores,
había que hacer largas colas a primera hora de la mañana
para conseguir sólo un poco de tiempo en otro Digital Vax de menor potencia.
-
Coauthor of
«Prolog II language»,
Artificial Intelligence Symposium,
AEPIA,
Madrid,
1985.
-
Coautor de
«Lenguaje Prolog II»,
Jornadas de Inteligencia Artificial,
AEPIA,
Madrid,
1985.
Riesgos de crédito para el Banco de Santander
realización: 1985 | actualización: 15 de noviembre de 2010
Como becario trabaje
en el desarrollo en Prolog II de un sistema experto de la clase MYCIN
para la evaluación del riesgos de crédito para el Banco de Santander,
en el área de créditos a empresas.
La beca estaba dentro del marco de colaboración entre el Banco de Santander
y el grupo de investigación creado por José Cuena
en la Universidad Politécnica de Madrid (UPM).
Prolog es un lenguaje de programación lógico e interpretado con un
mecanismo de inferencia mediante encadenamiento en profundidad de reglas.
Por estas fechas,
al poco tiempo de aprender a programar en Prolog (en especial Prolog II de Marsella),
cree dos reglas capaces de procesar a otro conjunto de reglas,
que recibían como argumentos de entrada,
pero lo hice de forma que la exploración de dicho conjunto de reglas realizaba en anchura, no en profundidad.
Mi director José Cuena me dijo divertido:
«le dejo un motor de inferencia y
lo primero que hace usted es cambiarle la dirección».
Aquellas dos reglas ayudaron a la creación de
sistemas expertos de acumulación y transmisión de evidencia
(del tipo MYCIN, con una orientación semibayesiana)
a partir de los a priori
de los expertos, ya que la acumulación de la evidencia
aportada por un conjunto de reglas necesita su evaluación conjunta,
esto es en anchura,
para poder ser combinada.
-
Intern in
«Risk assessment expert system»,
Santander Bank,
Madrid,
1985-1986.
-
Becario en
«Sistema experto de evaluación de riesgos»,
Banco de Santander,
Madrid,
1985-1986.
MYCIN en Wikipedia en español
MYCIN en Wikipedia en inglés
Miembro del primer claustro democrático y constituyente de la UPM
realización: 1984 | actualización: 2 de mayo de 2011
Fui miembro de la primer claustro democrático y constituyente
de la Universidad Politécnica de Madrid y
participé en la redacción de sus primeros estatus democráticos
(aprobados por Real Decreto 2.536/1985, de 27 de diciembre).
-
Students' representative in the Legislative Congress of the
Technical University,
Madrid,
1984-1985.
-
Miembro del primer claustro democrático y constituyente de la
Universidad Politécnica,
Madrid,
1984-1985.
Universidad Politécnica de Madrid
Claustral de la Facultad de Informática
realización: noviembre de 1983 | actualización: 2 de mayo de 2011
-
Students' representative in the Council of the Computer Science Faculty,
Technical University,
Madrid,
1983-1984.
-
Miembro del claustro de la Facultad de Informática,
Universidad Politécnica,
Madrid,
1983-1984.
Facultad de Informática ahora
ETSI Informáticos
Delegado de 3º de la Facultad de Informática
realización: octubre de 1983 | actualización: 2 de mayo de 2011
-
Students' representative of the third course of the Computer Science Faculty,
Technical University,
Madrid,
1983-1984.
-
Delegado del curso 3º de la Facultad de Informática,
Universidad Politécnica,
Madrid,
1983-1984.
Facultad de Informática ahora
ETSI Informáticos
Sistema operativo RPS, Series/1 de IBM
realización: 1983 | actualización: 20 de agosto de 2011
En 1983 colaboré como
profesor ayudante de prácticas del
Sistema operativo RPS (Real-time Programming System) del Series/1 de IBM,
en el Centro de Cálculo de la Facultad de Informática,
de la Universidad Politécnica de Madrid (UPM),
bajo la dirección de Arturo Ribagorda Garnacho.
Arturo Ribagorda Garnacho es, actualmente (2010),
Catedrático de Ciencia de la Computación e Inteligencia Artificial en
la Universidad Carlos III de Madrid (UC3M)
en el Campus de Leganés.
Por aquel entonces empezaba a utilizar
discos flexibles de 8 pulgadas como el que aparece en la imagen,
aunque todavía no habían salido de mí vida
ni la programación ni con cinta, ni con tarjetas perforadas.
-
Assistant teacher of
«IBM Series/1 RPS operating system»,
Computer Science School,
Technical University,
Madrid,
1983.
-
Profesor ayudante de
«Sistema operativo RPS, Series/1 de IBM»,
Facultad de Informática,
Universidad Politécnica,
Madrid,
1983.
Series/1 de IBM en Wikipedia