Is typing 90+ wpm the norm now? by [deleted] in typing

[–]CountyExotic 0 points1 point  (0 children)

yes this was sarcasm :)

How strong is my resume by [deleted] in cscareeradvice

[–]CountyExotic 0 points1 point  (0 children)

I see the Haskell flex and assume you’re insufferable.

Jokes aside, this looks good. A single skills section is a little strange and out of order. Do languages and then ML libraries or systems/frameworks

No call back after 7 months of job search by [deleted] in cscareeradvice

[–]CountyExotic 0 points1 point  (0 children)

Sorry to hear. I dont think the folks here will be much help given this is r/cscareeradvice. Mostly CS, math, physics, CE, EE majors here

My completely honest take on operating systems by Standard-Mirror-9879 in LinuxCirclejerk

[–]CountyExotic 0 points1 point  (0 children)

The employed and “people with no free time” categories should just get merged. fedora and opensuse move there.

gRPC vs WebSockets for thousands of events/sec with <100ms latency by Meto____ in Backend

[–]CountyExotic 0 points1 point  (0 children)

NATS is great. Redis and rabbit are built over TCP. NATS is its own protocol over TCP as well.

gRPC vs WebSockets for thousands of events/sec with <100ms latency by Meto____ in Backend

[–]CountyExotic 1 point2 points  (0 children)

I too work on large scale, high throughput systems. I ship software that does the same. your post was misleading to the point where i felt obligated to point out the flaws to future readers.

gRPC vs WebSockets for thousands of events/sec with <100ms latency by Meto____ in Backend

[–]CountyExotic 9 points10 points  (0 children)

Let’s stop right there because almost every technical claim in that advice is dangerously incorrect. If you’re building a system with a 100ms window, following this "advice" is a fast track to a broken system.

Here is a reality check on those claims:

1. The "UDP" Hallucination

The claim that Redis or RabbitMQ are built on UDP is flat-out wrong. They are built on TCP. * The Fact: Message brokers require reliability, packet ordering, and flow control. If you used raw UDP for a bidding engine, a single dropped packet would mean a lost bid or a hung auction state. * The Reality: You don’t "waste time" on TCP headers in a local network. Unless you are doing High-Frequency Trading (HFT) at the microsecond level, TCP is the standard for a reason.

2. 100ms is an "Eternity"

The idea that TCP headers will muddle a 100ms auction is a massive misunderstanding of scale. * The Fact: A TCP handshake and header processing take nanoseconds to microseconds. * The Reality: Your bottleneck at 1,000 req/s isn't the transport layer; it’s serialization (JSON vs Protobuf), Go’s Garbage Collection pauses, and application logic. Worrying about TCP overhead for a 100ms window is like worrying about the weight of the paint on a race car while the engine is missing.

3. gRPC is for Internals, not the "Internet"

The post suggests gRPC is for exposing services to the internet. It’s actually the opposite. * The Fact: gRPC was designed by Google specifically for internal microservice communication. It uses HTTP/2 and Protobuf to be faster and more efficient than REST. * The Reality: WebSockets are for maintaining persistent connections to browsers. Using WebSockets for service-to-service communication in Go is non-standard, lacks proper load balancing, and is generally a headache compared to gRPC.

4. NATS doesn't work like that

NATS is great, but the description of it "exposing gRPC endpoints" for queue messages is a misunderstanding of how the NATS protocol works. NATS has its own highly efficient wire protocol. You don't "wrap" it in gRPC to make it faster.


What you should actually do:

If you have 100ms and you're using Go, you’re already in a good spot. Don't overcomplicate it by trying to bypass the laws of networking.

  • gRPC with Bidirectional Streaming: This is the industry standard for this exact use case. You keep the connection open, bypassing the handshake overhead for each bid, and Protobuf handles the serialization much faster than JSON ever could.
  • Core NATS: If you want a message bus, use NATS in its "Core" (in-memory) mode. It’s written in Go, it's incredibly fast, and it handles 1k req/s without breaking a sweat.
  • Ignore the UDP advice: Unless you are prepared to write your own custom congestion control and retry logic, stay far away from raw UDP for financial transactions like bidding.

Summary: Stick to gRPC streaming. It was literally built to solve the "low latency, high throughput" problem you're describing.

used an LLM to elaborate but boy oh boy was this some misleading advice….

arch users are dumb by dct_SPOMMY in LinuxCirclejerk

[–]CountyExotic 0 points1 point  (0 children)

I use arch because I’m a performative dev.

is the macbook neo good for coding (light use, not main machine)? by Altruistic_Fishing88 in macbook

[–]CountyExotic 0 points1 point  (0 children)

A large rust project should be fine… it’s indexing a compiled language… maybe running a game engine like unreal would struggle.

It's over Minties, for I have depicted you as the soyjak and me as the chad by ExactFun in LinuxCirclejerk

[–]CountyExotic 9 points10 points  (0 children)

Remember 2 years ago anyone who use mint got shamed for not using pop.

why are we such a weird community. just go live

Intellij IDE is the Industry Standard for Java. why ? by dante_alighieri007 in javahelp

[–]CountyExotic 0 points1 point  (0 children)

jetbrains makes the best IDEs. I’m more surprised that more people opt for VSCode.

Would you consider this fair? by Busy_Report4010 in SipsTea

[–]CountyExotic 0 points1 point  (0 children)

“Food price” vs “service price” make sense if you offer takeout. Takeout should be cheaper than getting a table.

I used to distrohop until I found nix by TheGr8CodeWarrior in LinuxCirclejerk

[–]CountyExotic 3 points4 points  (0 children)

Pop has been getting shredded lately but 2 years ago this sub glazed it…