Recent submissions

Comment · 6 months ago
First time I heard about Rocky Linux distribution. Thank you for the heads up.
Comment · 6 months ago
Yes, I can see you're a bit late indeed. Several replies ago I have already acknowledged that I used LLM for the initial post and initial replies.

I use AI everyday, for different purposes, fixing my English when I feel I need, brainstorming, automate tasks, getting ideas for dinner, asking things I don't know about raising a 1 year old boy, eck even finance stuff. And to be honest, I'm quite pleased about it and see no shame on it. I'm no salesperson, nor I have a grasp at marketing, nor I'm used to promote my work. With this thread in HN, (which was a suggestion by LLM! :D), I just wanted to share what I built a let others use it, regardless of typing each character or not, or using LLM, or using smoke signals.

But one thing I cannot avoid, is being polite and friendly because that is who I am when speaking in my native language or in English with my peers. So, saying "Hey" and "Hi", "I appreciate" and "thank you", is part of my day to day.

I didn't know about the article you mentioned but thanks for letting me know. :)

Comment · 6 months ago
I hadn't come across Bauplan or your work before today's thread. Looks like a few of us are landing on branches/replay/lineage from different angles (like yours Iceberg-native, mine warehouse-delegated). I will spend proper time with the paper and Bauplan.
Comment · 6 months ago
Hey jtagliabuetooso! Rocky is SQL-first instead of Python-first, and that was a deliberate scope choice. Also, Rocky acts as control plane that delegates compute to the warehouse (Databricks, etc) rather than owning the runtime. I don't have a strong use-case for nested branches, so no, that's not a feature Rocky has of today. I'll read the paper, thank you for sharing.
Comment · 6 months ago
Hey jtagliabuetooso! Absolutely, the idea isn't new. Rocky's bet is on the shipped implementation. I'll read your paper, thank you for sharing.
Comment · 6 months ago
Love your pet names and how you characterize them if you would name something after them :) Wiley is an interesting name!

I have another side-project, still private, which I named Shimi, my current dog's name. I'd thought naming my dog Sashimi, but Shimi is just shorter and simpler. I'm now considering stealing the name from my this other side-project for renaming Rocky, but I'll put more thought into it :)

Comment · 6 months ago
Make sense. Reviewing the README is on my TODO list. Thanks for the heads up!
Comment · 6 months ago
Oh yeah, good call.
Comment · 6 months ago
Accepted! :)
Comment · 6 months ago
Hey Xiaoher-C! Hum, I don't have a lineage diff command yet. As of now, I can make a small lift to wire up together two commands that already exist: "rocky ci --diff --base main" which runs a diff between main and HEAD, and "rocky lineage --column columnname --downstream". I'll add this to my backlog!
Comment · 6 months ago
Thank you!
Comment · 6 months ago
I truly appreciate your feedback and it's definitely a lesson learned for me. As I said to cmrdporcupine, "The only reason for passing my replies through AI was just because it's my first time posting here and opening a side-project of mine publicly. "

All the engine architecture decisions are mine though and this project came up to solve a real problem in a data pipeline that serves multiple clients, connectors, producers, etc.

Comment · 6 months ago
Hey Anders! Thanks a lot for dropping a comment and show interest in Rocky. Yes! I won't going to lie that Jinja is one of the things that gives me some itches :). But it wasn't the major reason for start building Rocky though.

It all started with the need for auto-generating dbt models from the FiveTran connections I integrate with, then having to hot reload code location in Dagster to discover new assets. All in a zero-touch data pipeline. FiveTran connections are discovered as they're created, assets are materialized as these connections sync.

Auto-generating these dbt models and get the manifest aligned between Dagster code location reloads plus spinning up pods in EKS for each Dagster runs that need to rely on these auto-generated models have some impact on the performance overall, not only in production, but also affects DX in their local environment.

Rocky wasn't born with a "dbt replacement" in mind at all, but it was born to solve a real issue I'm facing. I made sure I can integrate well with dbt as it's in my plans to leverage the awesome work available as dbt packages for FiveTran.

I'll definitely have a look the crates you mentioned! Thank you!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton