Jobs
Working at Schibsted Products and Technologies
Kotlin Scala Java Gradle Kanban
Working on Korge Game Engine, Articles, Tutorials, Videos and OSS. github.com/soywiz/korlibs
Kotlin GIT TDD Gradle Pomodoro Games CoroutinesTechnical lead at akamon.com / mundijuegos.com.
GIT SVN TDD Web ActionScript3 Java JavaScript TypeScript Flash Starling ANT Gradle Maven Kanban Scrum Pomodoro WebGL Stage3D Games Promises Android iOS Mobile IntelliJ Kotlin JTransc LibgdxSenior SDK programmer at akamon.com / mundijuegos.com.
GIT SVN TDD Web ActionScript3 Java Games Promises IntelliJ FlashDevelopFounder and developer of tradcloud.com.
HTML JavaScript CSS TypeScript Node.JS MongoDB GIT Translations Express.JS Photoshop Linux TDD WebInitial development of leyrespuestas.es.
HTML JavaScript CSS PHP MongoDB GIT TDD Photoshop Linux WebFreelance programmer.
ActionScript3 PHP C# Java HTML CSS XML JavaScript TypeScript C/C++ HaXe MySQL MongoDB Redis Node.JS Express.JS SVN GIT OpenSource Flash Photoshop Linux TDD Games Web Pomodoro Blender- Worked as programmer for The Netwizzy Company for Our.com.
- AS3 programming for facebook games.
- Facebook integration for html, javascript and as3.
- Creating a protocol encryption system and incremental compression for smartfoxserver using java.
- Created deployer using C#.
- Created a realtime massive ranking server.
Co-founder, programmer, site layout and sysadmin of kawagames.com.
HTML JavaScript CSS PHP MongoDB GIT Games TDD Web XNA HaXe Photoshop Linux OpenGL Shading LanguageWorked for XARXANET, S.L. Worked as web programmer (frontend and backend) for archivospc.
PHP HTML CSS JavaScript Photoshop Linux XML SVN MySQL WebWorked as freelance for business and individuals.
PHP HTML CSS JavaScript C# XML SVN CVS MySQL Flash Photoshop Linux WebCertifications
Course of 40 hours of japanese level 1 (taught by “instituto confucio” at UV)
Japanese- MySQL Developer Certification. Carlos Ballesteros Velasco.
- http://www.mysql.com/certification/candidates.php?exam=3#Spain
- Candidate ID: 12706
- Certificate ID: 230151145
- Can be validated on: www.mysql.com/certification
«Foundations of digital Games» workshop from Tomi A. Pasanen at UPV.
C/C++ GamesBaccalaureate degree.
Zend certified engineer (one of the first 1,000).
PHP EnglishGraduated at school.
Achievements, awards, contests and olympiads
Gold medal in “olimpiada informática española” (OIE).
C/C++ AlgorithmicsBronze medal in “International Olympiad in Informatics” (IOI).
C/C++ AlgorithmicsSilver medal in “informática iberoamericana por correspondencia” (CIIC).
C/C++ AlgorithmicsClasified for the provincial phase of the XI Mathematic Olympiad
Mathematics AlgorithmicsTalks and Lectures
Founder and developer of tradcloud.com.
HTML JavaScript CSS TypeScript Node.JS MongoDB GIT Translations Express.JS Photoshop Linux TDD WebPresentation about shaders at softonic. Explained PixelBender shaders and shaders in general. Used my phpmedia project for the exposition.
PHP OpenGL Shading LanguageProjects

Korio + Korte + Korim + Korag + Korau + Korui + Korge
Kotlin Games OpenGL OpenGL Shading Language GIT Coroutines
PSP emulator originally made using D, then ported to C# and then to TypeScript working in the browser.
This is the largest project I have done in my whole life up to date. And I’m still updating it when I have some spare time.
It is a really really huge project that includes more than 100,000 lines of code and that I have been developing in the coming years.
It has lots and lots of things and uses most of the things I like from programming: emulation, low, medium, and high levels, compilers, dynamic recompilation / JIT, graphics, audio, operating systems, UIs…
Even when my emulator is not the most compatible out there, it is capable of running lots of homebrew games and some commercial games.
C/C++ D C# JavaScript TypeScript Assembler Emulation Dynamic Recompilation OpenGL OpenGL Shading Language GIT TDD AST Compression Algorithms Image Processing Audio Processing Digital Signal Processing Video Processing Containers Muxing Binary Files Sockets Linux Windows Mac Android iOS Windows Phone PromisesJVM aot compiler that generates Haxe with initial focus on games.
Kotlin Java HaXe Ahead of Time GIT TDD AST Control flow Graph Binary Files Linux Windows Mac AndroidCreated a spanish kotlin community. kotlin.es It is a blog published at github using jekyll with information and articles about kotlin in spanish language.
Kotlin HTML Jekyll IntelliJ SpanishC compiler made using C# for .NET (it generates IL code; executables and DLLs).
Generated code is completely portable and you can execute that binary without modifications in any platform supported by Microsoft .NET or Mono.
It includes C preprocessor and most of the C syntax.
It is capable to compile lots of simple programs, though it cannot compile the most complicated ones.
The main objective for that was to compile ffmpeg into .NET code in order to be able to use in my PSP emulator.
Even when it is not finished it is in a pretty advanced stage.
It allows to dump AST from C code as XML so any other languages can convert them into other stuff or to genreate documentation.
C/C++ C# Compilers GIT TDD ASTI created three projects/libraries for multimedia playing in haxe. Those were: haxe-nme-webp, haxe-nme-webm and haxe-nme-opus.
Those aimed to be able to:
Decode webp images. Webp is a pretty efficient image format. Supporting lossy and lossless compression and alpha channel in both cases, as well as a better compression rate than jpeg and png. So it is a suitable image format suitable for games, specially on mobile where it is interesting having images in a fraction of the size.
Decode and play webm videos. Webm is a container based on ogg/riff, that uses VP8 as video codec and vorbis as audio codec. So I included both video and audio decoders.
Decode and play opus audio. Opus is a great audio format that allows a huge compression rate and handles pretty fine some use cases including speech and music and it is free to use.
HaXe C/C++ Muxing Video Processing Audio Processing Image Processing ContainersI started this project in javascript when I begin to use node.js. I wanted to have an identical template engine or very similar to PHP’s Twig / Python Django that was what I was using until then.
Then I realized that there were some other projects that aimed to do the same thing: “swig” and “twig.js”.
After a couple of years giving them opportunities to both projects I realized that they didn’t implemented the most powerful twig parts and that one of them didn’t even make dynamic recompilation, so I decided to continue with the project.
I ported the project to typescript, and continued making TDD and adding interesting test cases from the powerful twig part.
It uses extensively the prototyping part on javascript in order to implement very fast scopes and allow a flexible and powerful inheritance.
It has dynamic recompilation (translates template into equivalent Javascript Code, that ends being converted into native code by the V8 runtime).
Right now ATPL implements most of the parts from twig and it is being used in some production projects.
JavaScript TypeScript Node.JS TDD Compilers Dynamic Recompilation ASTSimple Massive Realtime Ranking Server
It is a very simple ranking server: users have a score associated and an instant associated to that user/score pair.
It allows to insert scores in logarithmic time, to list scores in linear time and to get the position of an user in logarithmic time.
The problem was that the only way we have to handle millions of scores and have reasonable times was to precalculate in a daily basis all the data. So it was not scaling well and was not realtime.
I dessigned an algorithm based in RebBlack trees that added stats to all nodes in a way that keeped logarithmic insertion and allowed to locate also in logarithmic time a node by position.
C# Algorithmics Sockets GIT TDDI collaborated in the project poly2tri porting the code to ActionScript3.
The library aims to make possible to triangulate a set of polygons so you can handle them easily, for accelerated APIs drawing, physics and path fidning.
I made a small demo combining the triangulatiom I made of the ported library, with a path search using a TA* (Triangulated A Start) plus a funnel algorithm implementations in order to find the shorted direct path between two points of a mesh of generated triangles.
ActionScript3 AlgorithmicsI created a project to do portable integration tests for all the PSP emulators out there.
Initially I created them for my emulator cspspemu, and later I ported it to jpcsp and it ended being adopated by ppsspp emulator, which made it grow a lot.
C/C++ Assembler Emulation TDDStarted a proof of concept gameboy emulator using D. That version was interpreted and was the first approax to real devices before my psp emulator.
D Assembler Emulation OpenGL
TalesDepot is a website for publishing stories. Plain short stories, choose your own adventure stories, and visual novels.
Node.JS JavaScript Await/Async Express.JSIn my life I have created and contributed to dozens of opensource projects. You can access most of them at github, google code and sourceforge.
Languages
I was born in Spain and I’m native.
SpanishI studied english until the university and I’m reading english articles all the days. I can understand english pretty well, but my speech skills are rather limited at this point.
EnglishI was born in Valencia/Spain and even when I’m not usually speaking it, I can understand it without any issue.
ValencianoI have studied japanese. I have been a couple of times in japan.
JapaneseOpen Source Software

Github
OpenSource GIT
Google Code
OpenSource SVN
Source Forge
OpenSource CVS SVNAcademic
Preparing for english B2. Course taught by Tiger English Academy.
EnglishPre-intermediate, 43 hours english course taught by Training Express SL at Softonic.
EnglishLevel 1, 40 hours japanese course (from instituto confucio). Resumed at 2010.
Japanese«Foundations of digital Games» taught by Tomi A. Pasanen.
GamesScientific-Technical Bachelor’s Degree at I.E.S. Misericordia 26 (Valencia).
Early education, elementary and high school: Rodriguez Fornos & Escolapias (Valencia).
Self-taught, autodidact and proactive person, reading books and internet.
Programming Languages
Ported framework from as3 to kotlin.
Kotlin Games Web Emulation RomhackingKnowledge about TypeScript. Several projects in development. Created definition repository at github + created several definitions of some javascript libraries for backend and frontend.
TypeScript WebUsed python in a couple of projects. Used google appengine and django.
Python WebMade several server prototypes with Dart. Started a xmpp library for Dart. Very easy with Dart’s syntax and API.
Dart WebCreated flash games, animations and applications using ActionScript. Created two virtual machines and expression evaluators in flash. Used Alchemy/FlashCC to integrate C++ code in flash + used alchemy opcodes manually for fastest performance. Created ANEs. Created multiplatform webp image decoding with ANEs and FlashCC. Worked with facebook APIs to create games in our.com.
ActionScript3 Flash Games OpenSource WebBasic knowledge about J2SE and J2ME. Developed a couple of games for mobile with J2ME and some demos. Knowledge about java OOP. Knowledge about basic API. Android development. Integrated C++ code in java using JNI. Collaborated in Jpcsp java psp emulator. Created Java Virtual Machine in PHP.
Java C/C++ PHP GamesMedium knowledge about programming in D 1.0 and D 2.0. Developed graphical utilities like PopGUI in DFL, lots of utilities including romhacking and terminal tools. Developed gameboy emulator and psp emulator. Developed cdvd plugin for pcsx2 emulator. Some D libraries.
D Games Emulation Romhacking OpenSourceMedium knowledge about .NET technology and C# language for PC, .NET Framwork: PocketPC, mobile device, XBOX360 using XNA, and univeral applications. Created opensource project for C# utilities. CSharpUtils. Created PSP emulator in C# with dynamic recompilation as a successor of my psp emulator in D. Knowledge until .NET 4.5 including all the work of async + await. Developed a prototype of node.js for .net 4.5 (node.net).
C# Games Emulation TDD Romhacking OpenSource Web Await/Async- Wide knowledge about PHP for web, terminal and client applications.
- Knowledge about Zend Engine.
- Develop several extensions for PHP.
- Experience teaching PHP.
- Experience with PHP4 as well as PHP5.
- Zend certification.
- Last PHP version used: 5.6.
- Created phpElegante blog, techniques and advanced tips about PHP programming.
- Knowledge about JavaScript (and other languages based on ECMAScript like AS3, TypeScript and so on) applied for web including both frontend and backend.
- Worked with prototype framework as well as jQuery.
- Created server applications using node.js.
- Some NodeJS libraries used: express, consolidate, twig/swig, underscore, mongodb, mocha, should, socket.io…
Knowledge about HTML 5 and CSS 3, worked in conjuntion with JavaScript Ecmascript/2015. Created website layouts of dozens of webs since 2001. Personal websites as well as professional for other people and business.
HTML WebExtensive knowledge about C/C++. Worked with IDEs: Dev-CPP and specially Microsoft Visual Studio 6, 7, 8 (2005), 9 (2008) and used until 2012. Created several projects for several platforms. Scripts, programs… Used SDL and OpenGL to create games and port engines. Created a C compiler in C#.
C/C++ C# Games Romhacking OpenSourceKnowledge about 80386 architecture, how it works, registers and basic instruction set. Some knowledge about ARM and SH2. More advanced knowledge about Z80 and MIPS r4000. Knowledge about MIPS processors: allegrex (PSP) and emotion engine (PS2)… Basic knowledge about PPC (PowerPC) (original MAC processor, GameCube, Wii, PS3 and XBOX360). Knowledge about C# virtual machine (created PSP emulator) as well as Java VM (created a PHP interpreter and a AOT in kotlin).
Assembler Games Emulation RomhackingDatabases
Medium knowledge about MongoDB. Created several pages using MongoDB without autosharding.
MongoDBMedium knowledge about SqLite using PHP, JavaScript and C#.
SqLite
Basic knowledge Sphinx for document search.
SphinxAdvanced knowledge aboyt MySQL database. Used from PHP using mysql, mysqli and PDO php extensions. MySQL certificate.
MySQLOffice
I have used both Libre Office and Open Office.
Basic knowledge about Google Docs and Google Spreadsheets.
Basic knowledge about Apple’s Pages, Numbers and KeyNote.
I have worked with Word, Excel, Access and Powerpoint. I can create styled documents, spreadsheets, databases and presentations.
Experience in some knowledge fields
Great experience in web programming .Using standards HTML5+CSS3, XML, JS and (PHP + MySQL + MongoDB). Some fields treated:
- PDO; PHP >= 5.4
- Multi-layered cache system.
- Image creation and manipulation using PHP-GD2 and Imagemagick.
- Using MySQL and SQLite as db engines. Used their specific API as well as PDO unified API.
- Experience using regular expressions POSIX and PREG.
- XML parsing and creation using streaming apis and dom apis.
- Created spider and crawlers.
- Created powerful, small and fast framework.
- Created flash animations dinamically using ming extension.
- Opensource collaboration using CVS, SVN and GIT.
- Created interactive web apps using JavaScript.
- Created PHP4/5 extensions using Zend Engine 2. Created C wrappers for PHP.
- Knowledge about fast-cgi protocol and creating native C apps.
- Experience using intellij, firebug, wireshark and apache logs to develop and debug web apps.
- Configuration and administration of apache and nginx web servers.
- Experience with some of the apache and nginx mods as mod_rewrite.
- Worked with sphinx for searchs.
- Experience with e-commerce and social networks, including sms payments, paypal, facebook, google, amazon…
- In later years I have strongly used node.js and typescript
2D videogame programming for computers (C/C++, PHP, DIV(Fenix,CDIV,DIV1/2,Lunea)); mobile devices: Pcket PC (.NET) and Mobiles with J2ME; consoles: GBA, NDS and PSP; web games (Javascript+DHTML, FLASH+ActionScript). Online games (server+client). GLSL (opengl shaders) (fragment and vertex shaders). Knowledge about the opengl pipeline. Knowledge about SDL and Allegro. 3D graphics.
Examples: 3D Tetris using opengl, GameLib, Lunea, phpmedia, gameboy emulator, psp emulator, web games. Very basic knowledge about Havok, Ogre3D and similar APIs. Worked with C# for XNA (PC y XBOX360). Create iPhone engine using Squirrel and OpenGL_ES. Worked in The Netwizzy Company developing game platform in ActionScript 3. Worked in Akamon Entertainment in AS3 and Kotlin for a game platform.
Worked with compressed texture formats including DXT1, DXT3, DXT5 and variants and PVRTC and ETC1. Created texture decompressor. Worked with swizzled textures in specific machine format: (PSP, Xbox360 and Sega Saturn). A* Pathfinding for bidimensional matrices and pathfinding TA* over triangulated surfaces as well as implemented the funnel algorithm to find a direct path.
Assembler C/C++ PHP DIV Game Studio C# Java JavaScript HTML ActionScript3 OpenGL Shading Language XNA Squirrel OpenGL GIT SVN Games Algorithmics Flash Photoshop OpenSourceVideo editing. Put subtitles and remove subtitles. Add titles, Karaokes. Encoding. Muxing/Demuxing. Knowledge about video terminology: streams, filters, layers, wrappers, codecs, containers…
Experience with videogame translation (english -> spanish) unofficially. Experience using inline dictionaries. Google translate, RAE, urbandictionary, babylon and rikaichan.
Completed several unofficial translations.
Translations English Spanish JapaneseWindows, mac and linux user. Knowledge about linux commands. Basic knowledge about bash. Installation and configuration of nginx, apache, php, mysql, mongodb, redis, virtualbox using linux systems, including Debian compatible and Fedora/Redhat.
Linux Mac Nginx Apache MongoDB Redis Virtualbox MySQLExperience with software localization and web pages. Encoding conversion and problem handling with: UTF-8, ISO-8869-1, Shift-JIS (japanese) and GB2312 (chinese). Experience working with texts in oriental languages as chinese, japanese and korean.
Translations English Spanish JapaneseRomhacking for unofficial game translation. Architectures: GB/GBA DS y SNES; PSX, PS2 y PSP; GB, GBA, NDS Knowledge about MIPS and Z80. Translated games with plain text and compressed text. Reallocating texts and modifying pointers to get able to have larger texts; image and font editing. Translation of Tales of Eternia (PSX + PSP), Tales of Destiny (PSX), Tales of the Abyss (PS2), Modificación de punteros para textos mas largos; edición gráfica de fuentes y otros gráficos. Suzumiya Haruhi no Yakusoku (PSP), Tales of Vesperia (360) and other games.
Old videogame porting. Reprogrammer PC game using reverse engineering (romhacking) and reprogrammed using SDL, SDL_mixer, SDL_image, SDL_ttf and smpeg. Ported to PC, Linux, Mac, PSP and DreamCast. Handled problems with optical disc reading, handled problems with limited memory and optimizing performance. Implemented ringbuffer as a filter stream for SDL_RWops.
Assembler C/C++ C# D RomhackingI have user knowledge about ms-dos, windows, linux and mac operating systems. I’m comfortable with both mac and windows keyboards. I have used in a daily basis android, ios and windows phone. I’m usually using a macbook to develop but I have been working on windows machine lots of years.
Android iOSCreated multithreaded apps; mutex, semaphores… balancing all the work with each thread. Implemented synchronization primitives for a hle psp emulator kernel. Worked with OpenCL and shaders. Specially interested in single-threaded asynchronous applications and lock-free workers not sharing state but using message passing.
Await/AsyncExperience creating mobiel apps using j2me MIDP 1.0/2.0 and CLDC 1.0/1.1. Knowledge about .NET Compact Framework.
Developed engine and game for iPhone (PushBox).
Mobile Squirrel C/C++ C# OpenGL HaXe OpenGL Shading Language XNA Games Java Kotlin Await/AsyncWorking with ISO, UDF and other standards. Created reading implementations. Great ability to work with binary formats in all kind of programming languages.
Knowledge and practice about compression methods (compressor and decompressors): Huffman, LZ, RLE and derivates. Knowledge about ZLib and PNG. Knowledge about how to compress better, and specific filters for images; RLE/LZ per pixel instead of per byte, separating componentes… Implemented a PNG decoder; PNG filters: sub, up, average and paeth. Protocol and file encryption for an online game platform.
Compression Algorithms Image Processing Audio Processing Video Processing Containers Muxing Binary FilesSome experience with handrawing, and creating digital art with drawing tablets, tabletpc. Vertorization using freehand, flash, photoshop and illustrator. Image coloring with flash and photoshop. Digital image creation and composition. Photo editing. Plugin creation. Programatic image creation. Created glsl filters.
Photoshop Flash Freehand Illustrator Drawing OpenGL Shading Language JavaScriptCreated some GUIs. Using VB, C#, DELPHI, D+DFL and Java. Worked with scintilla component (www.scintilla.org).
D C# HTMLI have used graphviz a few times in order to render some directed graphs.
GraphvizI have a huge experience in debugging and tracing at assembler level in emulators. Applied concepts about dynamic recompilation and jits for emulation. Created a PSP emulator firstly interpreted in D language, and after that reprogrammed to use dynamic recompilation in C# creating bytecode on the fly, after that ported to typescript generating javascript on the fly. Emulated partially the psp operating system with a HLE (High Level Emulation). Prototypes of LLE (low level emulation). Emulated vfpu vectorial instruction set of the PSP’s MIPS Allegrex processor. Capable of running homebrew and commercial games. Dissasembler. Memory viewer. Registers. Tracing. Debugging. Advanced knowledge about the psp architecture. Created gameboy emulator.
D C# Emulation Compilers Dynamic RecompilationSome times as a hobby I copy and draw some stuff.
Experience creating terminal-based programs to automate stuff: backups, spiders, searching, file renaming…
C# PHP C/C++ D PythonCreated a complete and working compiler and virtual machine for a scripting language. Including basic control structures, foreach, functions, delegates, generators and classes. Code optimization and simple constant propagation.
Created C and PHP compilers in C#.
Created a couple of template engines with inheritanced based on twig in C# (node.net) and JavaScript/TypeScript (atpl.js).
C# D C/C++ PHP JavaScript TypeScript Compilers ASTExperience creating client/server applications. Bots, clients and servers for several protocols, including mmorpg emulators. Experience in several programming languages: C#, PHP, C/C++ and D.
C# PHP C/C++ D SocketsExperience with blogging. I have used wordpress, blogger and lately jekyll. I have my own blog (in spanish), a php blog phpElegante and a kotlin community.
WordPress Blogger Jekyll GitHubAbility to write optimized assembler code for critical parts using several advanced instruction sets (MIPS, ARM, Z80, PowerPC, 8086`). Knowledge about SIMD (Single Instruction Multiple Data) instruction sets for multimedia applications for PC: MMX, SSE, SSE2, 3DNOW (basic), VFPU for PSP’s Allegrex, and ARM’s NEON.
Assembler