Hello! My name is Andrew Ealovega.

I'm an aspiring programmer who loves to experiment. Here's a peek at what I'm working on!

projects
Queue Alert

Queue Alert is a Progressive Web App (PWA) that will send notifications whenever an amusement ride reaches a certain wait-time threshold. It is designed to be mobile first and highly unobtrusive to use. Under the hood, Queue Alert is implemented as a Typescript Reactjs frontend, with a Rust based actix web push server acting as the backend.

Rust Web Push

Rust Web Push is a library that provides the tools needed to send web push notifications to clients using any standard web push API. I originally began contributing to the crate while working on Queue Alert, eventually taking up a maintainer position. My work in this repository is a great example of what my professional code looks like, including things such as git etiquette and documenting breaking changes.

WrapAround

WrapAround is an online clone of Pong with 16 players per game and breakable blocks akin to breakout. The game incorporates much of the .Net stack, including: Asp.Net Core, Signalr, Blazor WebAssmebly, custom System.Text.Json converters and more. Feel free to verse your friends, or play yourself by opening multiple browser windows.

SyncSharp

SyncSharp is my answer to the lack of dead simple open source file syncronisation software on Windows. It allows for both per file and per folder syncs at defined time periods, which can be monitored and edited using the GUI. This is all achieved using a windows service, which communicates with the GUI using named pipes.

Truth Table Generator

My Truth Table Generator creates truth tables from arbitrary Sentential Logic Expressions. The internal expression tree uses the Expression API from Linq, so expressions inputted are essentially "JITed" by the runtime. As per usual, the frontend is implemented in Blazor WebAssmebly.

IPSWdl/ipswdl2

IPSWdl is a command line utility to download Apple's IPSW firmware files. The original ipswdl is written in .Net and compiled to native code using CoreRt, while ipswdl2 is a rewrite in rust that improves its real world usablity by adding proper logging, progress bars, and a more mature UX. Ipswdl2 is used at my current job to ensure fast turnarounds if a device reinstall is needed, as we don't need to download large files while customers wait.

Algo

Initially made to fill in the lack of a standard heap and result, Algo is a collection of data-structures, helper classes, extensions, and functional constructs made to fill in gaps in the BCL.