Hello
I am a passionate programmer with great experience in graphics development and an
interest in human-computer interaction. I enjoy studying and experimenting with new
technologies.
Employment
-
September 2011 - present
-
DevTools programmer at Mozilla
-
Contractor, working on Firefox developer tools and integration.
-
April 2011 - September 2011
-
Google Summer of Code student at Mozilla
-
Worked on the Tilt project: a WebGL-based 3D visualization, inspector and debugger
of a webpage's DOM.
-
February 2011 - April 2011
-
Freelancer
-
Developed iPhone, Android and WP7 games, entertainment and business apps.
-
April 2010 - February 2011
-
iOS programmer at MobileTouch
-
Full time developer, responsible with OpenGL programming for iPad, iPhone and iPod
Touch, team leading and scm.
Projects and experience
-
Tilt
-
Firefox extension focused on creating a 3D visualization of a webpage, drawn using
WebGL. Since the DOM is essentially a tree-like representation of a document, this
tool layers each node based on the nesting in the tree, creating stacks of elements,
each having a corresponding depth and being textured according to the webpage.
Install Blog Articles
-
» WebGL, GLSL shaders, JavaScript, XUL
-
JavaScript-AES
-
Simple AES cipher implementation in JavaScript, using 128/192/256 bit keys (optinally
hashed using a SHA-256 function) and any variable-length input, providing both encription
and decryption.
Demo
-
» JavaScript
-
Sublime-JSHint & HTMLPrettify
-
Build system and python plugins for Sublime Text 2 editor, providing JavaScript Lint
syntax + code quality validation and HTML/JS/CSS formatting using the node.js server
environment.
-
» JavaScript, Python
-
Pegasus
-
Console-based 3D server daemon rendering Maya skinned or animated models with complex
procedural texture effects, also exporting custom animations in .swf or .gif format.
-
» C++, OGRE, OpenGL, DirectX, nVidia Cg shaders
-
ChameleonTouch
-
Advanced cross-platform graphics engine, designed to facilitate rapid game development
on mobile platforms like iOS, Android and various Qt supporting devices.
-
» OpenGL ES, GLSL shaders, iOS/Android/Qt SDK, Cocoa, Quartz2D, C/C++, Objective-C,
ARM/x86 assembly
-
iBuild
-
Location based sharing for buildings, an iPhone client for a social network service
combining Twitter, Foursquare, qr-code checkins, maps and timetable for a faculty
or campus.
-
» iOS, Cocoa, Quartz2D, Objective-C
-
Cityquest
-
Puzzle/RPG game, consisting of a procedurally generated city and various MDG problems
which the player is required to solve by interacting with other NPC characters.
-
» C#, XNA, Windows Phone 7 development tools
-
AndroidRemote
-
Scalable remote access application for controlling a Windows environment, specifically
used for launching and handling applications like PowerPoint, Windows Media Player
and others, consisting of a server and a client app.
-
» C#, Java, Android SDK
-
iControlTux
-
Remote access application for launching, closing and/or controlling Linux environments
and applications using an iOS device by WiFi access, also collecting data about the
users, processes, system usage, services and connections.
-
» iOS, C, Objective-C, Qt, SQL
-
La`mess
-
Cross-platform instant messenger, based on a server and a client application, consisting
of a graphical interface and a communication protocol, with relatively rich interaction
between users, facilitating account control, status messages, account pictures, file
transfer, multi-tabbed conversations.
-
» C/C++, Qt, SQL
-
ClubOvahi
-
iPhone app designed to manage punch or stamp loyalty cards by scanning QR codes and
collecting/redeeming points and prizes. The process eliminates traditional paper loyalty
cards, generating customer behaviors and preferences statistics.
-
» iOS, Objective-C, C++
-
FaceMatcher
-
iPhone app which analyzes the distinctive facial traits of two different persons,
using camera or photo album input, and using a matching algorithm to determine the
degree of similarity between the two, offering feedback and percentages.
-
» iOS, Cocoa, Quartz2D, openCV, C, Objective-C
-
OnlineStoreApp
-
iPhone client and customer purchasing app for an online store, featuring customized
user login, preferences, maps, offers and buy/sell opportunities etc.
-
» iOS, Cocoa, Quartz2D, Objective-C
-
OpenWeb3D
-
Javascript graphics engine destined to facilitate hardware-accelerated, simple and
fast 3D rendering inside a browser, without the use of any third-party plugins, using
the HTML5 environment, WebGL and GPU shaders.
-
» WebGL, HTML5, CSS, Canvas, Ajax, OpenGL ES 2.0, GLSL
-
Motherland
-
Terrain editing tool based on quad-trees and dynamic LOD, having the ability of
procedurally generating and modifying enormous vast terrain scenery, for distinctive
regions of the world, weather conditions and time in history.
-
» C#, XNA, HLSL shaders
-
Gen: The Room
-
Cross-platform 3D graphics engine created entirely in Java, with the purpose of
demonstrating the capabilities of the programming language relative to more widely
used C/C++ by using advanced and optimized rendering algorithms and shaders.
-
» Java/JNI, jME, OpenGL 3.0, LWJGL, JOGL, GLSL, jBullet
-
Sound to picture/ picture to sound
-
Experimental human-computer interaction project, created in a 24 hour marathon,
focusing on creating emotional connections between users, sounds and images, using
advanced visualization techniques, fractals, face recognition, converting the sounds
into pictures and the pictures into sounds.
-
» OpenCV (computer vision), Minim (sound), Java, OpenGL
-
Virtual Oscillations & Periodic Table of Elements
-
Physics simulator and chemistry educational tools, designed for creating, visualizing
and experimenting with a 3D physics environment or chemical interactions between
atoms or molecules, along with the obtained substances formulas, structure and stability,
with teaching administration capabilities, as an education/evaluation platform for
students.
-
» Java, Processing, OpenGL