Inspiration

After taking many Computer Science classes at UCLA that require use of the SEASNET linux servers, we became frustrated with the interface. Logging into and navigating the servers required typing out many of the same commands, and exploring the file system could only be done through a command line interface. Some of us spent hours downloading services such as FUSE and writing scripts that could log into our account for us. However, these solutions were messy and did not work on many platforms. As a result, we were inspired to create a cross platform SEASNET IDE called SEASide that could benefit all Computer Science students at UCLA.

What it Does

SEASide is the best way to use the SEASNET linux servers at UCLA. SEASide provides a free cross platform graphical user interface that allows users to login to SEASNET. SEASide saves your username and password as well as automates the process, saving you from monotonous and unintuitive commands. SEASide creates tabs for each connection to the server and uses your custom server settings to automate the process. For each connection a file explorer is displayed to streamline navigation on the server. In addition, a terminal is emulated that securely streams commands entered by the user to the server. The terminal also accurately displays text and special characters that are received as well as nontrivial applications like emacs and vim.

Improvement

Throughout this project our team improved drastically in many ways. For one, many of us were only at a beginner level in python coming into the project. We all drastically improved our python skills, and did so in a ‘no cutting corners’ sort of way. We made sure we followed good object oriented design, and language conventions, like naming conventions. We learned PyCharm, Pipenv, numerous Python libraries, and Python in general, inside and out. How else would we have been able to write such a stellar terminal emulator? We learned how to send data and files through manual SSH and SFTP connections to and from remote servers. Additionally, we learned various organisational tools. We used Trello and Git to keep our team’s priorities straight, and keep version control together.

Technical Difficulty

Technical difficulties include:

  • SSH authentication
  • SFTP file exploration
  • Accurate terminal emulation
  • Cross platform GUI

Impact and Creativity

Our team has big dreams for SEASide. After the hackathon, we plan to host the software on a website so that it will be readily available for anyone looking for a better SEASNET experience. We hope that with our software, incoming UCLA Computer Science students will spend more time learning and loving Computer Science, instead of laboriously configuring and interfacing with the SEASNET servers. We made sure to develop SEASide as cross platform and free so that the most people would be able to enjoy our product.

Built With

Share this project:

Updates