Chapter 8 Start Building

8.1 Next Steps

We’ve reached the end of this book, which means that you now have a formidable foundation in using Unix. Congratulations! As the title of this book suggests Unix serves mostly as a workbench - a set of tools for building amazing digital creations. However, what you can create with Unix is usually not made out of Unix’s constituent parts. You might use a hammer and saw to build a good birdhouse, but the birdhouse itself isn’t made out of hammers. Working knowledge of Unix is best complemented by knowing at least one other programming language. Here are a few suggestions about how you can continue your computing and programming education.

Python is an approachable and essential language for anyone interested in computing. If you don’t have any programming experience outside of this book, I very highly recommend learning Python. My favorite book on the subject is Learn Python the Hard Way by Zed Shaw. Philip Guo’s Python Tutor allows you to visualize how Python is working under-the-hood, which allows you to develop a better intuition about the code you’re writing. The pairing of those two resources is currently the best way to learn how to write software outside of formal university or corporate training. Once you have some Python experience you can try building your own HTTP API with Flask.

R is a general purpose programming language designed for folks who are interested in data science, analysis, modeling, and visualization. R is also fantastic for making digital documents: this book was created with R! If you want to get started with R I recommend the book R Programming for Data Science, the Swirl software package, and the interactive R tutorial website called DataCamp.

JavaScript is the main language that powers the internet and it forms the backbone of web application programming. The Mozilla Development Network has wonderful tutorials about HTML, CSS, and JavaScript. Usually you use JavaScript to manipulate HTML and CSS, so learning about all three is important! I also recommend NodeSchool for purely learning about JavaScript with Unix.

8.2 Giving Feedback

Thank you so much for reading this book! If you’d like to discuss the book or you have any feedback I would love to hear from you. The best way to contact me is on Twitter.

Now that you know how to use Git and GitHub you can submit changes that you think should be made to this book including fixing typos and correcting errors. You can find the repository for this book here. Fork the repository, and make your changes to the appropriate .Rmd file (just treat it like a regular Markdown file). Add, commit, and push your changes, then send me a pull request! While you’re on the GitHub if you wouldn’t mind giving this book’s repository a Star I would really appreciate it so that others can find this book more easily.

8.3 Using this Book

This book is released under a CC0 license, meaning that it is dedicated to the public domain. If you think this book is worth paying for or you want to support the creation of more open source educational materials then consider buying the book on Leanpub where you are free to pay what you want, or send me a few dollars via PayPal.

If you use this book as part of a course or in any other setting please let me know!