Posts

Devlogs, announcements and tutorials

Python: read a CSV file the right way
Post

Python: read a CSV file the right way

The csv module handles edge cases your manual split() will not.

#python#csv#file-io

5/21/2026

Why use a data warehouse?
Post

Why use a data warehouse?

Operational databases are not built for analytics. Here is what fills the gap.

#data-warehouse#concepts#architecture

5/20/2026

Snowflake vs Redshift — quick comparison
Post

Snowflake vs Redshift — quick comparison

Two of the biggest data warehouses. Each has a different philosophy.

#snowflake#redshift#data-warehouse

5/19/2026

Python list comprehensions — short, fast, readable
Post

Python list comprehensions — short, fast, readable

One-line transformation that replaces three lines of for-loop boilerplate.

#python#list-comprehension#intermediate

5/18/2026

Top 3 products per category — SQL window function
Post

Top 3 products per category — SQL window function

Classic interview question that separates beginners from intermediates.

#sql#window-functions#challenge

5/17/2026

SQL GROUP BY — aggregating like a Data Engineer
Post

SQL GROUP BY — aggregating like a Data Engineer

Counting per category, summing per month, averaging per region — all GROUP BY.

#sql#group-by#aggregations

5/16/2026

What is ETL?
Post

What is ETL?

Three letters that describe almost every data pipeline ever built.

#etl#concepts#data-engineering

5/15/2026

Python dictionaries — key/value lookups
Post

Python dictionaries — key/value lookups

When you need fast lookups by name instead of by position, use a dict.

#python#dict#basics

5/14/2026

Count word frequencies in a sentence
Post

Count word frequencies in a sentence

Classic interview warm-up — turn a string into a frequency dictionary.

#python#challenge#beginner

5/13/2026

SQL: SELECT and WHERE — your first query
Post

SQL: SELECT and WHERE — your first query

The two clauses you will write more than any other in your DE career.

#sql#basics#data-engineering

5/12/2026

Why Python dominates Data Engineering
Post

Why Python dominates Data Engineering

Almost every modern data tool exposes a Python API. Here is why.

#python#data-engineering#industry

5/11/2026

Python lists — the workhorse of data work
Post

Python lists — the workhorse of data work

Lists hold ordered collections. Almost every Python data script starts with one.

#python#lists#basics

5/10/2026

What is a data pipeline?
Post

What is a data pipeline?

The most common term in Data Engineering — explained without jargon.

#data-engineering#concepts#basics

5/9/2026

Python print() and variables
Post

Python print() and variables

Your first interaction with Python — printing values and storing them in variables.

#python#basics#data-engineering

5/8/2026

Working Memory Has 4 Slots
Post

Working Memory Has 4 Slots

Classic research said 7±2 items. Modern research puts it at 4. Design your learning around this.

#study#learning

5/7/2026

Object Pooling — Stop Instantiating
Post

Object Pooling — Stop Instantiating

Instantiate/Destroy on every bullet causes GC spikes. Pool them instead.

#csharp#unity#performance

5/6/2026

var vs let vs const
Post

var vs let vs const

These three differ in scope, hoisting, and mutability. Know the exact rules.

#javascript#scope#hoisting

5/5/2026

State Machine Pattern in C#
Post

State Machine Pattern in C#

Enums + switch are fine for 3 states. For 10+, use a proper state machine interface.

#csharp#unity#state-machine

5/4/2026

NavMesh Agent Basics
Post

NavMesh Agent Basics

Three lines of code give any enemy pathfinding. Here's the minimal setup.

#csharp#unity#navmesh

5/3/2026

Post

Explain the JS Event Loop

JavaScript is single-threaded, yet handles async work. The event loop is why.

#javascript#event-loop#async

5/2/2026

Post

Interleaving Beats Blocking for Skill Acquisition

Practicing mixed problem types feels harder but produces better results than blocked practice.

#study#learning

5/1/2026

Post

What is event delegation?

Instead of a listener per element, one listener on the parent handles everything.

#javascript#events#performance

4/30/2026

Post

Retrieval Practice Outperforms Re-reading

Testing yourself is more effective than reviewing notes. The 'testing effect' is real.

#study#learning

4/29/2026

Coroutines for Timed Sequences
Post

Coroutines for Timed Sequences

Coroutines pause execution without blocking the main thread. The Unity async workhorse.

#csharp#unity#coroutines

4/28/2026

Post

What is Hoisting?

JavaScript moves declarations to the top of their scope before executing. Not always the whole thing.

#javascript#hoisting#scope

4/27/2026

ScriptableObjects as Data Containers
Post

ScriptableObjects as Data Containers

ScriptableObjects store shared data without needing a GameObject in the scene.

#csharp#unity#scriptableobjects

4/26/2026

Unity Events vs C# Events
Post

Unity Events vs C# Events

Both decouple systems, but UnityEvent is Inspector-wired while C# events are code-only.

#csharp#unity#events

4/25/2026

Explain Promise Chaining
Post

Explain Promise Chaining

Each .then returns a new Promise. Understanding this unlocks the full power of async pipelines.

#javascript#promises#async

4/24/2026

What is a Closure? (interview version)
Post

What is a Closure? (interview version)

This question appears in nearly every JavaScript interview. Nail the definition and example.

#javascript#closures#interview

4/23/2026

Post

The Spacing Effect: Distributed Practice Wins

Cramming feels productive but retention is worse than spaced repetition over days.

#study#learning

4/22/2026

Structuring C# Classes in Unity
Post

Structuring C# Classes in Unity

A clean MonoBehaviour template prevents 90% of beginner coupling mistakes.

#csharp#unity#architecture

4/21/2026

Async Iteration with for-await-of
Post

Async Iteration with for-await-of

Iterate over streams, paginated APIs, or async generators with a clean loop.

#javascript#async#generators

4/20/2026

Closure — Functions That Remember
Post

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.

#javascript#closures#scope

4/19/2026

Difference: == vs ===
Post

Difference: == vs ===

== does type coercion. === does not. The results can be wildly surprising.

#javascript#equality#coercion

4/18/2026

Post

What does 'this' refer to?

'this' is determined by HOW a function is called, not WHERE it's defined.

#javascript#this#binding

4/17/2026

Post

What is Memoization?

Cache expensive function results so repeated calls are instant lookups.

#javascript#memoization#performance

4/16/2026

Proxy — Intercept Object Operations
Post

Proxy — Intercept Object Operations

Proxy wraps any object and lets you intercept reads, writes, and deletes.

#javascript#proxy#metaprogramming

4/15/2026

Post

LRU Cache Implementation

Least Recently Used cache: O(1) get and put using Map's insertion-order property.

#javascript#map#cache

4/14/2026

Count Islands (Matrix DFS)
Post

Count Islands (Matrix DFS)

A classic graph problem: count connected components in a 2D grid.

#javascript#graph#dfs

4/13/2026

Post

Dual Coding: Words + Images = Better Recall

Combining verbal and visual information creates two memory traces instead of one, doubling recall.

#study#learning

4/12/2026

Deep vs Shallow Copy
Post

Deep vs Shallow Copy

Spread and Object.assign only copy one level. Nested objects still share references.

#javascript#objects#cloning

4/11/2026

Throttle — Rate-Limit Function Calls
Post

Throttle — Rate-Limit Function Calls

Unlike debounce, throttle guarantees execution at a fixed rate, not just at the end.

#javascript#performance#throttle

4/10/2026

Post

Group Anagrams Together

Sort each word as a key. Words with the same sorted letters are anagrams.

#javascript#strings#map

4/9/2026

Post

Detect a Cycle in a Linked List

Floyd's algorithm uses two pointers — slow and fast — to detect cycles in O(1) space.

#javascript#linked-list#two-pointers

4/8/2026

Debounce — Control High-Frequency Events
Post

Debounce — Control High-Frequency Events

Typing triggers onChange hundreds of times. Debounce waits until you stop.

#javascript#performance#debounce

4/7/2026

WeakMap for Private Data
Post

WeakMap for Private Data

WeakMap links private data to objects and auto-cleans when the object is gone.

#javascript#weakmap#oop

4/6/2026

Generator Functions — Lazy Sequences
Post

Generator Functions — Lazy Sequences

Generate infinite sequences without filling memory. That's what generators are for.

#javascript#generators#iterators

4/5/2026

Map vs Object — When to Use Each
Post

Map vs Object — When to Use Each

Map isn't just a fancier object. It has real advantages you should know.

#javascript#map#data-structures

4/4/2026

Post

What is a Pure Function?

Two rules define purity. Break either and you've introduced a side effect.

#javascript#functional#pure-functions

4/3/2026

Promise.allSettled vs Promise.all
Post

Promise.allSettled vs Promise.all

One failure kills Promise.all. allSettled lets every promise finish.

#javascript#promises#async

4/2/2026

Prototype Chain Explained
Post

Prototype Chain Explained

Every JS object has a hidden link to another object. That chain is how inheritance works.

#javascript#prototype#inheritance

4/1/2026

The Spacing Effect: Distributed Practice Wins
Post

The Spacing Effect: Distributed Practice Wins

Cramming feels productive but retention is worse than spaced repetition over days.

#study#learning

4/1/2026

Test 1
Post▶ Video

Test 1

Test description card

#Post

3/28/2026