gomirror - A CLI Linux distribution mirror ranker

gomirror - A CLI Linux distribution mirror ranker
A screenshot of the gomirror CLI in use.
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.
Read more →

A simple URL shortener RESTful API written in Go

A simple URL shortener RESTful API written in Go
A screenshot of the API docs of the url shortener.
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.
Read more →

armOS - Building a simple ARM Operating System for the Raspberry Pi

armOS - Building a simple ARM Operating System for the Raspberry Pi
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.
Read more →

Building a DSL Info Bot with Selenium and Plotly

Building a DSL Info Bot with Selenium and Plotly
A screenshot of the time series generated plot from the DSL link info over time.
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.
Read more →

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)
A screenshot of the full stack app, where a user can search for movies on streaming platforms.
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.
Read more →

Building a Chip-8 emulator used by 8-bit microcomputers

Building a Chip-8 emulator used by 8-bit microcomputers
A screenshot of the CHIP-8 emulator running Space Invaders.
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).
Read more →