---
title: "IT-Craftsman (@itcraftsman) | Hashnode"
description: "Freelance Data Engineering & DevOps. Read the latest articles by IT-Craftsman on Hashnode."
url: "https://hashnode.com/@itcraftsman"
---

@itcraftsman

# IT-Craftsman

@itcraftsman · Joined October 2026

Freelance Data Engineering & DevOps

### [5 SQL window-function traps that show up in data engineering interviews (with runnable DuckDB examples)](https://itcraftsman.hashnode.dev/sql-window-function-interview-traps-duckdb?utm_source=hashnode&utm_medium=feed)

Default frames, ties, LAST\_VALUE, filters before windows and sparse moving averages. Five small traps that separate knows SQL from writes correct pipelines.

5 min read · [itcraftsman.hashnode.dev](https://itcraftsman.hashnode.dev/sql-window-function-interview-traps-duckdb?utm_source=hashnode&utm_medium=feed)

[Oct 12](https://hashnode.com/posts/sql-window-function-interview-traps-duckdb/6acd195ee0e9b327716c900a)

### [Airflow 3 quietly changed what your cron schedule means](https://itcraftsman.hashnode.dev/airflow-3-cron-schedule-data-intervals?utm_source=hashnode&utm_medium=feed)

In Airflow 3 a bare cron string no longer creates data intervals by default. Here is what changed, why your ds can shift by a day, and how to make your DAGs upgrade-proof.

4 min read · [itcraftsman.hashnode.dev](https://itcraftsman.hashnode.dev/airflow-3-cron-schedule-data-intervals?utm_source=hashnode&utm_medium=feed)

[Oct 12](https://hashnode.com/posts/airflow-3-cron-schedule-data-intervals/6acd18e50c254401f016fe7e)
