"When you want to know how things really work, study them when they're coming apart"
Zero History - William Gibson

  • About
  • Three
  • React
  • API
  • Desktop

Research

“People think of education as something they can finish.” ― Isaac Asimov

Currently studying towards obtaining a PhD in Audio Description Automation. The goal of my research is to investigate various automation methods/algorithms which could be used to automate the human audio description process and thus improve accessibility for audiovisual content.


Programming

“The most disastrous thing that you can ever learn is your first programming language.” ― Alan Kay

My first contact with programming was when I was a child and stumbled upon some Fortran punchcards that my father had. The first PC that I had was 486 DX2 66 on which I saw the first lines of code. During middle school, I used to play around with creating (bad)maps for Starcraft. During highschool (around 2007), I studied computer science where I learned about pseudocode together with Turbo Pascal and later C#.


Linguistics

“Syntax overrides carbon dioxide.” ― Steven Pinker

After highschool I went to study linguistics and translation, and have received a BA in Modern Applied Languages (En-Fr-Ro). The subject of my BA thesis was investigating automated voice translation, and for the final project I created a basic voice translator. I further obtained a Master's in Translation Studies and Terminology, where I pivoted towards specialized translation in the fields of law and technology.


3D Modelling and Rendering

“Nonsensically spinning and moving around the default cube is the first step towards perfection.” ― Anonymous

I first started with Google Sketch-up and then transitioned to Blender and 3DS Max. Unfortunately, 3DS Max never really clicked with me and I focussed on Blender. My modelling is mostly focused on low-polygon sci-fi models for games such as Freelancer and RTS such as Survive Mars. I also have experience with rendering engines such as Blender Cycles and VUE by E-on.

[JS] Monsters and Magic

Three.js, Moralis, Chart.js, Cannon.js, die.js, CRUD

I am a big fan of DnD style games, some time ago I decided to try and make one such game from scratch. The plan was to create a 2d turn-based RPG game using html/css and js. One thing let to another, and now it has 3d characters and character gear. This is the project where I first started working on back-end things.


[JS] React Three Fiber chess

R3F, Drei, Cannon.js

My first attempt at learning fiber. The goal was to create a working 3d chess table. While it is a work in progress, it does have some features implemented. Pieces can be moved (implemented for queens only currently) by inputting the square (e.g. e4). The piece is moved when the text-box detects a valid square position.
The position of the pieces is set using the api, and the coordinates for each square have been mapped to the corresponding chess notation square.
The next steps would be to implement the moving mechanics for each of the remaining pieces. Once that is finished, I can take advantage of the chess notation mapping to implement a rudimentary ai. Model better chess pieces to replace the current ones.


[JS] Three JS GO

Three.js

19x19 GO board made in threejs. Pieces can be placed, but captures are not yet implemented. As usual, in a standard match, black goes first. The game automatically alternates between sides.

[JS] Sneaker Landing Page

R3F, Drei

Sneaker landing page create using react3fiber. It features a css wave animation and a sneaker color customization tool. It uses Valtio for state management and react-colorful for the color picker.


[JS] React One Page Template

React

It took me about 3 hours to finish the project, which was much shorter that I thought it would take. While I do have previous experience with JS/CSS/HTML, the only contact I had with frameworks such as React was when I created a basic RPG game in VUE.js. Nevertheless, even in that case I only use some basic functions like routing and conditional routing.

I wanted to find a real-life situation in which I could use this template. The goal was to see to what degree I am able to modify it on my own. I choose the website of Yella Umbrella, a company with which offers, amongst other services, a really interesting audio description software solution. Hopefully they do not mind that I have done this.

[JS] Machine Interpreting

Rev.AI + Libre Translate + Responsive Voice

Automated interpreting using of-the-shelf APIs. I created this before teaching an introductions to machine translation and machine interpreting. It was well received by the students, and it helped me with showcasing how a bare-bone machine interpreting system would work.


[JS] Generate player stat card based on Github data

GitHub API

Search a GitHub user and generate a player card based on their stats. I made this at a point when I was wanted to use these stats to create a player character sheet for the Monster and Magic RPG I am working on.

[C#] Fontastic OCR

Tesseract, Data Labelling, Model Training

Train OCR on custom fonts. An old tutorial I made after need to run OCR on some rather unique writing. Since I had no luck with the current existing OCR, I had to train my own detection model. This tutorial was made based on the notes I have taken while learning how create custom OCR. Sample Alphabet used is the Alienese from Futurama.


[C#] Computer-Assisted Translation (CAT) tool

MT APIs, Dictionary APIs, VTT/TTS APIs, CRUD

Before starting grad school, I worked on building a CAT tool from scratch in C#. While I cannot say that I have fully succeeded, I did manage to implement several features that could be found in a CAT Tool. I still have the source code, but it's a Frankenstein creation that would not serve anyone. Nevertheless, I am using it to explain my train of thought when finding solutions for various problems I had to solve.


[C#] MiniSolPlayer

Older project of mine made in C#. The goal was to see if I can create a basic music player with play controls, volume controls and playlist importing and exporting. Small, but fun project.


[C#] Resource Watcher

I do not remember exactly what prompted me to make this small program. I do believe that I was looking at ways of representing data in a way that is easy to understand and easy to use. Learned how to generate graphs from data and create automated data logs.

[JS] Monsters and Magic

Three.js, Moralis, Chart.js, Cannon.js, die.js, CRUD

I am a big fan of DnD style games, some time ago I decided to try and make one such game from scratch. The plan was to create a 2d turn-based RPG game using html/css and js. One thing let to another, and now it has 3d characters and character gear. This is the project where I first started working on back-end things.