Curriculum Vitae

Personal Information


Name: David
Surnames: Hontecillas Bellido
Birthyear: 1979
Phone number: +34 649 288 396
E-mail: dhontecillas (- at -) gmail.com

View David Hontecillas's profile on LinkedIn

Academic studies


Computer Sciences

Universitat Politècnica de Catalunya ( UPC )
Facultat d'Informàtica de Barcelona.

Telecomunications Engineering

Universitat Politècnica de Catalunya ( UPC )
Completed a year and a half.

Languages


·English (Level B2 of CEFR )
·Spanish (Native)
·Catalan (Native, C Level certificate)

Technical Skills


Programming languages ·C / C++ (high level)
·Java (high level)
·Actionscript 3 ( Adobe Flex ) (high level)
·Oracle PL/SQL( good level )
·C# (medium level)
·Assembler 80x86 (medium level)
·Lua (medium level)
·Python (medium level)
·PHP + MySQL + HTML (medium level)
API's: ·Android SDK
·STL (Standard Template Library)
·OpenGL
·Nokia Qt Toolkit
·API Win32
Operating Systems: ·Windows NT/XP/2000: User and applications programming level.
·Linux: User and applications programming level, and system administration.
·Mac OS X: User level, basic administration skills.
Electronics: ·Microcontrollers programming and analog circuits knowledge

Positions


Gameloft ( Barcelona )

November 2010 - now

Promoción tecnológica y comercial, Protec

Helping bugfixing the Facebook game "Green Farm" server.

In4Magazine's magazine production screenshot

Promoción tecnológica y comercial ( Protec )

November 2007 - June 2009

Promoción tecnológica y comercial, Protec

Working in In4Magazine, a workflow, assets and production management software for Magazines as Senior Software Engineer. Developing the application with Adobe Flex frontend, COM+ Objects written in C++, and PL/SQL. I've been also responsible of the configuration module of the system, distributing jobs to two more people under the supervision of the project manager

In4Magazine's magazine production screenshot In4Magazine's magazine production screenshot In4Magazine's configuration screenshot In4Magazine's workflows configuration screenshot

Gaelco Móviles

August 2007 - November 2007

MMS Logo

Working as QA assitant. Initially my main work was only Quality Assurance, but after identifying some deficiencies in the QA workflow I've started developing tools to improve it in python.

Multimedia Mobile Services

November 2006 - August 2007

MMS Logo

Working in the 3OnTV project, developing a server in a Linux enviroment withd C++ that interacts with another server and the client used to view videocalls on the television.

Developing the server and client of a product that is used to get images from surveillance cameras in the cell phone

Ibermática

November 1st 2005 - October 31st 2006

Working in the shipbuilding CAD CAM application FORAN. Developing feature requests and correcting bugs for the hull structure module.

Hextra Digital, S.L.L.

October 2004 - October 2005

hextra digital logo Founder with three more partners. Working in the design of Hydra, a modular surveillance software. Developing also in C++ this parts of the software:
  • The triggerpool module: a programmable system to trigger actions in response to events and alarms of other modules.
  • The user system
  • The real time system variable tree
  • Various elements of the tools library: configuration loading from XML, command parsing for the server, Python client to send commands to the server, etc..

Adepa Neural Networks

May 2001 - April 2004

ANN Logo Designing and developing a server that manages and distributes workload to neural network calculus workstations. Developed in C / C++ in a NT Windows platform
In the enviroment of this project I developd libraries like the configuration loader, a Rijndael implementation, a custom PE loader to stealth the loading of some custom libraries, network libraries, etc...

Ubi Studios, S.L.

April 2000 - April 2001

logo ubisoft

Working in the development of an AAA Game : ProRally 2001.

Developing a Menu editor for the Game, and contributing to integrate the menu system with the rest of the game.

Prorally 2001 box cover ProRally's menu screenshot ProRally's menu screenshot

Other projects


JDN Game

Working in an indie XNA-based game with four more partners. Programming in C# a starships game. Finally the project was discontinued due to lack of interest of some members.

Raytracer

An aplication used to render mathematical primitives using raytracing and OpenGL to speed up the drawing. It features quadtrees to throw rays, and Lua scripting to define the scene.

Video Screenshots
function RTScriptInit()

       t1 = RTLoadTexture( "floor_tiles.jpg" ) -- "marble_3.jpg" ) -- 02.jpg" )
       t2 = RTLoadTexture( "wood32.jpg" )
       t3 = RTLoadTexture( "marble_3.jpg" )
       t4 = RTLoadTexture( "tex256.jpg" )

       -- Plane creation parameters :
       -- origin ( 3 floats ), gen_u ( 3 floats ), gen_v ( 3 floats ),
       -- texture, tile_factor, reflection
       p1 = RTCreatePlane( 5, 550,5 ,  0, 0,  1, 1, 0,  0, t2, 0.002, 0.0 )

       p2 = RTCreatePlane( 0,-350,0, 1, 0, 0, 0, 0, 1, t1, 0.001 , 0.0) -- 0.5

       p3 = RTCreatePlane( -1250, 0, 5, 0, 1, 0, 0, 0, 1, t3, 0.001, 0.0)
       p4 = RTCreatePlane( 1250, 0, 5, 0, 0, 1, 0, 1, 0, t3, 0.001, 0.0)

       p5 = RTCreatePlane( 0, 0, 4250, 1, 0, 0, 0, 1, 0, t3, 0.001, 0.0)

       s1 = RTCreateSphere( -20, 200, 1600,    -- posicion
                            250,                           -- radius
                            1, 0, 0,                       -- gen_u
                            0, 1, 0,                       -- gen_v
                            t2,                            -- texture_id ( a pinyon )
                            1,                                     -- tile
                            1.0)                           -- relexion

       s2 = RTCreateSphere( 0,-200,-820, 150, 1, 0, 0, 0, 1, 0, t4, 1, 0.95)


       l1  = RTCreateLight( 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 10.0, 10.0, 10.0, 400*400 )

       l2 = RTCreateLight( 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 , 10.0, 0.0, 5, 300*300 )

end

function RTScriptAnimate( t )
       RTSetPos( s1 , 600 * math.cos( t * 0.0015 ),
                 -100, 1400 - 600 * math.sin( t * 0.0013) )
       RTSetPos( s2 , 700 * math.sin( t * 0.0009 ),
                 -250+math.abs(400*math.cos(t*0.002)),
                 1200 + 450 * math.cos( t * 0.0008 ) )

       RTSetPos( l1, 305 , 450 ,2500 )
       RTSetPos( l2, -600 , 300, 1200 )
end

                

KOOSEN

Mobile phone game developed with J2ME Mobile phone game developed with J2ME. It's an on-line, turn based, fighting game. Won the third place on the 2nd National Movilgamers Contest in the innovation category. Only needs MIDP 1.0. Download the manual in PDF format

Procedural Texture Editor

Application to generate procedural textures. Uses plugins to add new modifiers / generators. MFC based. It can save generated textures as images or as "byte-code" to be generated on the fly by other applications.

Video Screenshots
#include "datatypes.h"

#define DISABLE_EDIT_CHECKS

#define USE_Basic_Xor
#define USE_Basic_Blur
#define USE_Basic_Circle
#define USE_Basic_Add
#define USE_Basic_Colorize

/* Include library code here! jinch! */

#include "code.h"

int (__cdecl* funcs[])( char*, stBUFFERLIST*) = {
                  /* id:   0 */  Basic_Xor ,
                  /* id:   1 */  Basic_Blur ,
                  /* id:   2 */  Basic_Circle ,
                  /* id:   3 */  Basic_Add ,
                  /* id:   4 */  Basic_Colorize };

unsigned char funcstream[ 5 ] = {
    0x00, 0x01, 0x02, 0x03, 0x04};

unsigned char stream[ 38 ] = {
    0x00, 0x70, 0x00, 0xf0, 0x0f, 0x00, 0x01, 0xf0,
    0x9c, 0x00, 0x70, 0x01, 0xf0, 0x01, 0xf0, 0x00,
    0x10, 0x04, 0x00, 0x00, 0x80, 0xff, 0xff, 0x7f,
    0xc0, 0x80, 0x00, 0xff, 0xbf, 0xff, 0x80, 0xff,
    0xff, 0xff, 0x00, 0x00, 0x00, 0xff };

unsigned char buffersizes[ 2 ] = {
0x09, 0x09 };

Miscellaneous


Algorithms competitions

I have been finalist in the UPC programming contest. Here you can see some of the problems I have solved, with my solutions. I like challenges, so I had fun solving these exercices.

ExerciseSolution
Palinwordsp257.cpp
How many knightsp629.cpp
Soundex Indexingp739.cpp
Fibonacci Numbersp10579.cpp
Maximum Sump108.c

My statistics can be found at UVA's ACM Problem Repository

Personal skills:

workgroup skills
fast learning
initiative
creativity

Hobbies

I love to practice different kinds of sports: Swimming, Mountain-biking, Running among others.
I'm also trying to learn to play the alto saxophone.
I like to play casual games on PC and console with friends.