Inspiration

Being a computer science major, sitting in front of a terminal consists of much of what I do. File transfers, updates, fixing broken systems, all of these are processes that have grown so monotonous that I struggle to sit down and stare at the same output over and over. Both me and my father have been wanting something better and with seemingly no viable alternatives, I sought to solve the problem myself.

What it does

This is an application that gives idle hands something to do, something that piques curiosity but doesn't get your mind off the track of what it was doing. It serves as entertainment and as a technical demonstration of how powerful, interactive, and responsive applications can be, even without a GUI (graphical user interface). To summarize, terminal-boredom provides an interactive and friendly alternative to long, arduous terminal sessions.

How we built it

I chose Python because the simple workflow allows for rapid prototyping. It was built from the ground up using only modules that could be substituted with user-created modules, if need be. This project heavily applies Object Oriented Programming principles in its core, and thus allows for vast extensibility and a modular design that can easily be modified and added upon to support new functions. It follows design principles from graphics but compromised on some performance for easier-to-manage data structures.

Challenges we ran into

For the entirety of Friday and half of Saturday there was no confirmation that any of the project would actually hold together. There was little motivation to continue because I knew at that point that if I made any mistakes on the project structure that I wouldn't be able to recover. I am proud to say that I made it past the worst part and slowly, the project came together. It honestly feels like a miracle that half the things work but I am still very grateful for having a great environment and plenty of encouragement from others to keep me going.

Accomplishments that we're proud of

Making a complete rendering engine in the terminal is something I believe is my greatest feat for a 36 hour period. It's surreal to look at the results and think that everything is pure Python and bash. No tricky libraries, cheaty techniques, or terrible workarounds. I am also proud at how easy the second half of the project was. Functions and methods worked how I wanted them to and everything came together. The mandelbrot renderer is also super cool :)

What we learned

There is a lot to be said about the encouragement from friends every step of the way. Without my friends, the campus, and the countless boba runs, I would not have had the inspiration to see my way through.

What's next for terminal-boredom

I think moving to a faster language and more efficient data structures and algorithms for rendering would make the project much better and leave more room for overhead. I would also love to implement some crazier ideas into terminal-boredom, like application passthrough or a fully fledged 3d renderer (because terminal-minecraft would be even better :D)

Built With

Share this project:

Updates