|A MIT Crash Course On Hacker Tools|
|Written by Nikos Vaggalis|
|Monday, 08 April 2019|
MIT has provided an online version of crash course on navigating the command line, using a text editor and version control, automating mundane tasks, managing packages and software and configuring your environment.
Being at least familiar with the command line and knowing how to set up a programming environment is an essential aspect of today's college classes, even not those directly associated
We've felt the importance of that in the article "How To Successfully Teach Computing Disciplines To The Uninitiated" where we saw how you can turn a student with little background in computation into a competent programming computer user, witnessing how SciNet, the supercomputer department of the University of Toronto, teaches computing disciplines to graduate students in emerging fields such as computational biology and computational medical science:
Its challenge is to bring students without a background on CS up to speed with coding and software development practices and render them able to perform computational and statistical analysis as well as machine learning on data that pertain to their field of science, in accordance with the trend that nowdays working with data is just about everywhere.
Examples are, clinical trials, drug tests, medical cases, hospital treatments, differential gene expressions, and more. For example, Biomedical computation typically involves statistics, data analysis and knowledge in interpreted languages.
The SciNet curriculum included amongst other topics:
The MIT course, was also motivated by the observation that MIT's classes do not cover any of this content in detail, despite them being the essential stepping stone for performing the more serious scientific work.
Unlike SciNet's proposition, which also involved ML and Statistics, this one is free from the scientific burden and, with a focus on DevOps, is dedicated to more practical needs. Its chapters cover:
The essential tools for "hacking" as the title says.
Each chapter is a mix of a single page html file together with an accompanying video.With that said let's take a quick look at what's in store.
In the chapter Virtual Machines we not only get a run down on what a VM is and why it is useful but we see it compared to Containers too.
Shell and scripting.Not just the basic, core commands such as cd, ls, cp, mv, but also the shell for Composability (pipes and the likes), Job and process control.
Command-line environment.From Aliases & Functions to Terminal Emulators & Multiplexers.
Data wrangling.Grep,sed,awk for pattern matching and manipulating text.
Editors; more like an intro to THE real hacker tool,Vi(m).
Version Control.The principle with examples in Git.
Configuring and customizing your tools with Dotfiles. Especially useful for Vi.
Why to Backup.
Automation with Crontab and its newer counterpart Anacron.
Machine introspection and Program introspection, or dealing with log files and debuggers.
OS customization;that is Keyboard Mapping and Window management.
Accessing Remote Machines with SSH.
Web and browsers
Apart from the terminal, the web browser is a tool you will find yourself spending significant amounts of time into. Thus it is worth learning how to use it efficiently.
Security and Privacy.Basic instructions on how to keep safe online.You know, use a password manager, Encrypted communications (Signal,HTTPS,Tor),etc
So that's it,a crash course for anyone starting out with the principles of computing, directly or indirectly.There's also an official reddit forum r/hackertools of the class where you can freely post your observations, comments or questions.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Monday, 08 April 2019 )|