Simon Späti 🏔️

Simon Späti 🏔️

@ssp.sh

Dad. Technical Author, Data Engineer. Data practitioner (20y) • Writing at ssp.sh since 2015. Focused on the craft of data engineering & storytelling. 📚 vault.ssp.sh • 📖 @dedp.online ❯ #dataengineering, #opensource, #writing, #obsidian, #neovim

5.8K followers1.2K following5.6K posts

View full thread

Also, everything deliberately does not use AI/LLMs, only embeddings through Smart Connections that are created locally. Smart Connection creates local embeddings in `.smart-env`, and we use these to show similar notes. Everything else is just a local index based on your notes.

ssp.shObsidian Fast Find 10K Plugin (FF10K)Fast Find 10k is an Obsidian plugin I've built for my dream search based on fzf/Telescope form Neovim for preview style and fuzzy search, Omnisearch for smarter search, and Smart...

Mobile view - toggle the preview or language feature conveniently by clicking the pill. One click for preview, two for opening if preview is enabled:

Are we going back to test-driven development by prompting the tests first and asserting what you want before the agent builds it? But what about the BI engineer? Where does verification happen on your team today? My two cents below.

View full thread

To me, verification is the liability in agentic engineering today. I explore: - Why "business people are the best data contracts" →Five hierarchy levels of testing across the data stack →Why you can't verify logic spread across four tools and repos Example of five testing levels in one repo:

Are we going back to test-driven development by prompting the tests first and asserting what you want before the agent builds it? But what about the BI engineer? Where does verification happen on your team today? My two cents below.

Sameer, the CEO of Metabase, said: “Business people are the best data contracts, they know when something doesn't make sense, they know the numbers. Plus, they feel it in their subconscious". A lot is changing in BI and data generally.

The article below goes into how to consolidate components to optimize for human ergonomics, and not agents only, and what a unified, hierarchical lineage DAG has to do with catching drift at build time. An agent writes a metric in seconds, but checking if that is correct takes hours.

I am building my dream search for Obsidian based on fzf/Telescope for preview style and fuzzy search, Omnisearch for pre-indexing, and Smart Connections for similar notes/use of embeddings. All based on Rust WASM to be super fast, with no local or online AI involved.

My main goal is to find notes quickly (ms), as I do not use folders, and when I create a new note, to be sure that there isn't the same note with a similar name already existing. This gives me the cockpit view that includes in one search what I used to before: three plugins/separate views.

Still early, but it looks promising. I already found many related items in one search that I previously had to create listings for, to keep an overview. Are there similar plugins that exist out there?

My GitHub contributions, every year since 2011: 8,204 in total. I've been doing that for a long time, it seems. I totally forgot about 2011, 15 years ago. Apparently it's my bachelor's thesis. Crazy how time flies. And it has certainly increased with AI, but I pushed lots before as well.

View full thread

If you enjoy the theme, there is now also an Obsidian and Omarchy theme available called «Asia Neon», based on my real image from Singapore by night.

Back to the Fundamentals: Triggers are back! 😍

DuckDB@duckdb.org

Announcing DuckDB 2.0.0 LTS “Cinnamon Teal” 🦆 This is the biggest #DuckDB feature release ever, and it's shipping a polished version of the Quack protocol for DuckDB-as-a-server, async I/O, a first-class VARIANT type, agent mode, triggers, an extensible SQL parser and more – read on for details.

It seems that Amazon has no way of sorting out AI books: Today, I see three book covers already clearly generated by AI. So if the cover is already AI-generated, what about the book? No offense to the authors, but when you spend years writing, why not a nice cover? Just an observation today.

This is depressing. Who wants to read an AI-generated book, anyone? Be Tim Ferriss and refuse to let AI write his book, his reason: > [..] if you want to retain a function, a cognitive ability, be very careful about what you outsource.

When you ask ChatGPT and Claude, "give me a random number between 1 and 30", they will all give you 17 🤔 (it did for me, try it yourself). But not Claude Code (Codex did as well), as it ran an actual bash command. So what do we learn? Always run the CLI version of your agents.

Context can't exist in a vacuum, it must be tangible. For example, we have a physical data model with concrete tables that live in the database at the source, on the other side, we have KPIs and dashboards that show some numbers pulled from that data model.

View full thread

Some of the presentations I look forward to: →Real-Time State and History with Apache Fluss & StarRocks. →Iceberg REST Catalog, OIDC, Making MV Enterprise-Ready. →Sub-Second Data Architecture. →A Year of Building for the Next Query at Fresha →From Unified Real-Time Analytics to a Governed AI Plane

But pick your favorite talks, and sign up at: nextquery.phoenixdata.ai/?utm_source... The conference is free and virtual, so that anybody can join. Organized by PhoenixAI, the company behind StarRocks, the open-source high-performance data warehouse. #contextengineering #paidpartnership

nextquery.phoenixdata.aiNEXT QUERY 2026 — The Data + AI Infrastructure SummitNEXT QUERY 2026 is PhoenixAI's free online Data + AI Infrastructure Summit on November 4, 2026. Two tracks on lakehouse architecture, real-time analytics, and AI agent workloads.

Context can't exist in a vacuum, it must be tangible. For example, we have a physical data model with concrete tables that live in the database at the source, on the other side, we have KPIs and dashboards that show some numbers pulled from that data model.

View full thread

We might call the newly ingested information "context", typically not the standard tabular format, but raw text and insights from people and teams, we need a bit of a different approach to read, process, and, maintain. This is what 'context engineering' and all the new information context means.

If you want to learn more, I can recommend the NEXT QUERY 2026 conference on the 4th of November that focuses on data & AI infrastructure, with this year's topic on building using useful context that depends on business meaning, fresh data, governed access, and reliable systems.

Context can't exist in a vacuum, it must be tangible. For example, we have a physical data model with concrete tables that live in the database at the source, on the other side, we have KPIs and dashboards that show some numbers pulled from that data model.

Somewhere in between, we have a logical data layer that contains the semantics of our measures/dimensions. When we add new knowledge, such as docs, JIRA tickets, MD, and other sources, or we manually refine the revenue metric, we need a way to orchestrate and keep it up to date.

Before, I used the Graph Analysis Plugin, but today I use Smart Connections. I documented why and how I use the @obsidian.md local graph at www.ssp.sh/brain/obsidi....

Many say the #Obsidian graph is only to show off. But in the initial phase, when I start a new article, it's all I use. I'll discover patterns, relations. I go from depth level 2 to 3, hover over and see its connections. I use the Graph Analysis on the right to give me glues with probabilities.

Data engineering > AI Engineering. Data wrangling was done by 80% of BI engineers, then 80% of the time by data scientists, and today it's done 80% of the time by AI engineers. It's much more automated, but without clear knowledge or direction for agents, you end up in a mess in no time.

These documentaries are just so encouraging and humbling at the same time, there are people who spend 30 years on an open-source project, making the world and the developer environment a better place, just for personal conviction and having some fun.

Thanks CultRepo for making Netflix documentaries for nerdy developers. And thanks to KDE and the relentless work for making Linux more popular. Also TIL—Qt 1.0 was popularized with KDE, which is what all my widgets are made on my Linux desktop I used today (v6).

This is depressing. Who wants to read an AI-generated book, anyone? Be Tim Ferriss and refuse to let AI write his book, his reason: > [..] if you want to retain a function, a cognitive ability, be very careful about what you outsource.

You ingest data, then you model and transform it, and in the end, serve it to whoever needs to see it. But then, someone asks for a change, everything breaks, and you rebuild. > The tools change, the loop doesn't. This is «A Diary of a Data Engineer» to summarize the state of data engineering.

Using DuckDB as a zero-copy SQL connector is probably one of the most common use cases I use DuckDB for, since the very start. I think it actually might be the default for many, very few store data in DuckDB databases. Early on, it was data lakes, now it might be DuckLakes.

People often ask: - Is DuckDB like Snowflake? Not really. - Is DuckDB like PostgreSQL? No, maybe cousins? - Is DuckDB like Pandas? It's complicated. - Is DuckDB like SQLite? Yes and no. - Is DuckDB like Apache Spark? Interesting. I've been exploring DuckDB for a while, and in my

Using DuckDB as a zero-copy SQL connector is probably one of the most common use cases I use DuckDB for, since the very start. I think it actually might be the default for many, very few store data in DuckDB databases. Early on, it was data lakes, now it might be DuckLakes.

People often ask: - Is DuckDB like Snowflake? Not really. - Is DuckDB like PostgreSQL? No, maybe cousins? - Is DuckDB like Pandas? It's complicated. - Is DuckDB like SQLite? Yes and no. - Is DuckDB like Apache Spark? Interesting. I've been exploring DuckDB for a while, and in my