From my blog

A Native macOS and Linux Semantic Model Editor

June 02, 2026

There is finally a Semantic Model editor that runs native on macOS and Linux called Semantic Modeler from Fact Foundry! It's compatible with Tabular Models for Microsoft Fabric, SQL Server Analysis Services and Azure Analysis Services!


Writing Custom Applications Using AI

March 14, 2026

A real workflow for building apps with AI — how to use one AI to write prompts and another to write code. Covers requirements gathering, phasing for token limits, git safety, and keeping your sanity, without becoming a prompt engineering expert.


Beyond Gold: Why the Medallion Architecture Needs a Platinum Layer

March 02, 2026

The Medallion Architecture's Gold layer is widely accepted but poorly defined. In this post I explore the gaps I encountered implementing Gold across SQL Server, Synapse, and Microsoft Fabric — and why adding a Platinum layer solves problems that Gold alone cannot.


Custom Logging Package in Microsoft Fabric

February 17, 2026

In this post we will take our custom logging from Notebooks to Eventhouse in Microsoft Fabric a step further by creating a custom package we can upload to an Environment in Microsoft Fabric.


Custom Logging in Microsoft Fabric Notebooks

February 09, 2026

This blog post is a guide on how to setup custom logging to an Event house in Microsoft Fabric from a Notebook using Python.


Guide to Install Intel Arc B50 on TrueNAS Scale

October 21, 2025

Complete guide to installing Intel Arc B50 GPU on TrueNAS Scale. Includes firmware setup, driver installation, and systemd service. Tested on latest version.


Automate Lakehouse Table Maintenance In Fabric

October 14, 2025

Automate Microsoft Fabric Lakehouse maintenance using Python ThreadPoolExecutor. Run OPTIMIZE and VACUUM across multiple tables. Complete code + error handling.


MS Fabric Lakehouse Data Missing?

October 05, 2025

Loaded data into a Microsoft Fabric Lakehouse but can't see it? Learn why this happens on lower capacities (F16 and below) and how to fix it using REFRESH, OPTIMIZE, and VACUUM commands.


Installing PostgreSQL 17 on openSUSE Leap 16

September 14, 2025

This post we will be installing PostgresSQL 17 on openSUSE Leap 16


Retrieve MS Fabric Notebook Environment Info

September 08, 2025

Learn notebookutils.runtime commands to get Fabric notebook environment details. Includes lakehouse name, workspace ID, and debugging tips. Tested on Fabric 2025.


Entra Groups For AS RLS In Fabric & PBI Service

June 07, 2025

Learn how to implement Row Level Security in SSAS Tabular Models using Microsoft Entra ID users and security groups for Power BI & Microsoft Fabric, including how to format Group and Tenant IDs for role membership.


Windows Desktop On Linux

December 17, 2023

This opinion piece is my thoughts on why Microsoft should create a Linux Desktop Environment.


Microsoft Teams Calendar In Outlook

June 03, 2023

Learn how to share your team calendar from Microsoft Teams in Microsoft Outlook


Terminate SSIS Operation With SQL

August 09, 2022

Learn how to terminate a SSIS operation using SQL


Working With Lists In SQL Server

August 02, 2022

This post takes a look at using STRING_AGG() and STRING_SPLIT() as alternatives to XML functions to work with lists In SQL Server


DST Conversion Functions In SQL Server

July 16, 2022

Generating Daylight Savings Time and Standard Time Conversion Functions For Multiple Time Zones In SQL Server


Generating DST Conversion Table In SQL Server

July 05, 2022

Generating Daylight Savings Time and Standard Time Conversion Table For Multiple Time Zones


Generating ID fields in views in SQL Server

May 10, 2022

Taking a look at using ROW_NUMBER() vs. HASHBYTES() for generating unique ID fields in views.


Windows 11 AMD Driver Issue

April 26, 2022

Resolved an annoying Windows 11 rolling back the AMD driver after installation of a new driver.


Opera GX Review

April 05, 2022

Ever wonder if there are other browsers out there worth checking out besides Chrome, Edge, and Safari? Let's take a look at Opera GX, the gaming browser that is great for everyday use.



An error has occurred. This application may no longer respond until reloaded. Reload 🗙