Vinod Chelladurai retweeted
wtf is in apple silicon? my single threaded code is 3x faster on macbook than on server while burning like half the power.
if apple bothered making a 64-core part they'd take over every datacenter
Vinod Chelladurai retweeted
Data pipelines will put you in the top 1% of the market.
If you could only learn one skill for the next decade, I can't think of anything more critical than learning to move and process data at scale.
I like to tell people I'm a Machine Learning Engineer, but in reality, 90% of the value I produce comes from my ability to move data around consistently and correctly.
In the field, we like to use the term "orchestration" when talking about coordinating workflows that move and process data. At a high level, there are three main steps you need to worry about:
1. Getting the data from its source
2. Processing and cleaning that data
3. Delivering the cleaned data to the right place
You might have also heard about "ETL" (Extract, Transform, Load). That's how most people refer to the process above.
Of course, building a simple ETL system isn't complex; most developers can do it without too much trouble. The problem is designing resilient, scalable, and fault-tolerant systems.
You can't code your way to a production-ready orchestration platform (ask me how I know.) I started with AirFlow and eventually moved to @kestra_io because of its event-driven architecture.
Event-driven means you can kick off a workflow automatically based on different triggers. For instance, when somebody uploads a new file to a folder, an app updates a database table, or there's a new message in a queue.
It's hard to summarize everything you get from Kestra, but here are some of the highlights:
• Kestra is free and open-source
• You install it from a Docker container
• Workflows as Code using YAML <--- this is awesome
• Scales to millions of executions
• It integrates with every cloud platform you've seen
• Language agnostic (but I still like Python the most)
Here is a link to their GitHub repository:
shortclick.link/4ls02n
Here are the three things I recommend:
1 - Take a look at their live demo in their GitHub repo
2 - Build a simple workflow (it will take 5 minutes)
3 - Talk to your boss. Where can you plug this into your company?
I started using Kestra at the height of the pandemic. It's an awesome tool, and I'm proud that they are sponsoring my writing. I hope you find it helpful as well.
Vinod Chelladurai retweeted
The biggest problem of #Java is poor perception. It's technically super-solid, but too often folks discard it based on misconceptions or information outdated years ago.
Vinod Chelladurai retweeted
Meet #ConfluentCatalyst @vintechie. Vinod shared how he got involved in the Apache Kafka/Apache Flink community, what he enjoys most about being a part of it, and his favorite project. Check out his story and learn more about our Catalysts of the week→ cnfl.io/3vV53uC
Vinod Chelladurai retweeted
Loved seeing everyone at #KafkaSummit ! Always a boost of energy to see the amazing Community. Special shoutout to this amazing group of people: The @confluentinc Catalysts 23-24. We missed everyone who couldn’t make it. See you next time! ❤️
Vinod Chelladurai retweeted
100+ resources to become a great engineering leader!
I've created a GitHub repo with 100+ resources to level up and become a great engineering leader!
P.S. We are already over 700 stars! Can we get to 1k? Repost so that anyone who needs it, gets it!
github.com/gregorojstersek/r…
Vinod Chelladurai retweeted
🐘 For CDC users, one of the most exciting features in #Postgres version 16 is the support for logical replication from stand-by servers (a.k.a. read replicas). I wrote a two-part series about this:
Part 1⃣ 👉 dcbl.link/logical-replicatio…
Part 2⃣ 👉 dcbl.link/logical-replicatio…
1/4
Vinod Chelladurai retweeted
The NVIDIA device plugin for Kubernetes is a Daemonset that allows you to automatically:
- Expose the number of GPUs on each node of your cluster
- Keep track of the health of your GPUs
- Run GPU-enabled containers in your Kubernetes cluster
➜ github.com/NVIDIA/k8s-device…
Vinod Chelladurai retweeted
#Java Tip: If you want to get the message of the root cause you can get it safely and easily using Apache Commons ExceptionUtils. The getRootCauseMessage(Exception ex) methods gives you the message in the form {ClassNameWithoutPackage}: {ThrowableMessage}
Vinod Chelladurai retweeted
10 years of blogging have taught me that teaching is a great way to learn.
Vinod Chelladurai retweeted
the mission continues
We remain committed to our partnership with OpenAI and have confidence in our product roadmap, our ability to continue to innovate with everything we announced at Microsoft Ignite, and in continuing to support our customers and partners. We look forward to getting to know Emmett Shear and OAI's new leadership team and working with them. And we’re extremely excited to share the news that Sam Altman and Greg Brockman, together with colleagues, will be joining Microsoft to lead a new advanced AI research team. We look forward to moving quickly to provide them with the resources needed for their success.
Vinod Chelladurai retweeted
Java 21 is now available! #Java21 #JDK21 #OpenJDK
Download Now: social.ora.cl/6018P4fbj
Release notes: social.ora.cl/6019P4fbd
API Javadoc: social.ora.cl/6011P4fb5
Features: social.ora.cl/6013P4fb9
Inside Java on JDK21: social.ora.cl/6016P4fbY
Java 21 now available
Vinod Chelladurai retweeted
The most useful software technique I learned as a software developer was to write integration tests.
The most successful projects I've seen are the ones that have a very solid test suite.
Vinod Chelladurai retweeted
👏Zero traffic cost for Kafka consumers👏
A superb write up on how Grab achieved 25% drop in cross-AZ traffic by enablin consumers to fetch from the closest replica🤯
Faced gotchas too: increased end-to-end latency, skewed load, lack of broker isolation
engineering.grab.com/zero-tr…
Vinod Chelladurai retweeted
Yeah, so I helped the Excel team with this. Excited that it's out! techcommunity.microsoft.com/…
Vinod Chelladurai retweeted
Sundar Pichai has unveiled a revolutionary #healthcare technology that employs #AI and eye scans to predict cardiovascular events with remarkable accuracy. This new development could potentially eliminate the necessity for CT scans, MRIs, and X-rays, enabling doctors to obtain a clear and comprehensive view of a patient's internal condition. Pichai emphasized that this breakthrough technology highlights the transformative potential of AI in revolutionizing patient care.
Vinod Chelladurai retweeted
The waiting is over. Apache Kafka 3.5.0 is available now, officially deprecating ZooKeeper.
Thanks to all 103 contributors and our RM @MickaelMaison!
For details, check out the release notes downloads.apache.org/kafka/3… and blog post kafka.apache.org/blog
Vinod Chelladurai retweeted
- 3 AM page 🚨
- Kafka broker is running out of disk (11.8TB out of 12TB used) 🚨
- You check everything: throughput, connections network. Nothing seems out of the ordinary 😥
- Retention settings are set to 1 day. It's one topic that hasn't been cleaned in weeks 🤷♂️
- You frantically Google, page, and ping team-mates 🙏
... until you figure out ...
the `log.message.timestamp.type` setting
This setting defines what the timestamp on a Kafka record is for storage purposes on the broker.
This timestamp is used, among other things, in the calculation of log retention.
That is, when you have `log.retention.hours=24`, Kafka will delete a log file only when the LARGEST (latest) timestamp of any record in that log file is older than 24 hours.
Back to the `timestamp.type`. There are two supported values:
🔸 LogAppendTime - the time at which the record was appended to the log (disk)
🔸CreateTime - the time that was provided by the Producer when constructing its message
The DEFAULT is CreateTime.
This means that if you have just one Producer client produce a message with a timestamp in the future -- e.g "01-01-2120" - your log file will never get deleted!
This is a common gotcha and can cost you a night's (or a few) sleep.
Ways to circumvent this:
💡- changing `log.message.timestamp.type` to AppendTime
💡- setting size-based retention limits too - `log.retention.bytes`
This will ensure you have a maximum upper bound per topic that you'll never breach 👌




























