/AwesomeResources

An awesome list of computer science related resources.

Awesome Resources Awesome

Contents

  1. Introduction
  2. Communities
  3. Business/Career
  4. Services
  5. Software
  6. Programming
  7. Ethics, Law & Professionalism
  8. Learning Resources
  9. Linux Distributions
  10. Electronics
  11. Hypervisors and virtual machines
  12. Cyber Security Resources
  13. Other Interesting Stuff

Introduction

This is an Awesome List of Computer Science, Technology, Programming and Educational resources for the benefit of all who care to use it.

The list was originally created by Closebracket.

Contributing

Contributions welcome. If you have a resource that you wish to contribute, please abide by the following rules:

  • Fork the repository, look at the markdown and understand it.
  • Make your changes and double check that nothing is broken.
  • Make a pull request and request a review from the The Codhead Club team.

If you're not sure how to contribute, you can join our discord or telegram for more clarification. Alternatively, Fork the repo and make a PR or jump straight in with VS Code for Github. See here for more info.

Services

  1. Migadu.com - Unlimited cheap email for lots of domains.
  2. Github Pages
  3. Gitlab
  4. Matomo - Self hosted Google Analytics alternative.
  5. Wekan - Opensource Kanban.
  6. Shodan
  7. Spyse
  8. The Things Network
  9. Programmable Web APIs
  10. A list of publically available APIs

Software

  1. Atom Editor
  2. Jetbrains Editors.
  3. The Awesome Self-Hosted List - a list of open source projects which can be self-hosted. The list comprises an amazing range of fascinating tools and projects.
  4. Bashmarks
  5. Doctl
  6. The Big Warehouse - A collection of resources for programmers.
  7. Dockstation - Docker GUI for Windows, Mac and Linux
  8. Tush - a literate testing shell
  9. Haven Self Hosted Blog - A self hosted private blog built with ruby on rails.
  10. Fritzing - A software for desinging circuits, PCBs and testing them virtually.
  11. Katakoda - Katacoda provides a platform to build live interactive demo and training environments.
  12. CodeSandbox - CodeSandbox is an online code editor and prototyping tool that makes creating and sharing web apps faster.

Educational Resources

  1. Math Talks to Blow Your Mind Playlist
  2. Data Structures Playlist.
  3. Harvard CS50x.
  4. NullByte (Youtube Channel).
  5. NumberPhile (Youtube Channel).
  6. Computerphile (Youtube Channel).
  7. Docker's Official Youtube.
  8. Brian Tompsett Youtube Channel. Brian is a lecturer at University of Hull and has a long list of published works.
  9. Rob Miles Youtube .
  10. Install LAMP on Ubuntu - Tutorial on installing LAMP on Ubuntu
  11. CRISP-DM PyData 2015
  12. Tackling Imposter Syndrome, a cambridge students perspective.
  13. Digital Ocean Tutorials - System Administration tutorials from Digital Ocean. Can be followed on any Linux machine.
  14. Data Science Handbook
  15. The Basics by Tom Scott
  16. How To Build An App: Everything You Didn't Know You Needed To Know
  17. Jeff Geerling - YouTube channel with lots of Raspberry Pi projects and tests, along with resources on Kubernetes, Ansible and more.
  18. Data Structures and Algorithms Visualiser - Provides visulation for different data structures and algorithms like sorting, linked lists, hash table etc. Also allows some customizations.
  19. Semantic Scholar - An artificial-intelligence backed search engine for academic publications.
  20. arXiv - Open-access repository of scientific papers in the fields of mathematics, computer science, quantitative biology, statistics and more.
  21. The Collection of Computer Science Bibliographies - Collection of bibliographies of scientific literature in computer science from various sources.
  22. dblp - Provides open bibliographic information on major computer science journals and proceedings.
  23. ScienceDirect - A large bibliographic database of scientific publications.
  24. Visualisation and Audibilization of Sorting Algorithms - Visualize different sorting algorithms and listen the sound of sorting.
  25. Sentdex Youtube Channel - Youtube channel to learn Machine learning, Deep Learning, Natural Language Processing and python.

Linux Distributions

  1. Ubuntu - Great starting distributions for beginners as lots of support is available.
  2. Fedora
  3. Arch - Advanced distribution for those looking to expand their knowledge of Linux.
  4. Anarchy and ALG - These are menu/graphical installers for Arch linux, can be useful for those wanting to try out Arch without doing everything from the command line.
  5. Artix - A systemd-free alternative to Arch.
  6. Kubuntu - Ubuntu with an alternative desktop environment (KDE).
  7. Lubuntu - Ubuntu using LXQT, a lightweight alternative to other desktop environments.
  8. Mint - Another variant of Ubuntu, great for those familiar with Windows.
  9. Tails - A portable distribution that runs only in memory, for the ultimate privacy protection.
  10. Qubes OS - A reasonably secure operating system. Recommended by Edward Snowden
  11. Raspberry Pi OS - For use with the range of Raspberry Pi single board computers. A great distribution if you're looking to get into programming (and don't mind spending a bit of money on the hardware to run it), especially involving Python or electronics (the Pis can come with GPIO pins for use with electronics). There are some beginner projects listed on the site but there are a lot of projects made by the Pi community.
  12. Rescatux - An Debian based os which has utilities to help repair potentially broken Linux or Windows systems as well as boot loaders.

Supporting learning Linux

  1. Ask Ubuntu - Ubuntu Q&A site. Part of Stack Exchange.
  2. Unix & Linux Stack Exchange - For more general Linux-related questions.

Linux Resources

  1. Arch Linux Wiki - Permissions
  2. Arch Linux Docs - SSH
  3. Configure 2FA on SSH
  4. Desktop Environments
  5. Install and Configure SSH Server on Arch Linux
  6. OpenSSH Manual
  7. Principle of Least Privilege
  8. Introduction to Linux - Hands on guide to learn Linux.
  9. Learn Shell - Learn programming with Unix/Linux shell interpreters.
  10. Linux Upskill Challenge - Learn the Linux terminal with a free and open source 21 day course

Other interesting stuff

  1. E Foundation
  2. Satyr - Self hosted media streaming
  3. File Stash
  4. MIT Press: Reading code != Reading Language
  5. Andrew Hancock talks with Experts Exchange about Career Growth and VMware
  6. Andrew Hancock talks with Experts Exchange about being an IT Author and British Beekeeper