Hands-on learning is the best way to grow your IT skill set, and that’s why we’ve put together this list of resources to help you in your journey. Whether you’re an IT professional or just starting, we aim to provide a comprehensive list of free and open-source software, educational websites, podcasts, and communities to help you advance your knowledge in various IT subjects. Browse our categorized list of resources and discover new tools, techniques, and communities to join. We hope you find this page helpful and valuable for your learning journey.
Note-Taking and Productivity Tools
- Obsidian: a free, open-source note-taking app that allows you to create and manage notes using a local folder of Markdown files.
- Joplin: a free, open-source note-taking and to-do app that lets you store your notes in plain text files and sync them across devices.
- Notion: a freemium productivity app that combines note-taking, project management, and knowledge management features.
- Simplenote: a free, open-source note-taking app that lets you organize your notes using tags and collaborate with others in real-time.
- Turtl: a free, open-source alternative to Evernote that offers encrypted note-taking and bookmarking features.
- Standard Notes: a free, open-source note-taking app that offers end-to-end encryption, cross-platform support, and the ability to import and export data.
- Zim: a free, open-source desktop wiki application that lets you create and link notes using a hierarchical structure.
Educational Websites
- TryHackMe: A platform for learning and practicing cybersecurity skills through hands-on virtual labs, challenges, and courses. They offer a free and paid membership with access to different features.
- HackTheBox: Another platform for practicing and improving cybersecurity skills through virtual labs, challenges, and a community of users. They have a free and paid membership with access to different features.
- OverTheWire: A website that provides a series of interactive challenges to learn and improve skills in areas such as Linux, networking, and cybersecurity.
- Codecademy: An interactive online platform that offers courses on various programming languages and web development. They offer free and paid memberships with access to different features.
- edX: A non-profit online learning platform founded by Harvard and MIT that offers courses from top universities and institutions around the world. They offer free and paid options for their courses.
- The Odin Project: An open-source curriculum for learning web development that includes hands-on projects, readings, and community support.
YouTube Channels
Cybersecurity:
- HackerSploit: Provides tutorials on ethical hacking, penetration testing, and cybersecurity news.
- John Hammond: Focuses on cybersecurity, hacking, and programming with practical demonstrations and tutorials.
- IppSec: Provides walkthroughs of real-world penetration testing scenarios and focuses on the thought process and methodologies behind finding and exploiting vulnerabilities.
- LiveOverflow: Covers various cybersecurity topics, including exploit development, reverse engineering, and CTF challenges.
- Cyber Mentor: Provides tutorials on ethical hacking, penetration testing, and cybersecurity career advice.
- The PC Security Channel: Covers a variety of cybersecurity topics, including practical demonstrations, malware analysis, and tutorials.
Coding:
- Traversy Media: Focuses on web development with tutorials on HTML, CSS, JavaScript, and various frameworks.
- The Net Ninja: Provides tutorials on web development, including front-end technologies like HTML, CSS, and JavaScript, as well as back-end technologies like Node.js and databases.
- Programming with Mosh: Offers tutorials on a variety of programming languages and technologies, including Python, JavaScript, React, and Angular.
- freeCodeCamp.org: Provides courses and tutorials on a range of coding topics, from web development to machine learning and data science.
Networking:
- David Bombal: Provides networking tutorials, labs, and courses, including Cisco and Python network automation.
- Keith Barker: Focuses on network certifications and offers courses, labs, and tutorials on various networking technologies.
- Eli the Computer Guy: Offers tutorials on various networking technologies, including TCP/IP, firewalls, and VPNs.
Hardware and Home Labs:
- Byte My Bits: Provides tutorials and reviews on building and upgrading computers and other hardware-related topics.
- Craft Computing: Offers tutorials and reviews on building and upgrading computers, including server and networking hardware.
- Lawrence Systems: Provides tutorials, reviews, and discussions on various networking and server technologies, including home lab setups.
Other:
- Computerphile: Offers informative videos on computer science topics, including programming, cybersecurity, and algorithms.
- NetworkChuck: Offers informative videos on networking, cloud, programming, home lab projects, cybersecurity, and career advice.
Podcasts
- The Homelab Show: A podcast focused on home lab enthusiasts and their experiences.
- Packet Pushers: A podcast series that covers a wide range of topics including networking, cloud computing, and cybersecurity.
- Risky Business: A weekly podcast that covers cybersecurity news and interviews experts in the field.
- The CyberWire: A daily news and analysis podcast covering cybersecurity topics from the CyberWire team.
- Security Now: Hosted by Steve Gibson and Leo Laporte, this podcast covers cybersecurity topics and news.
- Darknet Diaries: This podcast tells stories about hackers, cybersecurity breaches, and cybercrime.
Communities
- r/cybersecurity: A subreddit for cybersecurity news, threats, and discussions. It is a community for cybersecurity professionals and enthusiasts to share information, ideas, and questions.
- r/NetSec: A subreddit for network security and cybersecurity professionals. It covers various topics such as penetration testing, vulnerability assessment, and incident response. It is a good place to learn about the latest security trends and technologies.
- r/programming: A subreddit community for discussing and sharing news, articles, and questions related to programming languages, frameworks, libraries, and tools.
- r/sysadmin: A subreddit community for system administrators to discuss enterprise-level IT topics including networking, security, virtualization, and other technologies.
- GitHub Community: A community hub for GitHub users to discuss and collaborate on projects, share ideas and best practices, and connect with other developers.
- Spiceworks: A community for IT professionals to ask and answer questions, share knowledge and experience, and find solutions to common IT issues.
- Stack Overflow: A question-and-answer community for programmers to find and share knowledge, troubleshoot coding problems, and learn from other developers.
- Open Source Initiative: A community dedicated to promoting and supporting open source software and development, including advocating for open source licenses and fostering collaboration and innovation in the field.
- Server Fault: A community for IT professionals to ask and answer questions related to server and network administration, hardware and software, and troubleshooting common IT issues.
Software
Virtualization Software:
This category includes software tools that allow you to create and manage virtual machines on your computer or server. Virtualization is useful for testing software, running multiple operating systems on a single computer, and setting up sandbox environments for experimentation.
- Proxmox VE: An open-source virtualization platform that uses KVM and LXC to provide virtualization and containerization capabilities.
- VMware ESXi: A virtualization software that allows you to run multiple virtual machines on a single physical server. It offers advanced features such as vSphere APIs, vMotion, high availability, and a web-based management interface for easy administration. A free edition, VMware ESXi Free Hypervisor, is available for home use.
- VMware Player: A free virtualization software that allows you to run a single virtual machine on a Windows or Linux host. VMware Player is based on the VMware Workstation platform and supports various operating systems, including Windows, Linux, and macOS.
- VirtualBox: A free, open-source virtualization software that allows you to run multiple virtual machines on your computer.
- QEMU: A free, open-source emulator and virtualization software that supports a wide range of guest operating systems.
- Xen Project: An open-source virtualization solution that supports multiple guest operating systems, including Windows, Linux, and BSD. Xen Project can run on various hardware architectures, including x86, ARM, and PowerPC.
- KVM (Kernel-based Virtual Machine): An open-source virtualization solution that allows you to run multiple virtual machines on a Linux host. KVM is a part of the Linux kernel and supports various guest operating systems, including Windows, Linux, and BSD.
Open Source Networking:
This category is dedicated to open source networking software that is used for tasks such as routing, firewalls, and VPN.
- pfSense: A popular open-source firewall/router distribution based on FreeBSD.
- OPNsense: A fork of pfSense, offering additional features such as intrusion detection and prevention.
- WireGuard: A fast and modern VPN protocol that’s designed to be easy to use and highly secure. It’s lightweight and has a small codebase.
- Open vSwitch: A virtual switch that’s used for network virtualization. It supports multiple protocols and can be integrated with various virtualization platforms.
Network Monitoring Tools:
This category includes software tools that allow you to monitor network traffic, devices, and services. Network monitoring is important for detecting and troubleshooting network issues, as well as for ensuring that your network is secure and performing optimally.
- Nagios: A free, open-source tool for monitoring network services, hosts, and devices.
- Cacti: An open-source network monitoring and graphing tool that uses SNMP to monitor network devices and services.
- Zabbix: An open-source network monitoring software that can monitor servers, applications, and network devices.
- Icinga: A monitoring system that can be used to monitor the availability and performance of network resources, including hosts, services, and network devices.
- LibreNMS: A free and open-source network monitoring system that can monitor devices and services on your network, and send alerts when problems are detected.
NAS Software:
This category includes open source software used for network-attached storage (NAS).
- TrueNAS: A NAS solution that is designed to be easy to use and scalable. It includes features like ZFS data protection and virtualization. Offers both open-source and commercial options.
- OpenMediaVault: An open-source NAS solution that is designed for use on low-power devices such as Raspberry Pi or home-built NAS devices.
- Rockstor: Linux-based NAS solution that is focused on ease of use and simplicity. It includes features like snapshotting, replication, and cloud backups.
Configuration Management Tools:
This category includes software tools that allow you to automate the deployment and management of software and systems. Configuration management is useful for maintaining consistency and ensuring that systems are configured correctly, especially in large-scale IT environments.
- Ansible: An open-source automation tool that can be used for configuration management, application deployment, and orchestration.
- Puppet: An open-source configuration management tool that uses a declarative language to manage the configuration of servers and applications.
- Chef: An open-source configuration management tool that allows you to automate the deployment and configuration of servers and applications.
Scripting Languages:
This category includes programming languages that are used for writing scripts and automating tasks. Scripting languages are useful for automating repetitive tasks, such as system administration tasks, and for working with data.
- Python: A popular, open-source programming language that’s widely used for automation, data analysis, and web development.
- PowerShell: A command-line shell and scripting language that’s used for automation and management of Windows systems.
- Bash: A shell scripting language that’s commonly used in Linux and other Unix-based systems.
- Perl: A high-level programming language that is often used for system administration, web development, and network programming.
- Ruby: A dynamic, open-source programming language that is known for its simplicity and readability. Ruby is often used for web development, automation, and network programming.
- Java: A high-level, class-based, object-oriented programming language that is designed to be portable and run on a variety of platforms. Java is often used for building web applications, desktop applications, and Android mobile apps.