I'm a freelance software developer. Frontend web development is my specialty, but I cultivate interest in a wide variety of topics related to programming and mathematics.
I'm currently studying Finance and Risk Management and hold a Bachelor's degree in Computer Science, with a thesis on Procedural Content Generation and Real-time Rendering Techniques.
I'm available to work short-term, remote contracting jobs, so if my areas of expertise match your needs feel free to contact me.
Frontend Web Development
I tend to meticulously structure my workflows by employing standard tools and a sound, semantic code structure. I tend to use CommonJS where possible as a means of structuring my code, due to its small code overhead, and tools like Grunt or GNU Make to automate tasks.
- GNU Make
- HTML5 API
I think a scientific approach to software design is fundamental for achieving the best possible results in terms of code correctness, mantainability and efficiency. Moreover, relying upon academical findings and research can greatly aid in finding elegant solutions to complex problems.
This is one of the reasons I'm learning pure functional programming and the Haskell language.
- Formal languages
- Cellular automata
- Information theory
- Artificial intelligence
- Neural networks
- Analysis of algorithms
- Graphs and data structures
- Signal processing
- Digital image processing
- Human computer interaction
3D Graphics programming
I study and work with 3D modeling and rendering algorithms. I'm familiar with the OpenGL pipeline and various mathematical methods of describing and rendering geometry. On occasion I like to write about them in my blog.
- Skeletal animation
- Solid shading
- Isosurface polygonization
- Procedural geometry generation
- Augmented reality
Game development and creative programming
I enjoy developing (and playing) videogames as I think this is one of the areas of computer programming that encompasses the widest range of knowledge domains, where all the efforts and skills of a programmer are heavily tested and brought to their limit. I thus think programming a videogame to be one of the most rewarding challenges out there. Specifically, one of the most fascinating techniques is procedural content generation, which I employ extensively in my game programming process.