Giter VIP home page Giter VIP logo

Robert's Projects

2-uart icon 2-uart

Linux Kernel module to interface an UART device and communicate through it.

3-raid icon 3-raid

Linux Kernel module to implement RAID 1 replication with virtual disks

clustering-and-k-means icon clustering-and-k-means

An University Project where I implemented the K-Means algorithm for clustering data points in a multi-dimensional space.

distributed_text_processing icon distributed_text_processing

An orchestrator node distributes work (text to be processed) to other nodes on different machines. Each completes its tasks using a self-made thread-pool and reports the results back to the main node.

elf_loader icon elf_loader

A basic ELF file loader and dinamic memory alocator that loads pages into virtual memory on demand through the Soft Page Fault system call.

flappy-bird-racket icon flappy-bird-racket

A Flappy Bird game written in the state-less (funcitonal) programing language, Racket.

image-compression-and-face-recognition icon image-compression-and-face-recognition

A practical example of Linear Algebra and just how strong matrices are in mathematics. We compare different compression ratios by how much information is retained in the image as we use less and less memory. To reduce the memory we use the Singular Value Decomposition (SVD) algorithm on the matrices. We can retain a smaller part of the singular values obtained in the S matrix of the SVD algorithm and by doing this we lose some image quality. To perform the face recognition algorithm, we take a few images that we know contain faces and extract the eigenvalues of the images (that are after all only matrices of values). After this we check on other images that we give as input to obtain a certain percentage of the eigenvalues similar and after a certain threshold, we consider there are no faces in that image.

infoarena icon infoarena

Infoarena algorithmic probems from infoarena.ro

licenta icon licenta

Identify and recognize tire markings in pictures.

pid-controller-simulator icon pid-controller-simulator

This can be considered a homework for students who want to learn to implement a Proportional Derivative Integral (PID) Controller so I will not provide a solution just yet. This program is a simulation of the physics of a drone ascending. The drone has mass, it's in a gravitational field and has to reach a certain height. The drone is equipped with motors that do not have an instant response to simulate motors in the real world. The student has to write a PID Controller in the "pid.cpp" file and when he runs the program, the drone has to reach the target height as fast as possible with a minimal overshoot.

process_scheduler icon process_scheduler

A process scheduler simulator that swaps in and out of the running state multiple threads while also doing context switching.

roll-the-ball-haskell icon roll-the-ball-haskell

The game "Roll the Ball" implemented in Haskell and a solver for the game using the A* algorithm.

router-packet-simulator icon router-packet-simulator

Used the Internet Protocol (IP) and the Ethernet/Industry Protocol (IP, I know, funny coincidence) to implement the ARP and ICMP protocols on a simulated router. The really nice part is the lookup time in the routing table that is very efficient. The lookup time is asymptotically O(1) by using the following data structure: a vector of 32 elements, and those elements are hash-tables. A position in the vector represents the network mask and there are only 32 possible network masks (practically there are only 31 but to be rigorous I implemented for 32) and for an incoming packet I must find on which interface to send it by making a logical AND between the destination IP and a network mask, prioritizing the smaller masks first. So I start in the vector from the 32nd element and see if the result of destination_IP & mask is in the hash-table. If it is, I found where to send the package. If not, I look further at the bigger masks. TLDR: because I hold my information in a vector of size 32 which has hash-tables as it's elements and my information is in those hash-tables, I can extract the information in a constant time.

sound-iding-crazyflie-firmware icon sound-iding-crazyflie-firmware

Based on the main firmware for the Crazyflie Nano Quadcopter, Crazyflie Bolt Quadcopter and Roadrunner Positioning Tag. Modified for identifying drones pseudo-uniquely based on the mottor sound.

superapp icon superapp

Kotlin implementation of Trustchain and IPv8 with rich networking: multihoming of local Bluetooth+4G, decentral social networking, UDP hole punching, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.