BigQuery Access to 3rd Party Tables
A practical guide to configuring GCP BigQuery access to third-party tables using authorized views, direct dataset access, and IAM roles with step-by-step examples.
Thoughts on data engineering, software development, and the occasional life lesson. Written by Chris Lipinski.
A practical guide to configuring GCP BigQuery access to third-party tables using authorized views, direct dataset access, and IAM roles with step-by-step examples.
Comparing SQL adapters and ORMs in Python — psycopg vs SQLAlchemy with FastAPI examples. Chris Lipinski on why knowing SQL still matters when using an ORM.
SQL table constraints explained with examples — NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, and CHECK constraints for relational database design.
Overview of the TCP/IP transport layer — how TCP and UDP handle host-to-host communication, packet construction, and application layer connections.
Best practices for implementing CRUD methods in REST APIs — mapping Create, Read, Update, Delete to HTTP methods and URI conventions with FastAPI examples.
Why API schemas matter — using OOP schema classes to validate request payloads, restrict invalid data, and return structured responses.
Reference for core HTTP methods (GET, POST, PUT, DELETE, etc.) with links to RFC 7231 and Python HTTP documentation.
How to set up a Python virtual environment using venv — with commands for Windows and Linux activation.
Web scraping fundamentals: forging API requests, proxies, captchas, SSR, Ajax, and storing data at scale — with a link to hands-on lessons.
Comparing popular API frameworks — Django, FastAPI, Flask, and Express.js — for building modern web APIs.
Quick reference to useful Pandas DataFrame methods — truncate, value_counts, and nlargest — with links to official documentation.
Getting started with Jupyter notebooks and common Python packages for data analysis — Pandas, NumPy, Matplotlib, Requests, and more.
Clear definitions of core object-oriented programming concepts: classes, attributes, methods, parameters, and arguments explained by Chris Lipinski.
Chris Lipinski on how default behaviours create upward or downward spirals and how small changes in momentum can lead to lasting positive direction.
No one has it all figured out. Chris Lipinski on why doing the work and staying willing to learn is what separates progress from stagnation.
Chris Lipinski reflects on startup growth strategies, investor appetite for risk, and why founder credibility matters more in a down market.
Sometimes you just need to ship it. Chris Lipinski on why a one-line start is enough and how the MVP mindset helps overcome inertia.
How ETL processes can improve product and application data, not just BI data warehousing. Chris Lipinski on validation, merging, mapping, and the importance of QA.
Chris Lipinski on how Lenny's Podcast and Ian McAllister's insights on product management reinforced his belief that growth requires vulnerability and openness to learning.
Following up on data curation basics, Chris Lipinski explores how the initial approach sets momentum and why knowing the end-use context guides quality conventions.
Managing large datasets requires thinking like a reptile. Chris Lipinski on prioritising the impactful 20% of data while applying minimum viable quality checks to the rest.
Chris Lipinski shares his personal journey learning to code — from hacking config files on an IBM XT to finally breaking out of tutorial mode and building real projects.
How daily habits lead to improvement through repetition. Chris Lipinski shares practical advice on building better habits through small actions and progressive success.