Sabitlenmiş Tweet
Shashi Jakka । శశి జక్క
1.8K posts

Shashi Jakka । శశి జక్క
@ssJvirtually
Ig-Lin-fb-gh/ssJvirtually Java,JS,AWS 🎬movies 🎼music 🌏✈️travel ☮️ spiritual 💡 philosophy
Hyderabad Katılım Ocak 2013
904 Takip Edilen81 Takipçiler
Shashi Jakka । శశి జక్క retweetledi

A must read article for Spring Boot application developers by @vlad_mihalcea
Spring Boot Application Properties
vladmihalcea.com/spring-boot-ap…
English
Shashi Jakka । శశి జక్క retweetledi

Generally "reinventing the wheel" is not a recommended practice while building production systems.
But, for learning anything in-depth "reinventing the wheel" is a good approach.
We can simply use Claude Code CLI and ask any questions about the repository, generate README, etc.
I thought it could be a good idea to implement the same using Spring AI to explore some core AI concepts deeply.
So, I tried doing RAG by ingesting all the source code into a vector database and doing Q&A. Then I got to know that Tree Sitter based parsing is better suited than simple size-based chunking.
github.com/sivaprasadredd…
Its working okayish :-)
At Spring I/O Mark Pollack gave a workshop on automating the PR review process using Spring AI github.com/markpollack/ag…
So much to explore and learn...
Reinventing the wheel is good for learning.
English
Shashi Jakka । శశి జక్క retweetledi

Building agent-ready RAG in Java without pretending enterprise PDFs are already nice Markdown.
#Quarkus + #Docling + pgvector + #Ollama, with background indexing, readiness, retrieval logging, and guardrails. Small enough to run locally, shaped like something you can extend.
buff.ly/JpI936E
English
Shashi Jakka । శశి జక్క retweetledi
Shashi Jakka । శశి జక్క retweetledi

A Rust dev just killed Headless Chrome.
It's called Obscura. The open-source headless browser purpose-built for AI agents and scrapers at scale.
Chrome vs Obscura:
- Memory: 200MB+ → 30MB
- Binary: 300MB+ → 70MB
- Page load: 500ms → 85ms
- Startup: 2s → Instant
- Anti-detect: None → Built-in
Single binary. No Node, no Chrome, no dependencies.
Stealth mode is brutal:
→ Per-session fingerprint randomization (GPU, canvas, audio, battery)
→ 3,520 tracker domains blocked by default
→ navigator.webdriver masked to match real Chrome
→ Native function masking so detectors can't sniff it out
Drop-in replacement for Puppeteer and Playwright over CDP. Zero code changes.
If you run agents or serious scraping at scale, this repo prints money.
100% Opensource.

English
Shashi Jakka । శశి జక్క retweetledi

Karpathy didn't make a course.
He made THE course.
3 hours. Free.
Tokenization. Attention. Hallucinations. Tool use. RLHF. DeepSeek. AlphaGo.
Every behavior you've ever wondered about in an LLM - where it comes from, why it exists, how it was engineered.
The gap between engineers who understand this and engineers who don't isn't technical depth.
It's the ability to conceive of entirely different things.
English
Shashi Jakka । శశి జక్క retweetledi
Shashi Jakka । శశి జక్క retweetledi

PDFs are officially dead.
Someone just built a tool that turns PDFs into clean, structured Markdown
at 100 pages/sec 🤯
No GPU.
No API cost.
No messy parsing.
Just raw, usable data.
Here’s what it handles effortlessly:
• Tables → perfectly extracted
• Broken layouts → auto-fixed
• Nested data → structured cleanly
• Scanned chaos → turned readable
This isn’t a small upgrade.
This wipes out 90% of manual data cleaning overnight.
The tool is OpenDataLoader
And yes… it’s open-source.
Repo → github.com/opendataloader…

English
Shashi Jakka । శశి జక్క retweetledi

Two-Phase Commit (2PC) Achieving Strong Consistency Across Services
The Core Problem
In microservices, each service has its own database.
Example:
Order Service DB
Payment Service DB
Inventory Service DB
Now consider a transaction:
Place Order → Deduct Payment → Reserve Inventory
What if:
- Payment succeeds
- Inventory fails
System becomes inconsistent.
What 2PC Solves
Two-Phase Commit ensures:
Either all services commit
OR all services rollback
No partial success allowed.
2PC Architecture
There are two roles:
1. Coordinator
Central controller of the transaction.
Responsible for:
- Asking participants to prepare
- Deciding commit/rollback
2. Participants
Services involved in transaction.
Example:
Payment Service
Inventory Service
Order Service
Two Phases of 2PC
1. Phase 1 - Prepare Phase (Voting)
Coordinator asks:
Can you commit?
Each participant:
- Executes transaction locally
- Locks resources
- Responds:
YES (ready)
NO (fail)
2. Phase 2 - Commit Phase
If ALL say YES:
Coordinator → COMMIT
If ANY say NO:
Coordinator → ROLLBACK
Example Flow
Step-by-step:
1. Coordinator → Payment: Prepare?
2. Coordinator → Inventory: Prepare?
3. All say YES
4. Coordinator → Commit all
If failure:
Inventory says NO → rollback everything
Problems with 2PC
1. Blocking Problem
If coordinator crashes:
- Participants wait indefinitely.
- System gets stuck.
2. Performance Issues
- Requires locking resources
- Slow (two network round trips)
- Not scalable
3. Not Cloud-Friendly
Modern distributed systems avoid 2PC because:
- High latency
- Low availability
- Poor fault tolerance
2PC vs Modern Systems
Feature 2PC
Consistency Strong
Availability Low
Performance Slow
Scalability Limited
Where 2PC Is Used
Still used in:
- Banking systems
- Legacy enterprise systems
- Distributed SQL databases
Architect-Level Insight
2PC guarantees:
Strong consistency
But sacrifices:
Availability + performance
This is why modern systems prefer:
- Saga Pattern
- Eventual consistency
Final Insight
2PC is theoretically correct but practically restrictive.
Modern systems move from:
Strict consistency
to
Eventual consistency with compensation

English
Shashi Jakka । శశి జక్క retweetledi

Being a good #Java developer is not the same as being a strong interview candidate.
If you’re stuck between interviews and offers, you don’t need more grinding. You need clarity.
Book a Career Diagnosis Session here: bit.ly/4j5lLfb?utm_so…




English
Shashi Jakka । శశి జక్క retweetledi

🔥 Spring Boot looks simple… until the interviewer goes deep.
Here are **real Spring Boot internals questions** asked in recent interviews 👇
1. How does Spring Boot decide which **auto-configuration** to apply?
2. What happens internally when you add `spring-boot-starter-web`?
3. Why does Spring Boot prefer **convention over configuration**?
4. How does Spring Boot load `application[dot]properties` internally?
5. Exact **startup flow** of a Spring Boot application.
6. Difference between `@ComponentScan` and `@SpringBootApplication`.
7. How does Spring Boot detect **embedded Tomcat** and configure it?
8. What happens if two beans of the same type exist without `@Qualifier`?
9. How does Spring Boot handle **profile-specific configuration**?
10. What is the role of `SpringFactoriesLoader` under the hood?
11. Difference between `@RestController` and `@Controller` internally.
12. How does Spring Boot manage **dependency versions automatically**?
13. Lifecycle of a Spring Bean in Spring Boot.
14. How does Spring Boot handle **externalized configuration**?
15. Fat jar vs normal jar — internal difference.
16. How Spring Boot decides **server port priority**.
17. What happens internally when you hit a **REST endpoint**.
18. How Spring Boot integrates with **Actuator** internally.
19. How exception translation works in Spring Boot.
20. Common performance mistakes in Spring Boot applications.
💡 **Pro Tip:**
Knowing **internals** is what separates average from strong candidates.
If you can explain 10–15 of these confidently, you’re already ahead of 90% of Spring Boot developers.
📌 Save this for interviews
English
Shashi Jakka । శశి జక్క retweetledi

high performance, instant startup Gemma4 inference in pure Java & @GraalVM!🔥
Devoxx@Devoxx
🚀 Gemma4 Java runner: • Single file, no deps • E2B→31B + MoE • GGUF + quant (F16→Q8) • Vector API ⚡ • CLI + thinking modes • GraalVM native + instant TTFT Pure Java. No excuses 😏 github.com/mukel/gemma4.j… by @TheMukel ☕️🔥
English
Shashi Jakka । శశి జక్క retweetledi

Good to see a couple of articles I have written are referenced in @testcontainers skill reference materials:
github.com/spring-ai-comm…
English
Shashi Jakka । శశి జక్క retweetledi

My repo (👉github.com/piomin/claude-…) with Claude Code template for Spring Boot with instructions, skills, and subagents just crossed 1k⭐️

English
Shashi Jakka । శశి జక్క retweetledi
Shashi Jakka । శశి జక్క retweetledi

8 RAG architectures for AI Engineers:
(explained with usage)
1) Naive RAG
- Retrieves documents purely based on vector similarity between the query embedding and stored embeddings.
- Works best for simple, fact-based queries where direct semantic matching suffices.
2) Multimodal RAG
- Handles multiple data types (text, images, audio, etc.) by embedding and retrieving across modalities.
- Ideal for cross-modal retrieval tasks like answering a text query with both text and image context.
3) HyDE (Hypothetical Document Embeddings)
- Queries are not semantically similar to documents.
- This technique generates a hypothetical answer document from the query before retrieval.
- Uses this generated document’s embedding to find more relevant real documents.
4) Corrective RAG
- Validates retrieved results by comparing them against trusted sources (e.g., web search).
- Ensures up-to-date and accurate information, filtering or correcting retrieved content before passing to the LLM.
5) Graph RAG
- Converts retrieved content into a knowledge graph to capture relationships and entities.
- Enhances reasoning by providing structured context alongside raw text to the LLM.
6) Hybrid RAG
- Combines dense vector retrieval with graph-based retrieval in a single pipeline.
- Useful when the task requires both unstructured text and structured relational data for richer answers.
7) Adaptive RAG
- Dynamically decides if a query requires a simple direct retrieval or a multi-step reasoning chain.
- Breaks complex queries into smaller sub-queries for better coverage and accuracy.
8) Agentic RAG
- Uses AI agents with planning, reasoning (ReAct, CoT), and memory to orchestrate retrieval from multiple sources.
- Best suited for complex workflows that require tool use, external APIs, or combining multiple RAG techniques.
👉 Over to you: Which RAG architecture do you use the most?
_____
Share this with your network if you found this insightful ♻️
Find me → @akshay_pachaar ✔️
For more insights and tutorials on LLMs, AI Agents, and Machine Learning!

English
Shashi Jakka । శశి జక్క retweetledi
Shashi Jakka । శశి జక్క retweetledi

JavaClaw, a Java version of OpenClaw built on Spring Boot, Spring AI and JobRunr
javaclaw.io github.com/jobrunr/javacl…
English

browse Japanese TV Shows - Netflix
netflix.com/browse/genre/6…
English




