A list of open source tools for college

A list of open source tools for college

Learn what hardware and software tools this university student uses every day.

A list of open source tools for college
Image by : 

opensource.com

This quote mirrors my own personal experience with FLOSS (Free/Libre Open Source Software).

"When I first got into technology I didn't really understand what open source was. Once I started writing software, I realized how important this would be."

—Matt Mullenweg. (n.d.). Retrieved March 15, 2017, from BrainyQuote.com

I've used Linux now for 3 1/2 years, which to me is a substantial period of time. In that time, I have gone from only using LibreOffice to expanding into a purely Linux and open source workflow. I have built my workflow around only using open source software if at all possible, although I am required to use a couple of proprietary tools sparingly.

I'd like to share my own philosophy regarding open source.

I was first introduced to Linux by my programming teacher; he is a passionate believer in FLOSS and he converted me. I have a passionate belief in the technical superiority of open source tools over proprietary ones because they allow me the freedom to use them however I wish. Also, FLOSS has reduced the cost of my education significantly because I'm not required to buy expensive licenses, which lock me into specific software.

I fall into the open source camp as opposed to free software, but I still have an edge on other students who rely mainly on Mac OS and Windows, although unfortunately, I'm only one of a few in the department who uses Linux.

My hardware and software

I have three machines with I rely upon to do my work. My main machine is a Dell Optiplex 7020 (Core i5 processor, 16GB DDR3 RAM, 120GB SSD AND 1TB HDD), a Lenovo Thinkpad X230 (Core i5 processor, 16GB DDR3 RAM, 240GB SSD), and an Apple Macbook Air (Core i5 processor, 2GB RAM, 60GB SSD. My workstation and MacBook Air are both running Fedora 25 Cinnamon spin, while my Thinkpad is running Linux Mint 17.3 Cinnamon.

I use Google Chrome as my browser (as it was supported on Fedora before Chromium was made available in the Fedora repositories.) and also because some of my tasks take place using Google Apps.

My email address is a private domain owned by me so I use Zoho email, as it is free to use with private domains.

Programming

My studies are in the field of Computing, taking a special interest in Data Science and Web Standards. I took an interest in Data Science because of my own studies with Python. I experimented with libraries such as NumPy (a scientific computing based library) and Matplotlib (a library for plotting 2-D graphs). My university offers an optional module in this area so I elected to study it in my 2nd year.

I use my terminal for many tasks and use the XFCE-Terminal and Kate text editor for running Python scripts I use also Java to as a core component of my course. Again I use the Kate text editor to write my scripts and then run it in the terminal using the 'javac filename.java' compilation command to run command line programs.

Python script screenshot

Python script screenshot

My programming languages are:

  • Python
  • Java 
  • SQL 
  • HTML5 
  • CSS3
  • JavaScript 
  • LaTex

Web development

I enjoy building websites in my spare time as I find it to be very therapeutic and productive. I build websites for non-profit organizations in my spare time and I am currently experimenting with the Bootstrap and Foundation frameworks.

Over the summer, I plan to also try React.js or a similar framework. For PHP development I use an Arch Linux virtual machine, utilising an Apache web server instance along with MariaDB. To interface with the database, I use MySQL Workbench as an IDE to conduct SQL queries to compare my SQL queries embedded into PHP.

Assignments and presentations

Writing assignments is a core component of any degree course and for this purpose, I use Kate and Libreoffice. When I write an assignment, I prefer to have a distraction-free environment which allows me to get on without interruption as I write. This also removes any unnecessary bloat which comes with a full word processor. Once I have written the assignment within a text file, I then copy the content into LibreOffice Writer for purpose of formatting my assignment and including any images or graphics which are needed.

Presentation screenshot

I use Libreoffice Impress for any presentations I am required to give. It makes it very simple to give a presentation, because when plugged into the projector my laptop displays a useful set of presentation tools including the next slide, a timer etc.

I have been experimenting with using LaTex to write my assignments, as I am interested in an academic research career within the field of Data Science and Informatics. To enable me to do this I have been using a website called Overleaf which is a collaborative, cloud-based Tex environment with a WYSIWYG (What You See Is What You Get) and code split screen.

Backups

I have a very stringent backup regime. I follow an on-site and off-site backup model. I backup all my data using a cronjob to save to an external HDD (External Hard Drive) and a program called SpiderOak, which is a privacy respecting end-user encrypted cloud backup.

About the author

Aaron Cocker - BSc Computing student attending university in the UK. I am an aspiring Data Scientist. My favourite language is Python. Feel free to contact me at aaron@aaroncocker.org.uk or visit my personal website: https://aaroncocker.org.uk