Learn Python - Free Tutorials & AI Guides

Free Python Tutorials, AI Guides & Coding Projects

Security
How Zeek Works: Inside the Network Security Monitor That Turns Packets into Logs

How Zeek Works: Inside the Network Security Monitor That Turns Packets into Logs

Point Zeek at a live interface or a pcap and it will never fire a single alert. There are no signature lists, no rule files to tune, nothing that looks like the detection engine people expect when they hear “network...

Security
How YARA Works: Inside the Pattern Matching Engine That Hunts Malware

How YARA Works: Inside the Pattern Matching Engine That Hunts Malware

You have a 200 MB directory tree of binaries and hundreds of YARA rules. Most targets come back clean within seconds — then one file sits there for a minute, and you cannot tell whether the engine, your regexes, or...

Security
How Wireshark Works: Inside the Source of the World's Most Popular Packet Analyzer

How Wireshark Works: Inside the Source of the World's Most Popular Packet Ana...

You open a 2 GB capture, click one TCP packet, and the detail pane draws three labeled lines in microseconds: bytes 14–34 are IPv4, bytes 34–54 are TCP, the rest is an HTTP response. Nothing in that pane is a...

Security
How Wazuh Works: Inside the Agent-to-Engine Event Chain of the Open-Source SIEM

How Wazuh Works: Inside the Agent-to-Engine Event Chain of the Open-Source SIEM

It is 3:12 a.m. and your dashboard paints a red row: a file-integrity alert for /etc/passwd on a payment-subnet host. What actually happened between the realtime watcher that noticed the write and the JSON document you are now reading? In...

Security
How Suricata Works: Inside the IDS Engine That Detects Attacks at Wire Speed

How Suricata Works: Inside the IDS Engine That Detects Attacks at Wire Speed

Suricata sits on the tap where your 10 Gbps uplink lands, and it has to reach a verdict on every packet that crosses that wire: alert, drop, or pass. Feed the engine the wrong threading configuration and the verdict happens...

Security
How sqlmap Works: Inside the SQL Injection Automation Engine

How sqlmap Works: Inside the SQL Injection Automation Engine

Your WAF is on, your app has forty parameters, and last quarter’s scanner report said “no injection found”. Then someone points sqlmap at one URL parameter and, within minutes, it lands on a working boolean oracle plus the exact prefix/suffix...

Security
Osquery

Osquery

You type select * from processes into the osquery shell and a few hundred rows stream back — PIDs, memory footprints, parent processes, command lines. Then you look for the database file you just queried. There isn’t one. No processes.db,...

Security
How Nmap Works: Inside the Source Code of the World's Most Famous Port Scanner

How Nmap Works: Inside the Source Code of the World's Most Famous Port Scanner

You run nmap -sV -sC against a /24 and thirty seconds later the terminal prints open ports, product names, and script findings for hundreds of hosts. Nothing in that output was hardcoded. No engineer sat down and wrote “probe 443...

Security
How hashcat Works: Inside the GPU Password Cracking Engine

How hashcat Works: Inside the GPU Password Cracking Engine

You run hashcat -m 1000 -a 0 ntlm.txt wordlist.txt on a laptop and the status line reports millions of guesses per second, while a homegrown Python cracker on the same machine manages a few thousand. The gap is not just...

Security
How ClamAV Works: Inside the Open-Source Antivirus Engine

How ClamAV Works: Inside the Open-Source Antivirus Engine

Watch clamd for a minute and you get a puzzle worth solving. The daemon sits on hundreds of megabytes of loaded signatures, yet a mail attachment is scanned, typed, decompressed, and matched before your IMAP client finishes repainting. The naive...

Multimedia
VLC Source Tour: One Binary That Plays Everything, Built From Loadable Parts

VLC Source Tour: One Binary That Plays Everything, Built From Loadable Parts

You hand VLC a strange file — a 4 GB ISO, an HLS playlist from a network camera, a half-corrupted AVI — and it just plays. No codec pack, no “install a plugin to continue”, no format picker. The usual...

Multimedia
OBS Studio source tour: where a dropped frame actually dies in libobs

OBS Studio source tour: where a dropped frame actually dies in libobs

Your stream sits at 20 fps. The OBS stats window says “skipped frames due to rendering lag,” your GPU is nowhere near 100%, and none of your sources report errors. You are not alone in finding this maddening, because the...

Multimedia
Inside mpv's playloop: the player core that skips frames instead of stuttering

Inside mpv's playloop: the player core that skips frames instead of stuttering

Your video stalls for a tenth of a second, and most players respond by freezing the picture while the audio buffer runs dry — you get the ugly double-jerk of a paused frame followed by a sound hiccup. mpv almost...

Multimedia
Inside Kodi's application loop: one thread renders the skin while a 50 GB remux decodes underneath

Inside Kodi's application loop: one thread renders the skin while a 50 GB rem...

A Raspberry Pi 4 is playing a 50 GB remux — HEVC, 4K, a full bitstream at 40 Mbps — and at the same time you arrow down through its skin menus at 60 fps with animations that never hitch....

Multimedia
Inside Jellyfin: What Happens in the Ten Seconds After You Press Play

Inside Jellyfin: What Happens in the Ten Seconds After You Press Play

You press play on a 4K HEVC movie. Your TV’s decoder flips through the profile level, chokes, and silently reports back that it can’t handle it. Four seconds later a green-ish CPU graph on your server box says one core...

Multimedia
Inside ImageMagick 7: A Source Tour of the Pixel Cache, the Coder Registry and the magick CLI

Inside ImageMagick 7: A Source Tour of the Pixel Cache, the Coder Registry an...

Type magick img.png -resize 50% out.jpg and it finishes before you lift your finger off the Enter key. One hundred milliseconds of work, it seems, for a program whose binary drags in a delegate list, a dozen format libraries and...

Multimedia
HandBrake source tour: the state machine behind

HandBrake source tour: the state machine behind "2 hours remaining"

Your movie is forty minutes in and HandBrake confidently displays “2 hours remaining.” You pause to grab coffee, hit resume, and the estimate keeps being roughly right — which should raise an eyebrow, because nothing in that dialog looks like...

Multimedia
Inside GStreamer: A Source Tour of Elements, Pads and the Caps Bargain

Inside GStreamer: A Source Tour of Elements, Pads and the Caps Bargain

You wire up a test graph in gst-launch-1.0 — v4l2src ! videoconvert ! x264enc ! mp4mux ! filesink — and it dies with a terse could-not-link complaint between two elements you were sure spoke the same format. You set GST_DEBUG=3,...

Multimedia
Inside FFmpeg: A Source Tour of the Demux, Decode, Filter, Encode and Mux Threads

Inside FFmpeg: A Source Tour of the Demux, Decode, Filter, Encode and Mux Thr...

Run ffmpeg -i fourk.mov -c:v libx264 -crf 23 out.mp4 on a long 4K clip and the machine hums for an hour. The only visible feedback is that one line ticking upward: frame= 48211 fps= 41 q=23.0 size= .... It looks...

Multimedia
How Audacity Saves a Two-Hour Project in Seconds: the Block-File Store and the Real-Time Playback Engine

How Audacity Saves a Two-Hour Project in Seconds: the Block-File Store and th...

Record a two-hour multitrack session, let the machine crash, reopen the project, and press Ctrl+S with a hundred undo levels stacked up. Editors that treat a project as one big file must rewrite megabytes of waveform data to persist a...

Game Development
Inside three.js: From Scene Graph to WebGL Draw Calls

Inside three.js: From Scene Graph to WebGL Draw Calls

Every three.js developer eventually hits the same three walls. First, a mesh you just added simply does not render — no error, no warning, just an empty canvas. Second, you change a single material flag like needsUpdate and the frame...

Game Development
Inside SFML: How the Module System Turns Vertices into Pixels

Inside SFML: How the Module System Turns Vertices into Pixels

If you have ever written a 2D game against raw SDL, you know the ritual: create a window, create a renderer, fill a rect, call SDL_RenderPresent, and only then start worrying about textures, blending, and scaling. SFML hides all of...

Game Development
Inside SDL3: How the Cross-Platform Media Layer Absorbs Every OS

Inside SDL3: How the Cross-Platform Media Layer Absorbs Every OS

Ask anyone who has shipped a native app on three operating systems: the windowing layer is where optimism goes to die. On Windows you fight message loops and DPI, on macOS you fight the main thread and lifecycle events, on...

Game Development
Inside raylib: How the Minimal C Game Library Draws a Frame

Inside raylib: How the Minimal C Game Library Draws a Frame

Every newcomer hits the same wall with a full engine: to draw one red circle you inherit a scene tree, an asset importer, an editor layout, and a build system you did not choose. Engines like Godot earn that complexity...

Watch PyShine on YouTube