Learn my Linux Bootcamp…all from within a web browser window

I awoke yesterday to see a lot of twitter notifications on my phone. Sometimes this happens when I've written a post on this blog, but I hadn't added anything for over a week. Turns out that the activity was triggered by this tweet by Richard Smith-Unna (@blahah404 on twitter):

As the screenshot below indicates, Richard has worked some amazing black magic to enable a single browser window to contain a fully interactive terminal as well as a file viewer/navigator; all alongside a (slightly modified) version of my original Linux bootcamp material.

Click to enlarge

This new interactive command-line bootcamp is a wonderful resource and means that the only barrier to learning some simple, but powerful, Linux/Unix commands is the availability of a web browser.

Richard explains a little about how he put all of this together:

The Infrastructure, including adventure-time and docker-browser-server, was built by @maxogden and @mafintosh. The setup of this app was based on the get-dat adventure.

Another take on our new Unix & Python book

Following on from my announcement yesterday that I am involved in writing a new book (Unix and Python to the Rescue!), my co-author Michelle has written a few words about it on her blog which I encourage you to read. She tackles the issue of why people in our field (the life-sciences) should learn to code:

It is my belief--based on my own experience--that using a prefabricated tool, such as a spreadsheet or graphing program, inherently limits you to someone else's idea of what analytical questions you should be asking about your data.

In today's scientific world, the amount and type of data we need to understand changes rapidly, and these programs can quickly become limiting. By taking the time to learn a set of basic tools that can be combined in limitless ways, you empower yourself to ask the kinds of analytical questions you want to ask about your data

Taking steps to write a new book about programming!

The old book

I am very excited to announce that I am involved in writing another book about progamming! The 2012 book that I wrote with Ian Korf — Unix and Perl to the Rescue!: A Field Guide for the Life Sciences (and Other Data-rich Pursuits) — was enjoyable to write, and seemed to be well received — (4.5 star average on Amazon.com) and so we both wanted to do something else.

We wrote about Perl because it is the language that we had both used since the mid-1990s, and for a long while Perl was the language du jour for people working in bioinformatics. This has changed. The TIOBE software index uses search engine queries to track the popularity of all programming languages over time. In 2000, Perl was the 4th most popular language whereas Python ranked 24th. As of July 2015, Python has risen to 5th place, overtaking Perl which has dropped to 11th place. Not only is Python proving an extremely popular language, it is swiftly overtaking Perl in many areas involving the processing of biological data.

The new book

So we made a proposal to Cambridge University Press to write what we are provisionally calling Unix and Python to the Rescue! (this will no doubt be the start of a successful series which will culminate in Unix and Minecraft to the Rescue!). Happily, they have accepted our proposal and so we have recently started the process of writing the new book (hopefully due to be published in 2016).

We intend for this book to fulfill many of the same goals that we had for our earlier book:

  1. Contain basic material that introduces Unix & Python to someone who has never sat down at a terminal or written a line of code before.
  2. Include many advanced programming concepts in addition to the basics.
  3. Where possible, only introduce one new concept at a time.
  4. Write in a lively, engaging style in order to make the concepts fun!

For item #2, we envisage our book addressing topics such as NumPy, ScyPy, IPython Notebooks, and the pandas package, to name but a few!

 

The new co-author

For this new endeavor we have recruited the many talents of Michelle Gill (@modernscientist) who will bring her Python skills and all-round coding expertise to the project. Michelle is a scientist at the National Cancer Institute and has been using Python to analyze research data — and also using it for fun — for most of the last decade. You can find out more about Michelle, and see examples of her coding expertise on her excellent blog, themodernscientist. I asked her to say a few words about the new book:

"The purpose of this book is to equip scientists with the tools necessary to understand and analyze data in the way that directly suits their needs and can be reproduced in the future. With the ever increasing pace of research and volume of data generated, I am convinced the best way to accomplish this is by learning Python".

Michelle Gill

 

The new website

We previously had a website (unixandperl.com) and twitter account (@unixandperl) to support the old book and related materials. However, it seems fitting that we need to 'expand the brand', and so we have an updated website that can now be found at rescuedbycode.com (the old URL should still redirect here). This website continues to host information about the completely free Unix and Perl Primer for Biologists that we previously released, as well as the (also free) Command-line Linux Bootcamp that I recently added.

I expect that we will add some more posts to the new website in the coming months, and we will also continue to publish occasional items of relevance to the twitter account (also renamed to @rescuedbycode). Much of Python is new to me, and I hope to share some of my experiences from the point of view of someone who comes from a Perl background.

Okay, time for me to go and do some more research for the book.

Command-line bootcamp: learn the basics of Unix

Here is another contribution that I made to a UC Davis Bioinformatics Workshop that I helped teach last week. Adapting from some our much longer Unix & Perl Primer for Biologists, I made a short bootcamp that aims to teach the basics of the Unix/Linux command-line.

Unlike the Primer material that was written from the point of view of someone using a Mac, the new bootcamp course is written from the viewpoint of someone using Ubuntu Linux. Also, no example files are needed. The course is entirely self-contained and should take 1–3 hours to process (depending on your familiarity with Unix).

Download the PDF, view the HTML version, or work with the underlying Markdown file.

Current version: v1.01 — 2015-06-24