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:
- Castellà: Parlat, llegit i escrit correctament.
- Català: Parlat, llegit i escrit correctament.
- Anglès: Parlat, llegit i escrit nivell COU.
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:
- Sis mesos com a programador en EDS Espanya a la secció de ticketing (Venta electronica d'entrades). (Jul-1997 a Dec-1997)
- Professor del Curs d'Introdució a la Informàtica Musical. (6 hores) (curs 1996-1997)
- Professor del Curs de Formació Contínua d'Informàtica Musical a Enginyeria la Salle (42 hores) (curs 1998-1999)
- Programador Senior/Analista a Cards Engineering desenvolupant aplicacions d'intranet per entorns d'enginyeria (disseny industrial) (Ago-2000 a Dec-2003)
- Becari a l'Institut Universitari de l'Audiovisual de la Universitat Pompeu Fabra fent tasques de recerca. (Sep-2000 a Ago-2002)
- Professor a l'Institut Universitari de l'Audiovisual de la Universitat Pompeu Fabra donant classes d'Enginyeria del Software I, Programació III i fent tasques de recerca. (Ago-2002 fins ara)
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ó.
| Entorns | Coneixements | |
|---|---|---|
| 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.
- Experiència amb HTML 4.0, CSS 2.0, DOM (JavaScript), XML, XLST, XSD...
- Experiència amb shell scripts i scripts TCL/Tk
- Experiència amb YACC, Lex, Bison, PCCTS...
- Experiència amb LaTeX.
4.3. Sistemes Operatius.
- Experiència amb l'entorn de desenvolupament GNU
- He mantingut estacions de treball Linux amb les distribucions Debian, RedHat i SuSe
4.4. Xarxes.
- Administració i configuració de LAN's
- Administració bàsica de firewalls
- Experiència en la programació de sockets en UNIX i WinSockets.
- Experiència en recerca tècnica per internet.
4.5. Bases de dades.
- Experiència amb SQL
- Informix: Experiència programació i4GL i administració
- Experiència programant amb ODBC i DAO
- MySql: Experiència programant des de PHP
- Coneixements teòrics sobre el funcionament intern dels gestors de bases de dades distribuïdes
4.6. Multimèdia
So:
- Experiència programant sistemes d'àudio digital multiplataforma.
- Experiència en conexionat i hardware MIDI.
- Experiència amb eines de composició per ordinador (Seqüènciadors i Trackers).
- Experiència en Sampling, Edició d'àudio i Síntesis digital (usuari i programador).
- Experiència tractant, a nivell de programador, formats de fitxers de so (WAV, IFF, MID, MOD, S3M, IT...)
Programació 3D:
- Experiència programant l'API d'OpenGL
- Coneixement teòric de tècniques de rasteritzat, ombrejat, textures... des del punt de vista del programador.
- Nocions sobre modelització i animació
- Coneixements teòrics sobre modelització de cosos flexibles, i, més concretament, de tèxtils.
Disseny Gràfic:
- Experiència amb AutoCAD
- Nocions de 3D-Studio MAX
- Llenguatges de modelització PolyRay i PovRay
- Experiència amb programes de retoc fotogràfic
- Experiència tractant, a nivell de programador, formats de fitxers d'imatge (BMP, PNG, GIF, JPG...)
Altres:
- Experiència en la programació a baix nivell del hardware del PC/AT: Ports comunicació, targetes gràfiques (VGA/VESA), targetes de so (GUS/SB), timers, teclat, mouse, DMA...
5. Aficions i inquietuds.
Les meves aficions són:
- Dibuix i il·lustració
- Fer i escoltar música
- Programar
- Patxaran
- Llegir, relatar i, sobretot, escoltar histories curtes
- Tertúlies de cremar neurones
Sense ser cap expert, m'agrada molt apendre coses sobre:
- Biologia
- Filosofia
- Física
- Formes d'organització autònomes
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:
- Managing application releases with CVS
http://www.iua.upf.edu/~dgarcia/Codders/cvsappreleases.html - Deploying a CVS server
http://www.iua.upf.edu/~dgarcia/Codders/cvspasoapaso.html - Apunts dels cursos d'informàtica musical
http://www.iua.upf.edu/~dgarcia/Modders/Docs/index.html - Pràctiques de programació III. Universitat Pompeu Fabra
http://www.iua.upf.es/~dgarcia/prog3 - Pràctiques de Enginyeria del Software I. Universitat Pompeu Fabra
http://www.iua.upf.es/~dgarcia/ES1



a>


