Bio
I am Anthony Maranto, a software engineer specializing in full-stack development. Here on this dingy-grey site is where you can find some of my projects on display. I attended the University of Texas at Dallas for my undergraduate degree in Computer Science. In my spare time, I enjoy playing video games, programming small applications, watching anime, and writing short stories, roughly in that order. This site itself is fairly basic; its main purpose is to serve as an entrypoint into my web applications, accessible via the header or the demos section below. In the future, I hope to add a ramblings-style blog here to keep track of my thoughts and experiences.
Journal
No journal entries found! Maybe later...
Research
During my time in college, I performed cybersecurity reserch with Dr. Kangkook Jee. This involved dataflow tracking, provenance analysis, binary analysis and instrumentation, and maintaining large databases of system events for one project; and improving Python decompilers and improving the analysis and explainability of graph neural networks for another project.
Featured Demos and Projects
A fully-documented, fully-functional online assisted character sheet for the roleplaying game Nobilis. The system is currently open for account/sheet creation; just click the demo title and create an account! I've also generated an example sheet you can look at here.
If you'd like to see the code, it is available on GitHub here. I hope to eventually add collaborative editing so that two people can work on the same character sheet at the same time without causing conflicts.
This is a browser implementation of the classic game "Guess Who?", using Pokemon as the characters. Simply use the form here to generate a new game, then click "Create Game" and send the URL to a friend. The game will automatically start when the other player joins. Additional players may join as spectators, and the system is fairly well insured against lost connections. While the game does have a fully-functioning chat, I would typically recommend using voice chat.
Happy guessing! Currently deactivated
For a class, I collaborated with Usaid Malik to develop a "chatbot" that could provide the user with information about video games. Normally, this would be a small feat, but I am particularly proud of this project because of my last-minute additions: the chatbot's schema is not limited to games. It can assimilate arbitrary information through informative language, and it can then answer questions about that information asked in natural language.
Click the title for a demo in Google Colab or look here to see the code (and other demos).
For my senior design project, I worked with three other students to combine machine learning, natural language, and biometric information techniques to improve sentiment analysis and speech recognition.
This work was performed in coordination with the MINTS center at UT Dallas.
For HackUTD VI, I collaborated with Usaid Malik and Vignesh Vasan to create the Automated Weather Watcher, a mobile app backed by a powerful server-side neural network that predicts the proper temperature to set one's thermostat to based on the airflow in the building, taking into account both efficiency and comfort.
Our app won first place in the CBRE category (listed as "Weather-based Building Power Management").
The app's source is available here, and the server source is available here.
Inspired by the game on Steam, I created a Lua-based version of 5D Chess as a sort of sandbox across a few days. The end game is playable and supports most chess rules, although I never got around to implementating castling, knights, or checkmates.
The game was created with Love2D, a nice little game engine that I may never tire of. I suppose there's some irony Love2D was used to make this version of 5D Chess.
Click or hover here to see a screenshot.
TheDM is/was a work-in-progress application intended to create an automatically-generated world that a D&D dungeon master could use to generate NPCs, villages, locales, plots, etc. on-the-fly without worrying too much about seams in their stories. I managed to get the base app working, but I had to abandon the project after I started implementing configurable tables. My hope is to return to a version of it someday.
Click or hover here to see a screenshot.
Current Projects
Here are some random hobby projects I'm working on or have worked on recently. Unlike those
listed in the demos section, these are at completely unpredictable stages of development,
and most are nowhere near a legitimate release. As I've been working a full-time job for the
last few months, my hobbies have suffered, and most of my projects are on a temporary or indefinite
hold.
I hope to get back to them soon.
- Active ComfyUI-SaveAsScript - A simple "custom node" for ComfyUI that allows saving workflows as standalone Python scripts.
- Active "HG" - A simple horror game based on my ACQUIREhope engine, rewritten from the ground up to actually be efficient this time.
- Complete darkstory - A small, text-based game I'm working on in my spare time that runs on a Discord server through a voice and text channel. The player(s) navigate through four levels involving several different LLM-backed agents that interact with a virtual environemnt. Now that this project is complete, I may release it soon.
- Active Story Teller - A system inspired by guidance that allows flexible interaction with LLMs for the purpose of designing a story. Eventually, the template engine that backs Story Teller may be branched out into its own project.
- Semi-Active Flow - An esoteric language that uses extremely simplistic water physics to control the flow of the program. Intended to work with ASCII art as-is. Inspired by Dwarf Fortress and other simulation programs. Written in Go.
- Semi-Active HLISS (Human-Language Information Storage System) - Also called "HEISS" ("Expression" instead of "Language"). This is a massive natural language project that pulls from a lot of my previous NLP experience. Essentially, HLISS is meant to be a storage system queryable entirely using natural language. This in and of itself isn't much - you can query Google with natural language; what makes HLISS interesting is that it will store not the information itself as text but a semantic representation of the information. I got the idea while working on GameBot in the demos section above, since the database that GameBot uses employs an extremely simplistic database format to store its so-called "semantic" information. My hope is that HLISS will be able to "read" a book to construct a database and then be able to answer explicit questions confirmed (or possibly implied, in the logical sense) by the text.
- Semi-Active FloWTF - A small Love2D "game"/"experience" inspired by Dr. Jenna Moran's "Wisher, Theurgist, Fatalist, & the Weaver of Their Fates" . Based partially on Xavid's text adventure, this iteration of the game focuses more on a meta-narrative element. As you play out story paths in the "console" side of the screen, the "WTF" side of the screen displays "action-sensation-cognition"-style flowcharts describing your story in detail. At the end of the game, these flowcharts should form your meaning in the world.
- Semi-Active Connection - I have been working on-and-off on a game called "Connection" or "The Connection" for nearly six years now. I think I've started and restarted development on it at least eight times now.
- Semi-Active AVID (ASCII Video Integrated Display) - A Linux program that allows you to display an X screen in a terminal using ASCII characters. The idea is that this would let users run Linux graphical applications on headless servers without needing to use (I've found) often finicky VNC or X forwarding. The display system for this is almost entirely completed, with integrated Tesseract OCR and a few other features. The only thing I need to work on is getting X events to consistently go to windows. I might have to look into making a virtual mouse driver, since the XTest/XEvent frameworks have thus far been insufficient.
- Semi-Active ACQUIREhope - A browser-based game I've been working on on-and-off. The general idea is that you have to use a bunch of negative words to build upwards to "hope," the word that will allow you to escape your fate. To do this, you have to play through a series of minigames that focus on the specific terms you're trying to create. For instance, "sorrow" and "hatred" together might form "self-hatred," and you'll have to go through a minigame in which you avoid negative words impacting your "core." It's a weird, almost psychadelic video game. I moriginally created it just to learn some of the more advanced features of CSS animations, but I eventually developed a "style" for it. One of the interesting aspects of the game is that, despite the fact there are no image graphics (the only graphics are words and background colors), there is also no phrase used longer than three words. "X not found" is the longest phrase of three words ever displayed within the game.
- Inactive CodeInContext - A Chromium extension that allows you to execute arbitrary lines of JavaScript code in the context of certain pages (specified by configurable rules). This lets you apply certain patches to pages, enabling custom functionality that isn't already present in the site. For instance, when you press the "up" key in Slack, it selects the most recent message instead of (like most messaging services) opening your most recent message for editing. With CodeInContext, you could fix this by manually intercepting the keypress event and preventing the default action.
- Inactive lagomor.ph - An attempt to create a clone of the now-defunct website rabb.it. I got a fully-functioning web interface to a clientside Chrome instance running, but I was having issues with low bandwidth, so I put the project on an indefinite pause.
Skills, Tools, Languages, etc.
Notable Proficiencies and Familiarities:
- Here are some languages, tools, strategies, and methodologies that I am familiar with. Listed as they come to me and as I look through past projects, in no particular order.
Personal Favorites
- Python - Python was my first language, 12 years ago. I still use it quite frequently today for basic scripts, data analysis, machine learning, and small miscellaneous projects.
- PyCharm - It's quite nice to have such a good IDE for Python these days. When I started, IDLE was still quite popular, which is... not my preference.
- Love2D - Game development isn't my main focus, but I've had hundreds of hours of fun programming tiny snippets of games or larger snippets of larger games in Love2D.
- Visual Studio Code - I've been using VS Code for a few years now, and I've found it to be a great all-around editor. I've used it for Python, C++, C, and HTML/CSS/JS. Fun fact: the first sentence of this section was actually suggested by the GitHub Copilot extension for VS Code.
- C - A lot of my more recent work has been in low-level languages, and I have always found that C is a nice compromise between usability and machine code accuracy. If you need something simple and fast, C is typically quite good.
- NodeJS - A lot of my more recent applications have leveraged some helpful NPM libraries to rapidly construct production-grade applications.
Links
Some links you may find relevant.
- My GitHub
- Dr. Kangkook Jee (mentor and prior research lead)
- Usaid Malik (friend, peer, and collaborator)
- xkcd (come on, what programmer doesn't read this?)
Contact
You may send an email to "anthonymproxy" followed by an at symbol, followed by
Google's email service domain, "gmail.com".
That'll fool the spambots.