Ashmit JaiSarita Gupta

2K posts

Ashmit JaiSarita Gupta banner
Ashmit JaiSarita Gupta

Ashmit JaiSarita Gupta

@ashmitjsg

Post on Software Development, Quantum Computing and College Experience. | GSoC 24 @AsyncAPISpec | Ex-Quantum Computing Intern at @Creed_Bear Dubai | NITH'25

Azamgarh, India เข้าร่วม Mart 2021
579 กำลังติดตาม715 ผู้ติดตาม
ทวีตที่ปักหมุด
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Have you ever felt captivated inside yourself? Captivated inside the cage of wrong habits, indiscipline, failure. Trying hard to come out like a bee trapped in spiderweb, but failing to do so. I am in the same position rn.
English
4
0
18
5.2K
Ashmit JaiSarita Gupta รีทวีตแล้ว
Iran Embassy in Zimbabwe
Iran Embassy in Zimbabwe@IRANinZIMBABWE·
Next request, please.
Iran Embassy in Zimbabwe tweet media
English
243
1.8K
12.5K
622.4K
Bhargav Parshuram
Bhargav Parshuram@AtiKrodhiRishi·
60 days of crude gives some breathing space. But risks sit beyond storage. ➡️Shipping routes can get hit or blocked ➡️Insurance and freight costs can jump overnight ➡️Any disruption in the Gulf hits us first We need to push harder on supply side. ✅Faster clearances for domestic exploration ✅Scale up offshore drilling on east and west coast ✅Take more equity in oil fields abroad ✅Build stronger naval cover for key sea lanes ✅Expand strategic reserves beyond current levels 📌Energy security needs constant expansion, not comfort. 📌Are we moving fast enough on extraction and access?
English
1
0
1
518
Sidhant Sibal
Sidhant Sibal@sidhant·
Crude supplies have been secured for the next 60 days, say Indian officials
English
24
534
4.9K
82.4K
Ashmit JaiSarita Gupta รีทวีตแล้ว
FFmpeg
FFmpeg@FFmpeg·
FFmpeg is moving to Rust 🦀 Our use of C and Assembly in FFmpeg has been an unacceptable violation of safety. FFmpeg will be running 10x slower - but we're doing it for your safety. All your videos will appear green - safety first, working software later.
English
1.6K
3.7K
44.6K
1.9M
Ashmit JaiSarita Gupta รีทวีตแล้ว
takeUforward
takeUforward@takeUforward_·
We've opened our office at @takeUforward_ ❤️
English
52
50
1.7K
59.2K
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Every Kafka serializer I write follows the same pattern: JsonMapper.builder().findAndAddModules().build() The findAndAddModules() call picks up JavaTimeModule automatically. This handles Instant and LocalDateTime serialization without manual registration.
Ashmit JaiSarita Gupta@ashmitjsg

Chose to write custom Kafka serializers instead of using Spring's built-in JsonSerializer. Spring Boot 4 uses Jackson 3 (tools.jackson.*), which has API differences from Jackson 2. Custom serializers are explicit, predictable, and debuggable. No magic. No version conflicts.

English
0
0
2
43
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Chose to write custom Kafka serializers instead of using Spring's built-in JsonSerializer. Spring Boot 4 uses Jackson 3 (tools.jackson.*), which has API differences from Jackson 2. Custom serializers are explicit, predictable, and debuggable. No magic. No version conflicts.
Ashmit JaiSarita Gupta@ashmitjsg

Setting up the Kafka producer today. Key config decisions: - acks=all: wait for leader + replicas to confirm write - enable.idempotence=true: no duplicate messages on retry - retries=3: transient failures handled automatically This is the minimum config for a reliable producer.

English
0
0
2
66
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Setting up the Kafka producer today. Key config decisions: - acks=all: wait for leader + replicas to confirm write - enable.idempotence=true: no duplicate messages on retry - retries=3: transient failures handled automatically This is the minimum config for a reliable producer.
Ashmit JaiSarita Gupta@ashmitjsg

Used Lombok @Builder + final fields for the Kafka event DTO. Builder pattern avoids constructor explosion as the schema evolves. Immutability prevents accidental field mutation between creation and publishing. For request DTOs (user input), I keep them mutable for Jackson.

English
0
0
2
55
Ashmit JaiSarita Gupta รีทวีตแล้ว
Vanar Robots
Vanar Robots@vanar_robots·
Vanar Robots tweet media
ZXX
70
221
2K
171.2K
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Used Lombok @Builder + final fields for the Kafka event DTO. Builder pattern avoids constructor explosion as the schema evolves. Immutability prevents accidental field mutation between creation and publishing. For request DTOs (user input), I keep them mutable for Jackson.
Ashmit JaiSarita Gupta@ashmitjsg

Designing the RawLogEvent DTO that gets published to Kafka. Fields: eventId (UUID), tenantId, serviceName, environment, receivedAt (server time), logTimestamp (client time), level, message, trace. Two timestamps on purpose. The discrepancy tells you how delayed a log was.

English
0
0
1
76
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Designing the RawLogEvent DTO that gets published to Kafka. Fields: eventId (UUID), tenantId, serviceName, environment, receivedAt (server time), logTimestamp (client time), level, message, trace. Two timestamps on purpose. The discrepancy tells you how delayed a log was.
Ashmit JaiSarita Gupta@ashmitjsg

Built a RequestHeaderExtractor utility today. Instead of reading X-TENANT-ID in every controller method, a single utility extracts all required headers into an immutable RequestContext object. One place to add new required headers. One place to fix validation. Clean. #java

English
0
0
3
92
DevxChaudhary
DevxChaudhary@Dev26508818·
Having some fun in exploring ascii art , gotta say these are my favourite
DevxChaudhary tweet media
English
1
0
2
44
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Built a RequestHeaderExtractor utility today. Instead of reading X-TENANT-ID in every controller method, a single utility extracts all required headers into an immutable RequestContext object. One place to add new required headers. One place to fix validation. Clean. #java
Ashmit JaiSarita Gupta@ashmitjsg

One thing I was deliberate about: the ingestion endpoint returns 202, not 200. 202 means "accepted for processing" — the log is in Kafka, but downstream processing hasn't happened yet. Semantically honest. Don't tell the client something is done when it isn't. #api

English
0
0
2
100
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
One thing I was deliberate about: the ingestion endpoint returns 202, not 200. 202 means "accepted for processing" — the log is in Kafka, but downstream processing hasn't happened yet. Semantically honest. Don't tell the client something is done when it isn't. #api
Ashmit JaiSarita Gupta@ashmitjsg

Designed the ingestion API contract today. POST /api/v1/logs Required headers: X-TENANT-ID, X-SERVICE-NAME, X-ENVIRONMENT, X-API-KEY Body: timestamp, level, message, trace (optional) Response: 202 Accepted (async — we don't wait for Kafka confirmation) #api #backend

English
0
0
2
97
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Designed the ingestion API contract today. POST /api/v1/logs Required headers: X-TENANT-ID, X-SERVICE-NAME, X-ENVIRONMENT, X-API-KEY Body: timestamp, level, message, trace (optional) Response: 202 Accepted (async — we don't wait for Kafka confirmation) #api #backend
Ashmit JaiSarita Gupta@ashmitjsg

Starting the first service: ingestion-gateway. Responsibility: accept logs from client services via HTTP, validate them, and publish to Kafka. That's it. Single responsibility. No business logic, no storage, no auth complexity — just reliable ingestion. #microservices #java

English
0
0
1
90
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Starting the first service: ingestion-gateway. Responsibility: accept logs from client services via HTTP, validate them, and publish to Kafka. That's it. Single responsibility. No business logic, no storage, no auth complexity — just reliable ingestion. #microservices #java
Ashmit JaiSarita Gupta@ashmitjsg

One of the first design decisions: what should the Kafka partition key be? Options: eventId (random), serviceName, or tenantId. Chose tenantId. This guarantees all logs from one customer are processed in order. Critical for time-window clustering later. #kafka #systemdesign

English
0
0
2
78
Ishan
Ishan@ishandeveloper·
spent way too long on this interaction. zero regrets
English
6
3
48
5.1K
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
One of the first design decisions: what should the Kafka partition key be? Options: eventId (random), serviceName, or tenantId. Chose tenantId. This guarantees all logs from one customer are processed in order. Critical for time-window clustering later. #kafka #systemdesign
Ashmit JaiSarita Gupta@ashmitjsg

Set up the local Kafka stack today using Docker Compose. Confluent's cp-kafka + Zookeeper. Single broker, 1 replication factor for local dev. The first topic I created: raw-logs. Every log from every service on the platform will flow through this topic first. #kafka #backend

English
0
0
3
154
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta@ashmitjsg·
Set up the local Kafka stack today using Docker Compose. Confluent's cp-kafka + Zookeeper. Single broker, 1 replication factor for local dev. The first topic I created: raw-logs. Every log from every service on the platform will flow through this topic first. #kafka #backend
Ashmit JaiSarita Gupta@ashmitjsg

Naming the project: log0 - An intelligent incident copilot that turns raw logs into actionable incidents. It ingests high-volume logs from distributed services, normalises and clusters similar errors, and automatically creates incidents when recurring failures are detected.

English
0
0
7
250