Open-source Rocks! Pt.4 the Technicalities

My my, how time flies - sorry for the length of time between posts, but I have been quite busy with personal matters recently and this post required some quite in-depth research and thought to complete, hope someone out there finds the information useful!

So here we are, almost at the end of our excursion from proprietary software to the land of open-source freedom. This post is going to concentrate on some of the more technical software options out there in the Free Open-Source Software (FOSS) community. For example, this article will outline replacement programs for things like MATLAB, IBM's SPSS and multiple options for writing academic papers etc.

Academia and Writing

As with any pursuit in the sciences, academia was an important facet in my studies at uni - something I do miss. It is possible to be perfectly productive and proficient in writing academic papers and making research notes in applications such as Microsoft's Word or the open-source alternatives such as Libre Office etc. Recently I have come across many ways to improve productivity and general note taking.

Whilst studying I would use cloud based services such as Evernote to take notes on papers which I had been reading. This was great - I could access my notes across devices and edit them too, it always felt really clunky to be able to properly transverse and navigate these notes that would sometimes get a bit out of hand to say the least. Yes I could make it pretty with some headings to divide the document into distinct sections etc. It was also possible to use a search function to find strings of words in the document too, but sub-dividing and general house keeping of the notes was another matter all together.

I now use the venerable text-editor Vim, which I love, I don't know how I went so long without using it. There are so many awesome things about vim, but for me the main attraction is being able to navigate around a document with out using the mouse - a real boon and helps against rsi. Along with Vim I use an amazing plug-in called Vim-wiki for my general note-taking, as the name suggests it allows you to create your own wiki-like document or website. Being able to easily reference an image or a even a paper is great, and then also linking to it as a separate file is even more tremendous.

In the world of science and engineering it is well known that LaTex is the de facto standard in typesetting and document creation, you can forget about Word or any other office clone. Why, You may ask? If you have ever tried to write a complex formula within MS Word then you will realise why. It can take longer than writing the whole paper, and all for a annoyingly badly set equation. When using LaTeX one can also fully concentrate on the art of writing and authorship instead of the art of text formatting. One negative aspect of the world of TeX and LaTeX is the relatively steep learning curve in the syntax of it's markup language.

I have very recently learnt of alternatives now though, mainly the writing of documents in a different markup language called Markdown (MD) and then putting the resultant plain text file through a document converter called Pandoc which will parse the markdown, convert it to a LaTeX document and then finally output a beautiful PDF document. The pros of this approach are the ease of reading a Markdown file compared to a LaTeX file, as well as the general security and usage of a plain text document compared to a proprietary document type like .docx (have you tried opening a word document from 15 years ago?).

Entering the Matrix

Whilst studying at uni when it came to testing and refining Digital Signal Processing (DSP) projects, or analysing acoustic signals in a scientific and mathematical way MATLAB was our port of call. If you're not familiar with MATLAB I'm not going to bore you too much with the details, just know that MATLAB allows for the easy manipulation and analysi s of a 2 dimensional array of numbers (Vectors), or a 3 dimensional array of numbers (Matrix). As anyone in an Engineering industry would know - licensing fees are very expensive to obtain.

The good news is, however, an open-source alternative, GNU's Octave exists. Octave offers direct compatibility with MATLAB i.e. all MATLAB commands will work in Octave. I wish I had known about octave back in my BSc days - it would have been tremendously helpful! Yes, it may not be as 'pretty' or nice to look at, but that's not the point of programs such as these - they're there to get the job done!

Analysing the Results

In the pursuit of trying to prove a hypothesis, data is usually created in testing said hypothesis. This data is usually then analysed through statistical functions. IBM offer a statistical software package called SPSS which is very popular. Whilst it is great there is one open-source behemoth which exists to take it on, R. I have used SPSS, and even though I have not yet experimented with R - it looks intimidating, but extremely powerful.

They have also created their own version of Markdown, rather unimaginatively called R Markdown, in which you can use R and have the output directly rendered in your file. This is tremendously helpful for writing reports where graphs and table plots are always a pain to incorporate in a word document, or any other document really. It does this by utilising the previously mentioned Pandoc as a file converter, so can therefore export to a web page, PDF, word document as well as many more.

I shall definitely be writing more about open-source software and hardware on this blog as time goes by, but for now this brief overview of open-source alternatives is over. I hope it's helped some people who maybe didn't realise what alternatives were out there to the proprietary names. As always, any questions or comments, leave them down below.


If you want to get updated with the latest blog entries directly to your inbox, put your e-mail address in the form below!