Git Cola

In the same way that we're all perhaps looking for an ideal Python IDE (see above), we're all waiting for a good Git GUI that can make sense of all of those weird options that keep being added. Git is brilliant and wonderful and not too difficult to understand at a high level. However, as soon as you scratch the surface, there are just so many options and ways of accomplishing the same task. A GUI should help resolve these problems by offering a canonical process for all of the most common tasks, as well as a way to visualize exactly what's happening in your own branches, as well as the branches they track on some distant online repository. Git Cola gets close, although, if you're a beginner, it won't help you learn Git. This is because its default view assumes you already know what you're doing and most likely are accessing a project with a comprehensive set of Git history.

The main view on the left is for showing "diffs," the textual differences between one version of a file and the next. You choose files in various stages of development from the Branches pane, as well as the status pane that shows the paths for those files. A file browser lets you view all the files in the project, along with their status and their last commit message; our favorite view is the DAG visualiser. This looks a little like the visualizer in GitHub, only the timeline for a file is vertical rather than horizontal. It shows how the file diverges and remerges throughout its lifecycle in the project, and consequently, how the entire project grows and changes over time. This could offer some valuable insights to more established projects, helping projects understand how to use various developers to the best of their capabilities.

Project Website

If you find working with Git on the command line a struggle, checkout Git COLA to see if it makes it easier to understand.

Scientific office suite


While the wider world argues about open access to a research paper written invariably about taxpayer-funded research, there's a smaller revolution happening in software. Stencila is an office suite designed specifically for writing the results of reproducible research. Its primary user interface is just like any other office suite, where you create a document and start typing. It includes all the features you'd expect, such as excellent text support and better than average citation support. But in Stencila, these features are augmented by the "execution engine," an embedded reactive programming model that feels a lot like a spreadsheet. It enables you to enter data and process that data within your research document, but when that data changes, so too does the output generated in the remainder of the document. You can even mix code from various programming languages used to process the data within your documents to show how results are processed. This is exactly what you'd expect with an academic paper, but the way this is now interactive and verifiable feels brilliant. It lets you or your peers look through the code for how a plot has been generated, for instance, rather than trusting the authors' word.

The programming languages most commonly used are R, Python, JavaScript, SQL, and Stencila's own Mini. You can share custom functions, data validation, and custom types. Code is often written in snippets, with data loaded via XML – the entire document is typically a series of XML files, and you can convert from Excel spreadsheets, Jupyter notebooks, Markdown, Word documents, and LaTeX. Many of these converters are "lossless," which means you can save your work back out again in the same format and send it to colleagues working with those different software tools. When you're ready to publish, Stencila supports Journal Article Tag Suite (JATS), commonly used by publishers to provide finer output control.

Project Website

Illustrations take on a whole new level when they include the interactive code that generates the output.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    This month Graham fires up MuseScore 3.0, hexyl, weborf, Chrono, and several other useful Linux tools.

  • FOSSPicks

    One weekend this month, Graham's synth obsession took him 600 miles in a rental car into ancient Cornwall to buy a beat-up old 1980s MIDIBoard. Stay tuned for a Linux editor! Graham looks at Surge, fd, Kloak keystroke anonymizer, Symphytum, uMatrix,†and more!

  • Mozilla Labs Launches Gaming Initiative

    Platform based on open Web technologies.

  • Play 2048 in the Terminal with Bash 2048
  • FOSSPicks

    This month, Graham discovered the spontaneous knotting of an agitated string while trying to untangle the mess of wires behind his PC and quickly gave up.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95