Videos
This is a collection of teaching material strager has recorded and published.
Chat with me live on Twitch!
Live coding
- CodinGame Clash of Code with viewers
- Twitch extension (HTML, JavaScript)
- skywalk1411's mtg.lukeskywalk.com (JavaScript)
- ed (pre-standard C)
- Twitter unblock script (JavaScript)
- dwm tag switcher (C)
- balanced parentheses checker (C++)
- fixing my router firewall (iptables)
- writing tests (JavaScript)
- optimizing geekPanther's movie code (Python)
- 3D height map (JavaScript)
- TradingView chat client (JavaScript)
- Git ad-hoc file storage (Bash)
- stalk (Bash, jq)
- control game from chat; mixing event loops (Python)
- breadth first graph traversal (Eiffel)
- word wrap (C)
- magic reverse green screen (HLSL) (part 1 of 2)
- magic reverse green screen (HLSL) (part 2 of 2)
- dial tone .wav generator (Zig)
Code reviews
- pr3smo's Chess (Java)
- apearms's BridgeKeeper (C++)
- SupaDeviserr's HTTP server (C)
- Werrdd's coffee machine (Python)
- realxelian's TaskEnder (C++)
- slbkbs's mop (C)
- everyrelease's Scripts (Bash)
- vexedkiller0071's SaveDataBase (Python)
- nerowski2310's Weather_app (Python)
- slbkbs's mustardwatch (C)
- swollenberk's ProceduralTerrainGeneration (C++)
- M3talstorm's floodfil (C++)
- odomobo's Dragonfly (C#) (part 2)
- recursive Elephant Tree (Python)
- ShyRyan's data_mapper (Elixir)
- TaccTV's pyBay (Python)
- odomobo's Dragonfly (C#) (part 1)
- Aquizzy's 2D Shooter (C++)
- Mecke_Dev's WarzoneTracker (Python, JavaScript)
- Werrdd's score keeper (Python)
- sapi01_'s http_server (C++)
- janpoonthong's space_invader (Python)
- dudeperson12345's Cheat Engine helper (Python)
- spielprogrammierer's tilemap shader (Unity3D)
- vexedkiller0071's TicTacToe (Java)
- crispy_150's blackjackold (Python)
- silicon_fabric's IPC_KV (C++)
- matthewsanetra's rocketalgo (Go)
- SupaDeviserr's HTTP server (C)
- CalmDepths's dravid-19-server (Haskell)
- Haeristudios's ElementalDraw (CMake)
- john_hillington_2's is_prime (assembly)
- as5555ig's proxy-graber (Go)
- VOy_AGer's tree (C)
- ioilmio's LinkedList (Ruby)
- janpoonthong's tic_tac_toe (Python)
- john_hillington_2's word extractor (C)
- rune_trimmed's Spam-Sec-Check (Python)
- IronOxidizer's lemmy-lite (Rust)
- nullconstpointer's nullconstpointerbot (Python)
- priyakdey's parking-lot (Java)
- john_white0001's FileHand (C++)
- SeaFilmz's Finely Finished Woodworking
- Zer0Xeon's PHP TODO Bootstrap (PHP)
- aleksandarivan0's Calculator-App (JavaScript) (part 2)
- aethuall's Computer Graphics Report
- data_pi's Sumtree (Python)
- Mapll3's blended-not-stirred (JavaScript)
- aleksandarivan0's Calculator-App (JavaScript) (part 1)
- v0idrose's random path finder (C)
- john_hillington_2's IPC lock (C++)
- cybergenik's RuneMaster (Python)
- aethuall's Sudoku (Haskell)
- sad_ost's rsbuddy client (Python)
- SkriptCommunity's discord-bot (JavaScript)
- skykanin's graph (Haskell)
- d4v3y0rk's ffpass-module (JavaScript)
- geekPanther's experiment (C++)
- Keyeh's computation (Python, numpy)
- NotDoubleR's spirals (C)
- kesor6's irc-parse (JavaScript)
- maniac_not_from_albama's vimrc (Vim)
- cybergenik's Tetris-Game (Python)
- stevejobs_is_a_noob's jams-manager (Go)
- naknode's game (JavaScript)
- lffg's errou (TypeScript)
- SupaDeviserr's calender (JavaScript, HTML)
- Dandida95's monkeycloud (PHP)
- elliott416's quiz schema (SQL)
- albertluta's Http (JavaScript)
- cybergenik's website (PHP)
- barnercart's car-accidents-data-processing (C++)
- elliott416's file upload server (JavaScript)
- skywalk1411's WebSocket cloner (JavaScript)
- tega42's capture the flag (Python)
- KearnsyUK's TicTacToe (Python) (part 2)
- KearnsyUK's TicTacToe (Python) (part 3)
- kesayahya's Casse Brique (JavaScript)
- Ciremun's twitchbot (Python)
- geekPanther's lol_two (C)
- SupaDeviserr's food app (Python)
- excalios's Tic-Tac-Toe (C++)
- debugging: dungeonmaster3's Middle Class (C++)
- everyrelease's file_finder (C)
- jay_al97's hashmap (C)
- coppuh's sudoku-cljs (ClojureScript)
- dota2attitude's PokerHandRangeRubyReact (JavaScript)
- Jannyboy11's ScalaPluginLoader
- determin1st's vim-lsx (Vim)
- cronoluminaire's reducers (C)
- j1mmo's OOPGaming (C++)
- 1monkjuice's panoDetection (Python)
- data_pi's sockets (C++) (part 2)
- geekPanther's record search (C)
- ryancallahan's ATM (C++)
- Yatko's svt sorting visualizer (Go)
- MyUsernameFrank's OlympicRings (Haskell)
- determin1st's timeout (LightScript)
- Gamesational's TicTacToe (Python)
- VoidSpyke_'s aerity-client (JavaScript)
- SupaDeviserr's RPG (JavaScript)
- gm_knight's Javascript Antipatterns (JavaScript)
- herr_brain's aprilfools2020 (AVR/Arduino)
- AndreVallestero's dwm-status (C)
- skykanin's gameoflife (Haskell)
- cybergenik's KronoPI (Python)
- DaveChurchill's stardraft (C++)
- SupaDeviserr's website (JavaScript)
- FayssalGG's Einkaufsliste (Java)
- levinson2504's passportLogin (JavaScript)
- boston_strong's Recipe Rundown
- AlphaOmegaProgrammer's twitch-bot (Make, C)
- SupaDeviserr's initializeCharacter (JavaScript)
- negatratoron's hcj (JavaScript)
- rune_trimmed's MLBStats (Python)
- anonymous_placeholder's StegZero (Python)
- wgrr's PDP-11 emulator (JavaScript)
- skywalk1411's trader (JavaScript)
- negatratoron's teflon (C++)
- barnercart's OpenCL (C++)
- 18ace81's skull (Rust)
- recursivechat's OpenGL program (C++)
- DaveChurchill's search
- patroclos007's slipstream (Haskell)
- geekPanther's singly linked list (C)
- bunnokazooie's confrontation_game (Haskell)
- mynamehere1337's TodoBooks (JavaScript)
- KearnsyUK's tic-tac-toe (Python)
- eksdee_1_2_3's ecom_django_vue (Python)
- tw0st3p's zig-ircbot (Zig)
- bikeshaving's crank (JavaScript)
- bunnokazooie's game-project-whatever (Python)
- bunnokazooie's confrontation_game and ASMLisp (Haskell)
- art1n_'s meteos (C)
- xBinary001x's deck program (C)
- countoren's vscodeWithConfiguration (Nix)
- gnif2's LGMP (C)
- immi_'s and m_brax' zigzag (Python)
- adibaby04's Car-Rpc (C)
- gnif2's LookingGlass (C)
- kefinnnnn's easywindow.js (JavaScript)
- ImHappyFor's algoritms
- BoostedFox_FNA's Fox Den Studios (HTML)
- PianoBoxer's comli (Go)
- Mertilex's TinyQuestionWeb (C#)
- Magicspin's Gambletopics
- shredofpiece's intercell (C++)
- PengoWray's wasm-ops
- john_hillington's IISModuleJS (C++) (part 1)
- john_hillington's IISModuleJS (C++) (part 2)
- krainboltgreene's treeify (JavaScript)
- EnragedGamersOfficial's findConsecutiveRuns (JavaScript)
- sullyj3's clay file browser (Haskell)
- guy_ross's dmon host-monitor (JavaScript)
- smiley9700's social network (JavaScript)
- john_hillington's SteamAccountManager (Rust)
- m_brax' Sudoku solver (Python)
- everyrelease's C compiler (C)
- CydoEntis' BoxerV2 (JavaScript) and JavaCalculator (Java)
- koe23's password-generator (JavaScript)
- Haeristudios' PhotonBox (C++)
- dlloverflow's VPNMonitor (Python)
Lessons and explanations
- reading private members in C++ with template voodoo
- const objects vs pointers (C)
- 2D rotation
- deep vs shallow copy (Python)
- debugging: skywalk1411's chat table (CSS, HTML)
- C casts vs C++ casts
- debugging: nav links (CSS)
- Super Metroid tiled graphics (SNES)
- =default constructors (C++)
- debugging: sapi01_'s stack (C++)
- refactoring Goufix's myFuncs.js (JavaScript)
- controlling game speed (Python)
- HackerRank: Array Manipulation (Python) (part 2)
- HackerRank: Array Manipulation (Python) (part 1)
- debugging: elliott416's Treeflex program (JavaScript, React)
- C vs C++ performance
- cout << custom_type, destructors, and more (C++)
- debugging: covidneunzehn's QR code (JavaScript)
- debugging: Mapll3's Recipe (JavaScript, React)
- debugging: using i18n-next (JavaScript, PHP)
- C++ rvalue references
- debugging: React setState (JavaScript)
- word matching (Python)
- debugging: terite's timeit (JavaScript/Flow)
- debugging: maniac_EN's boxshadows (JavaScript)
- refactoring: vexedkiller0071's remove_duplicates (Python)
- C debugging tools (ASAN, gdb, Valgrind)
- struct serialization in C++
- imul vs lea/sal (x86_64 assembly)
- debugging: vizorkit's bootloader (x86 assembly)
- debugging: kesor6's Twitch emote parsing (JavaScript)
- debugging: villhelms's frogger (Python)
- debugging: rdinho799's mergesort (ARM assembly)
- debugging: vexedkiller0071's QuotationRemove (Java)
- hello world in x86_64 assembly (Linux, macOS)
- null vs undefined (JavaScript)
- opauqe pointers in C (pthread)
- debugging: Fox_Maccloud's pwnable (assembly, Python)
- debugging: BumD197's Krita plugin (Python)
- process zombies and tracing (Linux)
- microbenchmarking in C++
- <shell >redirections 2>&1
- navigating a new codebase
- freeshmurda6ix9ine's socket server and client (C) (part 2)
- freeshmurda6ix9ine's socket server and client (C) (part 1)
- debugging AlphaOmegaProgrammer's audio-generation-experiment (C)
- PowerShell basics
- 'new' in JavaScript
- how to debug HTML
- optimizing Python with multiprocessing
- debugging: data_pi's sockets (C) (part 1)
- making static page live; templating (JavaScript)
- async/await, promises, and event loops (JavaScript)
- C++ lazy initialization
- reducing method boilerplate (Python)
- writing and using C++ libraries (CMake)
- debugging: libcurl HTTPS support (CMake)
- pointers to arrays and functions (C)
- debugging data_pi's simple_curl_cpp (CMake, C++)
- testing standards and styles
- strings vs threads
- debugging: jakeprogramming's shell (C)
- running a program on Linux (C, assembly)
- Node.js time profiler
- switch and goto tips and tricks (C)
- array parameters (C++)
- refactoring captyrandy's netmask (Python)
- debugging: Fox_Maccloud's calculator (x86 assembly)
- hacking: secret message in .bmp by Halu_Reformed
- overview: x86 static analyzer implementation (C++)
- refactoring ImminentMadness' string-to-integer (Python)
- lesson: C++ casts (static_cast, (T), etc.)
- lesson: struct padding and alignment (C)