gomirror - A CLI Linux distribution mirror ranker
![gomirror - A CLI Linux distribution mirror ranker](https://thanoskoutr.com/covers/gomirror.png)
The project is in Work in Progress (WIP) state. A lot of functionality is still missing.
About gomirror is a CLI mirror ranker that its main goal is to rank or find the best mirror for a Linux distribution. Although it can be extended to be used as a more general ranker for mirrors/servers.
It is build with usability, extensibility, and performance in mind. It can quickly make thousands of requests with the power of Goroutines, to all servers in parallel.
A simple URL shortener RESTful API written in Go
![A simple URL shortener RESTful API written in Go](https://thanoskoutr.com/covers/url-shortener.png)
About An simple URL shortener RESTful web service API written in Go, using the net/http package for the server, the HttpRouter for the router and Bolt DB for the database.
The Stoplight service was used to design and document the REST API. See below for the API Documentation
The API service is deployed on Heroku, and you can access it on url-shortener-thanoskoutr.herokuapp.com.
Because the Heroku Free plan is no longer available from November 28, 2022, the above link does not work.
armOS - Building a simple ARM Operating System for the Raspberry Pi
![armOS - Building a simple ARM Operating System for the Raspberry Pi](https://thanoskoutr.com/covers/armOS.png)
A simple ARM Operating System for the Raspberry Pi, supporting Aarch32 and Aarch64 architectures. It supports both Raspberry Pi Zero / Zero W and Raspberry Pi 4.
This project was made for the Embedded Systems course at NTUA 2020-2021.
Quick Links:
GitHub repository: https://github.com/thanoskoutr/armOS Wiki Documentation: https://github.com/thanoskoutr/armOS/wiki Doxygen Documentation: https://thanoskoutr.github.io/armOS/ There is presentation in Greek that was made to showcase the Project. You can find it here or hosted in the repository.
Building a DSL Info Bot with Selenium and Plotly
![Building a DSL Info Bot with Selenium and Plotly](https://thanoskoutr.com/covers/dsl-info-bot.png)
About A python bot, that uses Selenium, in order to automatically access the Router/Modem’s web-based setup page and get DSL Link info. It uses Plotly to create an interactive Plot as an HTML web page.
It also supports the export of the data to an InfluxDB Bucket for further monitoring and visualizing.
Currently gets the following info:
CRC Errors FEC Errors Showtime_start Support for the following Routers/Modems:
ZTE Nova Routers (H267N, H288A, …) The need behind this project, was to monitor my DSL Link information over time, to correlate with various internet outages or sudden internet speed issues.
Building a full stack application for finding Movies on Streaming Platforms with the SERN stack (SQL, Express, React, Node)
![Building a full stack application for finding Movies on Streaming Platforms with the SERN stack (SQL, Express, React, Node)](https://thanoskoutr.com/covers/movies-streaming-platforms.png)
About The purpose of this project is to create a Web Application in which a user can search movies to watch in different streaming platforms (Netflix, Hulu, Amazon Prime, Disney+).
The user can filter the results with different criteria and choose to search on any number of the streaming platforms in order to find the desired movies. Also, some statistics are provided about the number of movies that are available on each platform in the form of a pie chart.
Building a Chip-8 emulator used by 8-bit microcomputers
![Building a Chip-8 emulator used by 8-bit microcomputers](https://thanoskoutr.com/covers/chip-8-emulator.png)
About This is an emulator (interpreter more accurately) for the CHIP-8, an interpreted programming language, developed by Joseph Weisbecker and used on 8-bit microcomputers in the mid-1970s.
Example: Pong on the CHIP-8 emulator
It was implemented as a side project to understand better a systems architecture, by implementing every assembly instruction in code. Chip-8 is a very simple 8-bit microcomputer, with a small but complete set of instructions (only 35 opcodes).