Software

Office Software


Libre Office

In 2010 concern over the long term future of Apache Open Office as an open source project led to the creation of Libre Office, an entirely free and open source derivative.

Libre Office is a free and open source office suite that serves the functionality of Microsoft Office reliably and extensively. Often it is the default office suite shipped with a Linux Distro.

Libre Office offers a text editor, spreadsheet editor, draw program, slideshow editor, and math program.

LaTeX

LaTeX is a free word processor that actually uses a markup language to define the general structure of a page. It uses TeX to handle the layout while it provides an easy way to edit the content. In most cases you can work with other user defined templates, rather than having to create your own.

A nice feature of LaTeX and other software that uses TeX, is it provides a fast and efficient way to present mathematics.

Learning the basics takes an afternoon. See below for an excellent resource:

Wikibooks on LaTeX

Photoshop Alternatives


Krita

Krita is a free and open source painting program that is essentially a drop-in replacement for Photoshop in terms of functionality. It has many more features than GIMP and is quite aesthetically pleasing.

GIMP

Gimp is the traditional free photoshop alternative for Linux. It is entirely extendable, modable, and open source.

Code Editors


Sublime Text

A favourite of many CS students, Sublime Text is a feature-rich, popular GUI text editor. It is available for all the major platforms (Linux, Mac, Windows), and while technically proprietary, has an indefinite free trial.

Atom

A recent entry to the editor world, Atom is free, featureful program produced by Github. It has a built-in package manager for handling its plugins.

Emacs

Powerful and customisable, millions upon millions of lines of code have been written in Emacs over the decades. It is free software, created by members of the Free Software Foundation, and has its own internal language - Emacs Lisp - for writing plugins and defining custom behaviour.

Vim

Vim (from Vi iMproved) is another editor with a long history, and has a huge userbase. It has many plugins and an internal scripting language called Vimscript. However, like Vim is a superset of the original Vi editor, Vim also has a superset: NeoVim. NeoVim has a number of advantages over Vim:

  • Able to write plugins in any language
  • Plugins run asynchronously
  • 30% less source code than Vim
  • Embedded terminal emulator
  • More active project than Vim

Web Development


Bootstrap

Bootstrap is a popular, free and open source framework for CSS, HTML, and Javascript. It allows designers and non-designers alike to create aesthetically pleasing websites with minimal effort. In fact, Bootstrap was used on this very web site.

Django

Django is a web framework for Python. It is fairly friendly to use, features its own ORM for database access, has a built-in "administration" system for non-coders to add website content, and it powers this very site.