Skip to content

Instantly share code, notes, and snippets.

View lassebenni's full-sized avatar

Lasse Benninga lassebenni

View GitHub Profile
@lassebenni
lassebenni / week_3__parquet_columnar_visual.html
Created February 21, 2026 22:53
Visual for: Parquet columnar storage vs CSV row storage
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Parquet Columnar Storage: Row vs Column Layout</title>
<style>
body {
margin: 0;
padding: 20px;
@lassebenni
lassebenni / week_3__file_formats_comparison_visual.html
Created February 21, 2026 22:53
Visual for: CSV vs JSON vs Parquet comparison
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Formats Comparison: CSV vs JSON vs Parquet</title>
<style>
body {
margin: 0;
padding: 20px;
@lassebenni
lassebenni / separation_concerns_animation.html
Created February 18, 2026 11:09
Animation for: Separation of Concerns (I/O → Logic → Output)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Separation of Concerns — Data Pipeline Flow</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: #1a1a2e;
@lassebenni
lassebenni / silent_failure.cast
Created February 17, 2026 21:17
Terminal Tutorial: silent_failure
{"version":2,"width":80,"height":24,"timestamp":1771363023,"command":"python3 actor_silent_fail.py","env":{"SHELL":"/bin/zsh"}}
[0.68702, "o", "\u001b[32m~/Code/my_pipeline\u001b[0m $ "]
[0.990856, "o", "c"]
[1.08254, "o", "a"]
[1.155281, "o", "t"]
[1.234741, "o", " "]
[1.293865, "o", "s"]
[1.341869, "o", "i"]
[1.424568, "o", "l"]
[1.499718, "o", "e"]
@lassebenni
lassebenni / pytest_first_run.cast
Created February 17, 2026 21:17
Terminal Tutorial: pytest_first_run
{"version":2,"width":80,"height":24,"timestamp":1771363008,"command":"python3 actor_pytest.py","env":{"SHELL":"/bin/zsh"}}
[0.646127, "o", "\u001b[32m~/Code/my_pipeline\u001b[0m $ "]
[0.945658, "o", "c"]
[1.021904, "o", "a"]
[1.090095, "o", "t"]
[1.170436, "o", " "]
[1.214857, "o", "t"]
[1.289375, "o", "e"]
[1.347608, "o", "s"]
[1.412322, "o", "t"]
@lassebenni
lassebenni / dotenv_setup.cast
Created February 17, 2026 21:17
Terminal Tutorial: dotenv_setup
{"version":2,"width":80,"height":24,"timestamp":1771362934,"command":"python3 actor_dotenv.py","env":{"SHELL":"/bin/zsh"}}
[0.619123, "o", "\u001b[32m~/Code/my_pipeline\u001b[0m $ "]
[0.923683, "o", "c"]
[0.997996, "o", "a"]
[1.050273, "o", "t"]
[1.129288, "o", " "]
[1.200278, "o", "b"]
[1.250851, "o", "a"]
[1.32458, "o", "d"]
[1.385624, "o", "_"]
@lassebenni
lassebenni / nested_vs_linear_animation.html
Created February 17, 2026 21:16
Animation for: Nested Calls vs Linear Pipeline
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nested vs Linear Pipeline</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: #1a1a2e;
@lassebenni
lassebenni / dict_vs_dataclass_animation.html
Created February 17, 2026 21:16
Animation for: Dictionary vs Dataclass - Autocomplete and Safety
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dict vs Dataclass</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: #1a1a2e;
@lassebenni
lassebenni / falsy_surprises.cast
Created January 26, 2026 17:15
Terminal Tutorial: Falsy Surprises
{"version":2,"width":80,"height":24,"timestamp":1769447734,"command":"python3 actor_falsy.py","env":{"SHELL":"/bin/zsh"}}
[0.277347, "o", "$ python3\r\n"]
[0.77879, "o", ">>> d"]
[0.863041, "o", "e"]
[0.912524, "o", "f"]
[0.96364, "o", " "]
[1.003149, "o", "p"]
[1.055266, "o", "r"]
[1.113456, "o", "o"]
[1.168113, "o", "c"]
@lassebenni
lassebenni / import_side_effects.cast
Created January 26, 2026 17:15
Terminal Tutorial: Import Side-effects
{"version":2,"width":80,"height":24,"timestamp":1769447724,"command":"python3 actor_import.py","env":{"SHELL":"/bin/zsh"}}
[0.24671, "o", "$ cat my_utils.py\r\ndef clean(v): return v.strip()\r\nprint(\"CLEANUP STARTED...\") # Loose code!\r\n\r\n"]
[1.244953, "o", "$ python3\r\n"]
[1.749037, "o", ">>> f"]
[1.812368, "o", "r"]
[1.887767, "o", "o"]
[1.94202, "o", "m"]
[1.974814, "o", " "]
[2.009777, "o", "m"]
[2.089779, "o", "y"]