Buf retweeted
Rebuilding the trading engine in Rust. Today: how to define the types on the data streams.
Option A: hand-write them everywhere.
Option B: protobuf + Buf, generated at build time.
I went with B. Hand-written types drift. Generated ones can't — and so far it's faster.
Buf retweeted
we just migrated our gRPC services to the ConnectRPC protocol instead. this turned out to be a fairly simple migration, but unlocks a whole bunch of new features for Hatchet in the next few months.
gRPC is fantastic, but support across runtimes isn't great. in particular, we've had a bunch of requests for serverless runtimes like @Cloudflare Workers which we haven't been able to support because of gRPC compatibility issues. the original serverless runtimes were built around the fetch() API, which is missing a bunch of http/2 features that we need.
we've been quietly waiting on gRPC support across these runtimes -- and Cloudflare just rolled it out in beta! -- but demand was high enough that we're just sending it.
The great part about ConnectRPC is that it's fully gRPC compatible, so existing clients will still work. Just a 10/10 dev experience overall: connectrpc.com/
full serverless and sandbox support coming soon.
Buf retweeted
gRPC support is now available in Cloudflare Workers. You can now route, transform, and serve gRPC services natively at the edge without maintaining dedicated proxy infrastructure or translation layers. Read the launch post: cfl.re/4wEgW2h
Buf retweeted
Moving to Anthropic's Buffa + connectrpc has been really smooth.
I think more teams will end up shipping proto-first applications simple because they can draft contracts against canonical proto files.
github.com/anthropics/buffa
At Monster Scale Summit, @bufbuild's Miguel Young de la Sota will explore how engineering teams should think about balancing aggressive optimization against system stability and maintainability. Save your free and virtual spot here > ow.ly/45KZ50Yq7PI
#ScyllaDB
Buf retweeted
docs have no business being the contract between services
that's what types are for
do this and your coding agent will love you
new blog: ship types, not docs
shiptypes.com
Buf retweeted
Never trust the source of your data.
I spent 2 months building a data pipeline to train a model. A single word broke it in 24 hours.
A pipeline that doesn't validate the schema of the data will invariably fail and take your entire system down with it.
I was building a churn model for a subscription application. A single change in a database table turned "session_minutes" into a string feature. My code started sorting the field lexicographically, so "100 became less than "20" overnight.
I took the whole thing down, and it was 100% preventable.
I allowed data to come in without first verifying its schema. I was reacting to any potential failures instead of preventing them.
Always enforce a contract on all incoming data. This is the difference between a system that's brittle and reactive and a system that's resilient and predictable.
Many people I know use Kafka for data streaming. Unfortunately, Kafka is overkill, notoriously complex, and expensive for 80% of the problems it solves.
Bufstream is a great drop-in alternative (and the only one validated by Jepsen). 8x cheaper than Kafka, and it's a simple binary you can run on your local machine, AWS, or GCP, capable of scaling from 0 to 100 GiB/s of writes with no operator intervention.
The best part about Bufstream is its built-in schema validation and focus on data quality and privacy.
Here is Bufstream's GitHub repository: fnf.dev/3TZ4jgo
And here is an article covering how Bufstream makes Schema-driven development a must-have for anyone building data streaming pipelines: fnf.dev/3Gx9wc9
Thanks to the @bufbuild team for collaborating with me on this post.
Buf retweeted
I expect buf.build/product/bufstream to be on this list next year
Buf retweeted
Man @bufbuild is genuinely a great tool. Huge fan of the idea of language agnosticism in protos and Buf makes it so effortless to integrate.
Buf retweeted
Thank you @bufbuild for being a Gold Sponsor of #gRPConf!
Join us on August 27th! Register Here ➡️ events.linuxfoundation.org/g…
Buf retweeted
New Blog Alert! We recently migrated from using SWR to using Tanstack + @bufbuild connectrpc for all of our react hooks and data fetching and it's massively simplified things. Check out the blog that @NickZelei published detailing how we did it.
neosync.dev/blog/tanstack-qu…
Buf retweeted
Noodling on this a bit. I suspect they were seeing a lot of Buf Schema Registry (BSR) + Kafka usage and decided to lean in?
Didn't see this one coming. @bufbuild releasing a serverless @apachekafka product!
buf.build/blog/bufstream-kaf…
Buf retweeted
Didn't see this one coming. @bufbuild releasing a serverless @apachekafka product!
buf.build/blog/bufstream-kaf…
Buf retweeted
i'm obviously a little biased here, but this is a really great overview on protobuf editions and the user-facing considerations involved :)
Google is days away from releasing Protobuf Editions into open source. If you haven't heard about it, here's what you need to know: buf.build/blog/protobuf-edit…
Buf retweeted
If you work with protobuf, you need @bufbuild. Period.
Buf retweeted
Replying to @rawkode
:wave: We're a protobuf shop and expose our APIs using Connect by @bufbuild.
You can find our public docs here: buf.build/namespace/cloud
Suggestions welcome! We still have a bunch of work to do on those.
Meanwhile, a Typescript example: github.com/namespace-integra…
Buf retweeted
i've been contemplating lately that many folks don't know what i work on @bufbuild, so i wanted to make a little 🧵 about the Buf Schema Registry. while the name provides most of the info, i think a lot can be gained from explicitly outlining what the BSR can and can't do ⤵️
Buf retweeted
I did not fully understand the power of Buf CLI when it came out, but after using it for some time, this is now a must have tool for any gRPC related development for me. Along with Connect, it just makes working with gRPC a breeze. Kudos to the team @bufbuild!
Buf retweeted
Here we go. Arguably the worlds largest #golang Gopher at the #gophercon @bufbuild booth.
Come say hi and snap a 🤳📸.
@GopherCon 2023























