Meri Eskelinen's Projects
A simple finite state machine project base for a Design pattern workshop.
C++ training modules
A small project to create a raycaster from a text file to render a minimap, different textures for walls facing different directions and player movement.
Head First Design Patterns patterns project for teaching purposes.
3D Graphics project in C. The program takes in a file name of an existing map and draws it into a 3D wireframe in isometric projection using Bresenham's line algorithm.
Fizz Buzz project for TDD workshop.
A program implemented to mimic the behavior of a C function printf. The program implements the conversion and printing behavior of printf flags c, p, d, i, u, x, X and %.
An implementation to read a file one line at a time. The implementation can be compiled with a macro BUFFER_SIZE based on the needs of the rest of the program, but works with any buffer size.
A virtualization of several microservices that make up a ready-to-use application: MariaDB, Wordpress and NGINX setup for any machine using Docker and docker-compose, each service built from scratch on top of a small linux distribution.
A small game AI simulation of the good ol' Johnny Castaway screensaver. Johnny is stranded on an island and as the days go by Johnny gets tired and hungry, in which case Johnny will decide between eating or sleeping based on fuzzy logic and then uses A* pathfinding to find berries or to his tent.
Computer Graphics with C#
A small test project to deploy a website with a proper infrastructure into Amazon using Terraform.
Minishell mimics the behavior of the good ol' bash. The project handles pipes & redirections, environment variables, expansions, signals and has built-in functionality for the following commands: cd, pwd, env, export, unset, echo and exit.
Small program to print strings in console sent from a client to the server via UNIX signals.
A space themed OpenGL graphics project.
A classic Dining philosophers problem solved with a multithreaded program. The program takes in the amount of philosophers, which is also the amount of forks available in the dining table. The program feeds the philosophers in turns with the limited resources (forks) when given reasonable input.
A sorting algorithm to sort an integer array with two stacks. In addition to basic stack behavior the stack have the ability to be rotated for- and backwards. The algorithm sorts a list of 2, 3, 5, 100 and 500 in less than 1, 2, 8, 700 and 7000 moves on average.
An HTTP server based on the Hypertext Transfer Protocol specifications, focusing on serving a static website, handling dynamic content through CGI (Common Gateway Interface), and supporting various HTTP methods like GET, POST, and DELETE.