Foto de Vokimon
Llar virtual d'en David Garcia Garzon (Vokimon)

Curriculum vitae de
David García Garzón

actualitzat Gener-2003

1. Dades personals.


DNI: 36.517.097-C
Data i lloc de naixement: 10 de Maig de 1975 a Barcelona
Adreça: C/ Jacint Verdaguer, 42 3er 1a
Població: Sant Joan Despí; (08970) (Baix Llobregat-Barcelona)
Telèfon: (93) 373-09-76
E-mail: david.garcia@iua.upf.es
Estat civil: Solter.
Permís de conduir B1. Cotxe propi.

2. Estudis i Formació.

2.1. Estudis Oficials:

1998-2002
Enginyeria Superior en Informàtica cursat a Enginyeria la Salle (Universitat Ramon Llull)
TFC: Suport XML-MPEG7 a una llibreria d'àudio i música (XML + Metaprogramació amb templates + Processament d'àudio)
1993-1997
Enginyeria Tècnica en Informàtica de Sistemes cursat a Enginyeria la Salle (Universitat Ramon Llull)
PFC: Simulació d'un entorn biològic evolutiu (Vida artificial + Algorismes genètics + Tecniques avançades de disseny OO).
1989-1993
BUP/COU cursats al Col·legi Llor de Sant Boi de Llobregat.

2.2. Idiomes:

2.3. Cursos i seminaris:

1994-95
  • Arquitectura Client-Servidor.
  • Win-Sockets. Protocol TCP-IP.
  • 1995-96
  • Curs Informix.
  • Curs C++ avançat.
  • 1996-97
  • Curs HTML/Java/CGI.
  • 1998-99
  • Tècniques de síntesis digital
  • Sequenciació Àudio/MIDI amb Cubase
  • 2001-02
  • Metaprogramació amb templates
  • Programació orientada a components
  • 2.4. Lectures clau:

    Eric Gamma et al.
    'Designs patterns'
    Martin Fowler
    'Refactoring, improving the design of existing code'
    Kent Beck
    'Test driven development by example.'

    3. Experiència.

    3.1. Activitats profesionals:

    3.2. Activitats al Departament d'Informàtica Enginyeria la Salle, secció de Tecnologia del software:

    1994-1995
  • Col laboració departamental sobre llenguatges funcionals.
  • 1995-1996
  • Professor al curs intradepartamental de C avançat.
  • Llenguatges orientats a objectes: Elaboració d'un manual sobre Smalltalk-80.
  • 1996-1997
  • Intesificació docent en Programació II.
  • Professor de practiques de Programació I.
  • Algorismes genètics: Ampliació d'una eina que solucionava problemes de coma flotant per solucionar problemes de permutació (TSP).
  • 4. Coneixements concrets.

    4.1. Llenguatges de programació.

    EntornsConeixements
    Smalltalk IBM, Parkplace, Dolphin i GNU. Classes estàndars d'Smalltalk-80 i Smalltalk/V.
    Estàndard ANSI Smalltalk
    Tècniques avançades: dependències, events, herència dinàmica, introspeció...
    Classes gràfiques de cadascun dels entorns esmentats.
    C-ANSI GCC, Borland, VisualC++. Punters a funció, punters genèrics...
    Domini de diverses metodologies de disseny modular.
    C++ GCC, Borland, VisualC++. Excepcions, templates, manegadors...
    Criteris pel disseny de biblioteques i components reutilitzables.
    Ús eficient de la llibreria estàndard (STL, iostreams...)
    Programació genèrica i metaprogramació
    Toolkits: Turbo Vision, Microsoft Fundation Classes, QT
    Java J2SDK, Orion, GCJ Swing, Applets, Servlets
    Càrrega dinàmica, introspecció
    J2EE: Servlets, JSP, EJB, descriptors...
    PHP Apache, cgi Accés a bases de dades
    Criteris arquitectònics
    Criteris de seguretat

    També he programat en altres llenguatges que no faig servir habitualment com ara: Python, Pascal/Delphi, Prolog, Lisp, Fortran, RPG, Basic.

    4.2. Altres llenguatges.

    4.3. Sistemes Operatius.

    4.4. Xarxes.

    4.5. Bases de dades.

    4.6. Multimèdia

    So:

    Programació 3D:

    Disseny Gràfic:

    Altres:

    5. Aficions i inquietuds.

    Les meves aficions són:

    Sense ser cap expert, m'agrada molt apendre coses sobre:

    6. Objectius profesionals.

    Tot i que no descarto tasques d'administració de sistemes, les meves aptituds i preferències s'orienten més cap a feines que tinguin a veure amb el disseny de software.

    Em gratifica molt l'activitat docent, on he anat adquirint confiança durant els diversos cursos i assignatures que he impartit: elaboració de documentació i material docent, la preparació de les classes i el tracte amb els alumnes.

    Com a afeccionat a la ilustració i a la informàtica musical, m'agradaria incorporar algun cop, de forma puntual, algun aquests dos elements al meu treball; tant si és amb continguts en un projecte multimèdia com si és elaborant una eina relacionada.

    Com a desenvolupador em considero molt sistemàtic quan treballo, m'agrada anar pas a pas i anar deixant-ho tot ben lligat millor que després haver de tornar enrera. M'agrada sempre cercar una solució millor, no em conformo amb la primera que funciona, i em costa molt perdre la paciència en aquest sentit.

    En quant al tipus d'empresa en la que m'agradaria treballar, valoro molt més que el seus objectius i els seus mètodes estiguin en correspondència amb la meva forma de ser i pensar, que hi hagi un bon ambient de treball i que em pugui sentir orgullós de allò a que contribueixo.

    Apèndix A. Treballs realitzats.

    A.1. Applicacions software:

    CeView http://spain.cardse.com:8080/CeView2.7
    És el producte que he estat desenvolupant a cards Enginering. És una aplicació basada en php i shell scripts que permet importar fitxers de CAD des de sistemes TDM o similars, i traduir-los a un format comú de visualització. La flexibilitat i genericitat del seu disseny ha permés la seva ràpida adaptació a les exigències dels diferents clients la qual cosa ha estat la clau del seu èxit. El sistema ha estat implantat en clients com ara Ford Ibèrica, CASA i Metro de Madrid.
    CLAM http://www.iua.upf.es/mtg/clam
    Les tasques d'investigació que he dut a terme a l'IUA-MTG estan relacionades amb el desenvolupament de CLAM, una biblioteca multiplataforma de processament d'àudio i música en C++. La meva funció ha estat oferir el suport XML (que era el meu projecte de final de carrera) però al mateix temps he intervingut en l'establiment de les tecnologies orientades a objectes en les que es basa CLAM (patrons de disseny, tipus dinàmics, metaprogramació amb templates, factories, introspecció estàtica...), en el disseny global, així com de la introducció d'eines metodologiques (seguiment d'errors, automatització de proves, documentació incrustada, sistemes de control de versions...).
    Bioscena
    És un entorn multiplataforma en C++ per simular sistemes biològics evolutius. El sistema és molt configurable de tal forma que permet simular biòtops molt diferents i controlar les diferents regles que marquen la vida. S'ha fet servir per simular els efectes d'algunes característiques de la vida, com ara, els mecanismes d'expressió gènica, interaccions fenotípiques, individus multicromosoma, introns i extrons, diversos tipus de mutacións, intercanvis sexuals... S'han pogut observar com funciona l'aparició d'organismes amb capacitat per reproduir-se, la regulació de la mortalitat, l'adaptació a canvis periódics de diferent duració, l'aparició de comportaments parasitaris, depredadors i simbiòtics...

    A.2. Publicacions:

    Garcia, D. 2002.
    'Suport de XML/MPEG-7 per una llibreria de processat d'àudio i música.' Enginyeria La Salle. Barcelona
    Amatriain, X. de Boer, M. Robledo, E. Garcia, D. 2002.
    'CLAM: An OO Framework for Developing Audio and Music Applications' Proceedings of 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages and Applications. Seattle, WA, USA
    Garcia, D. Amatriain, X. 2001.
    'XML as a means of control for audio processing, synthesis and analysis' Proceedings of MOSART Workshop on Current Research Directions in Computer Music. Barcelona

    A.3. Manuals i documentació tècnica: