Learn to code with clear, practical tutorials
CodeRivers covers language basics for C, C#, Perl and Scala, Linux essentials, scientific Python with NumPy, Matplotlib and OpenCV, plus thousands of short articles answering everyday programming questions.
Tool
Online Python Compiler
Write and run Python 3 in your browser—nothing to install. Use it to follow along with articles, test snippets, and try ideas quickly.
- • Paste code, click Run, and see the output instantly.
- • Runs entirely in the browser; your code never leaves your machine.
- • Great for loops, functions, strings, lists and dictionaries.
Tutorial series
Pick a learning path. Each series walks through a language or library one topic at a time.
-
Linux Basics
37 tutorials, starting with Linux Introduction: Unveiling the Power of Open-Source Operating Systems.
Browse tutorials -
C Basics
44 tutorials, starting with Understanding C Case in Programming.
Browse tutorials -
C# Basics
77 tutorials, starting with Exploring C# Abstract: Concepts, Usage, and Best Practices.
Browse tutorials -
Perl Basics
42 tutorials, starting with Perl BEGIN: Unveiling the Power of Early Execution.
Browse tutorials -
Scala Basics
39 tutorials, starting with Scala super: Unveiling Inheritance and Method Invocation.
Browse tutorials -
Matplotlib Tutorials
46 tutorials, starting with Matplotlib Basics Tutorial.
Browse tutorials -
Julia Tutorials
45 tutorials, starting with Julia Basic Tutorial.
Browse tutorials -
OpenCV Tutorials
37 tutorials, starting with OpenCV Introduction: Unleashing the Power of Computer Vision.
Browse tutorials -
Numpy Tutorial
32 tutorials, starting with Numpy Basics: A Comprehensive Guide.
Browse tutorials
Latest articles
Recently published answers, guides and fixes.
-
How to Write an Empty Body For Loop in Linux Shell: Keep CPU Busy Without IO Operations (Fix Common Errors)
-
How to Emulate Linux Binaries on macOS: A Step-by-Step Guide Without Package Managers
-
Bash End of Line Escapes: Why Does a Single Backslash Escape New Lines Instead of Literal \
-
How to Use `cat` Command Within `sed` to Replace a String with File Content in Linux
-
How to Execute a Bash Command Without Storing It in History: Protect Confidential Information
-
FastAPI + Kafka: The Complete 2026 Guide to Building Event-Driven Python APIs
-
Why GDB Ignores Executable Capabilities (setcap) When Debugging Programs with CAP_NET_ADMIN
-
GDB: How to Catch access() Syscalls with String Comparison Conditions for Specific Pathnames
-
How to Uninstall or Upgrade Old Node.js Version on Ubuntu (Installed from Source)
-
How to Fix 'Executable path is not absolute' in systemd: Avoid Hardcoding Node.js Path with Variables
-
How to Break in GDB When a Program Opens a Specific File: Narrowing Down Excessive Open Syscalls
-
How to Get MAC Address in a Mono Application on Linux
-
Git GC 'No Space Left on Device' Error: Why It Occurs With 3GB Available (tmp_pack Only 16MB) – Fix & Explanation
-
Why Git Global Tags Are a Bad Idea: Linus Torvalds' 2005 Linux Kernel Email Explains
-
How to Schedule Git Push on Linux (Ubuntu) Without Re-Authentication Using Bash
-
How to Fix 'Git: index file open failed: Permission denied' Error on git status/pull (Bitbucket Repository)
-
Is There a Command Line Option for 'Sort by Date' in Gitk? [Explained]
-
Git on Mac: Why Are Checked-Out Files Using CRLF Instead of LF? Understanding `autocrlf` Behavior
-
Git on Windows: What Do CRLF Settings (core.autocrlf, core.safecrlf) Mean? Cross-Platform Team Guide & Solutions
-
How to Fix 'warning: url has no scheme IP:Port' and 'fatal: credential url cannot be parsed IP:Port' Errors When Using Git Clone/Pull on Linux Server
-
How to Set Up a Git Repository with Multiple Users on Ubuntu: Moving Location & Configuring Permissions
-
Git Server Frustration: Navigating Gitosis, Gitolite Setup Challenges for Small Development Teams
-
Fix Git Submodule 'Could Not Access' Error on Linux (Git 2.26.2): GitLab Repo with GitHub Submodules
-
Git-SVN 'Rejected Basic Challenge' Error After VPN Requirement: Fix for Linux Mint Users