Python: read a CSV file the right way
5/21/2026
Devlogs, announcements and tutorials

Python: read a CSV file the right way
The csv module handles edge cases your manual split() will not.
5/21/2026

Why use a data warehouse?
Operational databases are not built for analytics. Here is what fills the gap.
5/20/2026

Snowflake vs Redshift — quick comparison
Two of the biggest data warehouses. Each has a different philosophy.
5/19/2026

Python list comprehensions — short, fast, readable
One-line transformation that replaces three lines of for-loop boilerplate.
5/18/2026

Top 3 products per category — SQL window function
Classic interview question that separates beginners from intermediates.
5/17/2026

SQL GROUP BY — aggregating like a Data Engineer
Counting per category, summing per month, averaging per region — all GROUP BY.
5/16/2026

What is ETL?
Three letters that describe almost every data pipeline ever built.
5/15/2026

Python dictionaries — key/value lookups
When you need fast lookups by name instead of by position, use a dict.
5/14/2026

Count word frequencies in a sentence
Classic interview warm-up — turn a string into a frequency dictionary.
5/13/2026

SQL: SELECT and WHERE — your first query
The two clauses you will write more than any other in your DE career.
5/12/2026

Why Python dominates Data Engineering
Almost every modern data tool exposes a Python API. Here is why.
5/11/2026

Python lists — the workhorse of data work
Lists hold ordered collections. Almost every Python data script starts with one.
5/10/2026

What is a data pipeline?
The most common term in Data Engineering — explained without jargon.
5/9/2026

Python print() and variables
Your first interaction with Python — printing values and storing them in variables.
5/8/2026

Working Memory Has 4 Slots
Classic research said 7±2 items. Modern research puts it at 4. Design your learning around this.
5/7/2026

Object Pooling — Stop Instantiating
Instantiate/Destroy on every bullet causes GC spikes. Pool them instead.
5/6/2026

var vs let vs const
These three differ in scope, hoisting, and mutability. Know the exact rules.
5/5/2026

State Machine Pattern in C#
Enums + switch are fine for 3 states. For 10+, use a proper state machine interface.
5/4/2026

NavMesh Agent Basics
Three lines of code give any enemy pathfinding. Here's the minimal setup.
5/3/2026
Explain the JS Event Loop
JavaScript is single-threaded, yet handles async work. The event loop is why.
5/2/2026
Interleaving Beats Blocking for Skill Acquisition
Practicing mixed problem types feels harder but produces better results than blocked practice.
5/1/2026
What is event delegation?
Instead of a listener per element, one listener on the parent handles everything.
4/30/2026
Retrieval Practice Outperforms Re-reading
Testing yourself is more effective than reviewing notes. The 'testing effect' is real.
4/29/2026

Coroutines for Timed Sequences
Coroutines pause execution without blocking the main thread. The Unity async workhorse.
4/28/2026
What is Hoisting?
JavaScript moves declarations to the top of their scope before executing. Not always the whole thing.
4/27/2026

ScriptableObjects as Data Containers
ScriptableObjects store shared data without needing a GameObject in the scene.
4/26/2026

Unity Events vs C# Events
Both decouple systems, but UnityEvent is Inspector-wired while C# events are code-only.
4/25/2026

Explain Promise Chaining
Each .then returns a new Promise. Understanding this unlocks the full power of async pipelines.
4/24/2026

What is a Closure? (interview version)
This question appears in nearly every JavaScript interview. Nail the definition and example.
4/23/2026
The Spacing Effect: Distributed Practice Wins
Cramming feels productive but retention is worse than spaced repetition over days.
4/22/2026

Structuring C# Classes in Unity
A clean MonoBehaviour template prevents 90% of beginner coupling mistakes.
4/21/2026

Async Iteration with for-await-of
Iterate over streams, paginated APIs, or async generators with a clean loop.
4/20/2026

Closure — Functions That Remember
A closure is a function that captures variables from its outer scope. It's the core of private state in JS.
4/19/2026

Difference: == vs ===
== does type coercion. === does not. The results can be wildly surprising.
4/18/2026
What does 'this' refer to?
'this' is determined by HOW a function is called, not WHERE it's defined.
4/17/2026
What is Memoization?
Cache expensive function results so repeated calls are instant lookups.
4/16/2026

Proxy — Intercept Object Operations
Proxy wraps any object and lets you intercept reads, writes, and deletes.
4/15/2026
LRU Cache Implementation
Least Recently Used cache: O(1) get and put using Map's insertion-order property.
4/14/2026

Count Islands (Matrix DFS)
A classic graph problem: count connected components in a 2D grid.
4/13/2026
Dual Coding: Words + Images = Better Recall
Combining verbal and visual information creates two memory traces instead of one, doubling recall.
4/12/2026

Deep vs Shallow Copy
Spread and Object.assign only copy one level. Nested objects still share references.
4/11/2026

Throttle — Rate-Limit Function Calls
Unlike debounce, throttle guarantees execution at a fixed rate, not just at the end.
4/10/2026
Group Anagrams Together
Sort each word as a key. Words with the same sorted letters are anagrams.
4/9/2026
Detect a Cycle in a Linked List
Floyd's algorithm uses two pointers — slow and fast — to detect cycles in O(1) space.
4/8/2026

Debounce — Control High-Frequency Events
Typing triggers onChange hundreds of times. Debounce waits until you stop.
4/7/2026

WeakMap for Private Data
WeakMap links private data to objects and auto-cleans when the object is gone.
4/6/2026

Generator Functions — Lazy Sequences
Generate infinite sequences without filling memory. That's what generators are for.
4/5/2026

Map vs Object — When to Use Each
Map isn't just a fancier object. It has real advantages you should know.
4/4/2026
What is a Pure Function?
Two rules define purity. Break either and you've introduced a side effect.
4/3/2026

Promise.allSettled vs Promise.all
One failure kills Promise.all. allSettled lets every promise finish.
4/2/2026

Prototype Chain Explained
Every JS object has a hidden link to another object. That chain is how inheritance works.
4/1/2026

The Spacing Effect: Distributed Practice Wins
Cramming feels productive but retention is worse than spaced repetition over days.
4/1/2026

Test 1
Test description card
3/28/2026